There are no Aspects

In this paper, we claim that a specialized aspect module is not required. Instead, we propose an expressive aspect-oriented composition mechanism which can be applied upon existing modules. At the design level, the CoCompose modeling framework is introduced which is based on Model Driven Development. CoCompose allows step-wise refinement from a high-level design to the lowest level design or code level. Using these refinements, CoCompose postpones the decision concerning the modularization construct that is chosen for a particular concern. At the lowest level design however, a specialized aspect modularization construct still needs to be chosen because current aspect-oriented technologies typically introduce an aspect module. For resolving this issue, the FuseJ programming language is proposed that allows implementing all possible concerns as regular components. FuseJ introduces an expressive component composition mechanism that supports both regular and aspect-oriented compositions between components. As such, a seamless transition from design to implementation is achieved because no specialized aspect modules exist both at the design and implementation level.

[1]  Noël Plouzeau,et al.  UMLAUT: a framework for weaving UML-based aspect-oriented designs , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[2]  Bart De Decker,et al.  Building frameworks in aspectJ , 2001 .

[3]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[4]  Wim Vanderperren,et al.  Combining AOSD and CBSD in PacoSuite through Invasive Composition Adapters and JAsCo , 2003 .

[5]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[6]  Peter Norvig,et al.  Applying Aspect-Oriented Programming to Intelligent Synthesis , 2000 .

[7]  Bedir Tekinerdogan,et al.  Aspect Composition using Comparition Filters , 2002 .

[8]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[9]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[10]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[11]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[12]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[13]  Stanley M. Sutton,et al.  Modeling of software concerns in Cosmos , 2002, AOSD '02.

[14]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[15]  Davy Suvée,et al.  FuseJ : Achieving a Symbiosis between Aspects and Components , 2003 .

[16]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[17]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[18]  Dennis Wagelaar A Concept-Based Approach to Software Design , 2003 .

[19]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[20]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[21]  Gabor Karsai,et al.  Generative Programming via Graph Transformations in the Model-Driven Architecture , 2002 .

[22]  Uwe Aßmann,et al.  Invasive Software Composition , 2003, Springer Berlin Heidelberg.

[23]  Siobhán Clarke,et al.  Towards a standard design language for AOSD , 2002, AOSD '02.

[24]  Francesco Marcelloni,et al.  Deferring elimination of design alternatives in object‐oriented methods , 2001, Concurr. Comput. Pract. Exp..

[25]  Olivier Motelet,et al.  A Formal Definition of Crosscuts , 2001, Reflection.

[26]  M. Cibrán,et al.  Aspect-Oriented Programming for Connecting Business Rules , 2003 .

[27]  P. S. Caro Adding systemic crosscutting and super-imposition to composition filters , 2001 .

[28]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[29]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.