Modeling for dynamic aspect-oriented development

Aspect Oriented Software Development (AOSD) has its roots in the need to deal with requirements that cut across the primary modularization of a software system. On the programming level, mature, industrial-strength tools like the de-facto standard AspectJ exist. However, on the modeling level, there is as yet little support for AOSD. Building on previous work, this paper develops UML modeling support for dynamic AOSD, using standard UML extension mechanisms. We present a generic profile that allows existing UML tools to express AOSD models. We also provide automatic code generation into AspectS, an aspect extension to Smalltalk, and AspectML, an aspect oriented flavor of the ML language. Examples throughout the paper illustrate our approach.

[1]  Jörg Kienzle,et al.  From AOP to UML - A Bottom-Up Approach , 2002 .

[2]  David Walker,et al.  AspectML: A polymorphic aspect-oriented functional programming language , 2008, TOPL.

[3]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[4]  Yan Han,et al.  Towards Visual AspectJ by a Meta Model and Modeling Notation , 2005 .

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

[6]  YAN Han A Meta Model and Modeling Notation for AspectJ , 2004 .

[7]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[8]  Jacques Noyé,et al.  Dynamic AspectJ , 2008, DLS '08.

[9]  Laurence Duchien,et al.  An UML Notation for Aspect-Oriented Software Design , 2002 .

[10]  Wilson C. Hsieh,et al.  Runtime aspect weaving through metaprogramming , 2002, AOSD '02.

[11]  John C. Grundy,et al.  Developing software components with the UML, Enterprise Java Beans and aspects , 2001, Proceedings 2001 Australian Software Engineering Conference.

[12]  Arturo Sanchez,et al.  Incorporating Aspects into the UML , 2003 .

[13]  Robert Hirschfeld,et al.  Aspect-Oriented Programming with AspectS , 2002 .

[14]  Shigeru Chiba,et al.  A Selective, Just-in-Time Aspect Weaver , 2003, GPCE.

[15]  Antonia M. Reina Quintero,et al.  Towards developing generic solutions with aspects , 2004 .

[16]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[17]  Tzilla Elrad,et al.  A UML Profile for Aspect Oriented Modeling , 2001 .

[18]  N. Bencomo,et al.  Reflection and aspects meet again: runtime reflective mechanisms for dynamic aspects , 2005, AOMD '05.

[19]  Ivan Kiselev,et al.  Aspect-Oriented Programming with AspectJ , 2002 .

[20]  Jörg Kienzle,et al.  Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling , 2008 .

[21]  Joerg Evermann,et al.  A meta-level specification and profile for AspectJ in UML , 2007, J. Object Technol..