Computer Science ›› 2016, Vol. 43 ›› Issue (7): 7-12.doi: 10.11896/j.issn.1002-137X.2016.07.001

Previous Articles     Next Articles

Survey of Management of Crosscutting Concerns

HE Cheng-wan   

  • Online:2018-12-01 Published:2018-12-01

Abstract: The key difference between AOSD (Aspect-Oriented Software Development) and OOSD (Object-Oriented Software Development) is the management of crosscutting concerns.The management of crosscutting concerns should run through the whole process in AOSD.Firstly,the definition and manifestations of crosscutting concerns at different stages of software development were summarized.Then,the most recent research advances of several key issues such as identification of crosscutting concerns in the requirements phase,behavioral constraints,and evolutionary mechanisms in the management of crosscutting concerns were surveyed.Finally,the future research directions were outlined,and the possible solutions to those key issues were proposed.

Key words: Aspect-oriented software development,Identification of crosscutting concerns,Behavioral constraints,Evolution,Goal model

[1] Tarr P,Ossher H,Harrison W,et al.N Degrees of Separation:Multi-Dimensional Separation of Concerns[C]∥Proc.21st International Conference on Software Engineering.May 1999:107-119
[2] Parnas D L.On the criteria to be used in decomposing systems into modules[J].Communications of the ACM,1972,5(12):1053-1058
[3] Kiczales G,Lamping J,Menhdhekar A,et al.Aspect oriented pro-gramming[C]∥Proceedings of ECOOP’97.Number 1241 in Lecture Notes in Computer Science,1997:220-242
[4] AspectJ team.The AspectJ Programming Guide.(2003).
[5] Aspect-Oriented Software Association.Aspect-oriented software development.(2015).
[6] Baniassad E L A,Clements P C,Joo Araújo,et al.Discovering early aspects[J].IEEE Software,2006,23(1):61-70
[7] Zhang C,Jacobsen H A.Mining Crosscutting Concerns throughRandom Walks[J].IEEE Transactions on Software Enginee-ring,2012,8(5):1123-1137
[8] Landuyt D V,Truyen E,Joosen W.Automating the Discovery of Stable Domain Abstractions for Reusable Aspects[C]∥Workshop on Aspect-Oriented Requirements Engineering and Architecture Design.Early Aspects at ICSE,2009:1-7
[9] Mussbacher,Amyot G.On Modeling Interactions of Early Aspects with Goals[C]∥Workshop on Aspect-Oriented Requirements Engineering and Architecture Design.Early Aspects at ICSE 2009,2009:14-19
[10] Van Landuyt D,Op de beeck S,Truyen E,et al.Domain-driven discovery of stable abstractions for pointcut interfaces[C]∥Proceedings of the 8th International Conference on Aspect-oriented Software Development(AOSD’09).ACM,2009:1-10
[11] Weston N,Chitchyan R,Rashid A.A Formal Approach to Semantic Composition of Aspect-Oriented Requirements[C]∥Proceedings of the 16th IEEE International Requirements Enginee-ring Conference.2008:173-182
[12] Yu Yi-jun,Sampaio J C,Mylopoulos J.From Goals to Aspects:Discovering Aspects from Requirements Goal Models[C]∥Proceedings of the 12th IEEE International Requirements Enginee-ring Conference.2004:38-47
[13] Kotonya G,Kotonya G,Sommerville I.Requirements Enginee-ring with Viewpoints[J].Software Engineering Journal,1996,11:5-18
[14] Schneider G,Winters J.Applying Use Cases:a practical guide[M].Addison-Wesley,1998
[15] Mylopoulos J.Goal-Oriented Requirements Engineering[C]∥Asia-Pacific Software Engineering Conference(APSEC).2005:3
[16] Koppen C,Stoerzer M.Pcdiff:Attacking the fragile pointcutproblem[C]∥EIWAS.2004:1-8
[17] Kellens A,Mens K,Brichau J,et al.Managing the Evolution of Aspect-Oriented Software with Model-based Pointcuts[C]∥Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP’06).2006:501-525
[18] Cazzola W,Pini S,Ancona M.AOP for Software Evolution:A Design Oriented Approach[C]∥Proceedings of the 2005 ACM Symposium on Applied Computing.2005:1346-1350
[19] Ubayashi N,Yasutaka K.An Extensible Aspect-Oriented Mo-deling Environment for Constructing Domain-Specific Languages[J].IEICE Transactions on Information and Systems,2012,E95-D(4):942-958
[20] Ubayashi N,Otsubo G,Noda K,et al.AspectM:UML-BasedExtensible AOM Language[C]∥23rd IEEE/ACM International Conference on Automated Software Engineering.2008:501-502
[21] Baniassad E,Clements P,Araújo J,et al.Discovering Early Aspects[J].Software,IEEE,2006,3(1):61-70
[22] Li Gang.Identification crosscutting concerns in requirementspecifications-a case study[D].Queen’s University,September 2009
[23] Rosenhainer L.Identifying crosscutting concerns in require-ments specifications[C]∥Proceedings of the Aspect-Oriented Requirements Engineering and Architecture Design Workshop.2004:24-28
[24] Cleland-HuangJ,Settimi R,Zou Xu-chang,et al.Automatedclassification of non-functional requirements[C]∥Proceeding of the 4th WSEAS International Conference on Computer Engineering and Applications(CEA’10).2010:137-142
[25] Duan Chuan,Cleland-Huang J.A clustering technique for early detection of dominant and recessive cross-cutting concerns[C]∥Aspect-oriented Requirements Engineering and Architecture Design.2007
[26] Baniassad E,Clarke S.Theme:an approach for aspect-oriented anylysis and design[C]∥Int’l Conf.on Software Eng..2004:158-167
[27] Abdelzad V,Aliee F S.A method based on petri nets for identification of aspects[J].Information Science and Technologies Bulletin of the ACM Slovakia,2010,2(1):43-49
[28] Zhang C,Jacobsen H A,Yu Y.Linking goals to aspects[C]∥Presented at Workshop on Early Aspects:Aspect-Oriented Requirements Engineering and Architecture Design,Held in Conjunction with AOSD Conference.2005:1-6
[29] Nora B,Said G,Fadia A.A comparative classification of aspect mining approaches[J].Journal of Computer Science,2006,2(4):322-325
[30] He Cheng-wan,Tu Cheng-mao.GPRN:A hierarchical frame-work for aspect-oriented requirement modeling[J].InternationalJournal of Digital Content Technology and its Applications,2011,5(2):165-172
[31] Tessier F,Badri M,Badri L.A Model-Based Detection of Conflicts Between Crosscutting Concerns:Towards a Formal Approach[C]∥International Workshop on Aspect-oriented Software Development.Peking University,China,September 2004
[32] Durr P E A,Bergmans L M J,Aks,it M.Reasoning about Semantic Conflicts between Aspects[C]∥Proceedings of the First Aspect,Dependencies,and Interactions Workshop.2006:10-18
[33] Aksit M,Bergmans L,Vural S.An Object-Oriented Language-Database Integration Model:The Composition-Filters Approach[M]∥ ECOOP’92 European Conference on Ojbect-Oriented Programming.Springer-Verlag,1992:372-395
[34] Mitchell R,McKim J.Design by Contract by Example[M].Boston:Addison-Wesley,2002
[35] Findler R B,Latendresse M,Felleisen M.Behavioral contracts and behavioral subtyping[C]∥Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering.2001:229-236
[36] Liskov B H,Wing J M.A behavioral notion of subtyping[J].ACM Transactions on Programming Languages and Systems (TOPLAS),1994,16(6):1811-1841
[37] Leavens G T,Cheon Y.Design by Contract with JML.(2006).
[38] Zhao Jian-jun,Rinard M.Pipa:A Behavioral Interface Specification Language for AspectJ[C]∥6th International Conference(FASE).2003:150-165
[39] He Cheng-wan,Li Zheng.Implementation of Behavioral Subty-ping in Aspect-oriented Program[J].International Journal of Digi-tal Content Technology and its Applications,2011,5(2):206-215
[40] Bois B D,Van Gorp P,Amsel A,et al.A Discussion of Refacto-ring in Research and Practice.(2004).
[41] Mens T,Tourwe T.A Survey of Software Refactoring[J].IEEE Transactions on Software Engineering,2004,30(2):126-139
[42] Ali B S,Kasirun Z M D.An approach for crosscutting concernidentification at requirements level using NLP[J].International Journal of the Physical Sciences,2011,6(11):2718-2730
[43] Masuhara H,Kawauchi K.Data flow pointcut in Aspect-oriented programming[C]∥APLAS’03.2003:105-121
[44] Beugnard A.How to make Aspects re-usable,a Proposition[C]∥Proceedings of the Aspect-oriented Programming Workshop at ECOOP.1999
[45] Aotani T,Masuhara H.SCoPE:An AspectJ compiler for sup-porting user-defined analysis-based pointcuts[C]∥International Conference on Aspect-Oriented Software Development.2007:161-172
[46] Wang Lin,Aotani T.Automatic translation from name-basedpointcuts to analysis-based pointcuts for robust aspects[C]∥Proceedings of the 8th Workshop on Reflection,AOP and Meta-Data for Software Evolution.2011
[47] Jin Zhi,Bell D A,Wilkie F G,et al.Automated RequirementsElicitation:Combining a Model-driven Approach with Concept Reuse[J].International Journal of Software Engineering and Knowledge Engineering,2003,3(1):53-82
[48] Jin Zhi.Revisiting the Meaning of Requirements[J].Journal of Computer Science and Technology,2006,21(1):32-40
[49] 金芝,刘璘,金英.软件需求工程:原理和方法[M].北京:科学出版社,2008
[50] Mei Hong,Cao Dong-gang.BC-S2C:Enabling Separation ofCrosscutting Concerns in Component-Based Software Development[J].Chinese Journal of Computers,2005,28(12):2036-2044(in Chinese) 梅宏,曹东刚.ABC-S2C:一种面向贯穿特性的构件化软件关注点分离技术[J].计算机学报,2005,28(12):2036-2044
[51] Cui Zhan-qi,Wang Lin-zhang,Liu Hui-gen,et al.Computational Error Handling as Aspects:A Case Study and Evaluation[J].Journal of Software,2011,2(11):2639-2651(in Chinese) 崔展齐,王林章,刘慧根,等.面向方面的计算误差处理技术:实例研究与评估[J].软件学报,2011,22(11):2639-2651
[52] He Cheng-wan,Tu Cheng-mao.AspectQuery:A Method forIdentification of Crosscutting Concerns in the Requirement Phase[J].IEICE Transactions on Information and Systems,2013,E96-D(4):897-905
[53] He Cheng-wan,Zhang Li-jun,Zhang Hui.An Approach to Aspect-Oriented Software Evolution Based on Metadata and Reflection[J].A cta Electronica Sinica,2011,39(8):1771-1777(in Chinese)何成万,张立军,张慧.基于元数据和反射的面向方面软件演化方法[J].电子学报,2011,39(8):1771-1777
[54] Baniassad E,Clarke S.Finding Aspects in Requirements with Theme/Doc[C]∥Proceedings of Early Aspects 2004:Aspect-oriented Requirements Engineering and Architecture Design.2004
[55] Elrad T,Filman E R,Bader A.Aspect-oriented programming:Introduction[J].Communications of the ACM,2001,44(10):29-32
[56] Sampaio A,Rashid A,Chitchyan R.EA-Miner:Towards Automation in Aspect-Oriented Requirements Engineering[J].Transactions on Aspect-Oriented Software Development III,2007,4620:4-39
[57] Mylopoulos J.Goal-Oriented Requirements Engineering[C]∥12th Asia-Pacific Software Engineering Conference(APSEC).2005:3
[58] Anton A I,McCracken W M,Potts C.Goal Decomposition and Scenario Analysis in Business Process Reengineering[M]∥Advanced Information Systems Engineering.Springer-Verlag,1994:94-104
[59] Liu Wei,He Ke-qing,Wang Jian,et al.Heavyweight Semantic Inducement for Requirement Elicitation and Analysis[C]∥Third International Conference on Semantics,Knowledge and Grid.2007:206-211
[60] Rebêlo H,Lima R,Leavens G T.Modular contracts with procedures,annotations,pointcuts and advice[C]∥Proceedings of the 2011 Brazilian Symposium on Programming Languages.2011:1-16
[61] Khatchadourian R,Greenwood P,Rashid A,et al.Pointcut Rejuvenation:Recovering Pointcut Expressions in Evolving Aspect-Oriented Software[J].Sactions on Software Engineering,2012,38(3):642-656
[62] Wang L,Aotani T,Suzuki M.Interaction awareness for aspect refactoring[C]∥Proceedings of the 8th International Workshop on Advanced Modularization Techniques-AOAsia/Pacific.New York:ACM,2013:15-18
[63] Lee J,Hsu K.GEA:A Goal-Driven Approach to Discovering Early Aspect[J].IEEE Transactions on Software Engineering,2014,0(6):584-602

No related articles found!
Full text



No Suggested Reading articles found!