Modeling and integrating aspects with UML activity diagrams

Dealing with crosscutting concerns has been a critical problem in software development processes. Aspect-Oriented Programming (AOP) provides a viable programming-level solution by separating crosscutting concerns from primary concerns. To facilitate handling crosscutting concerns at earlier software development phases, this paper proposes an aspect-oriented modeling and integration approach at the design level. In our approach, primary concerns are depicted with UML activity diagrams as primary models, whereas crosscutting concerns are described with aspectual extended activity diagrams as aspect models. Each aspect model consists of pairs of pointcut and advice model. Aspect models can be integrated into primary models automatically. To this end, a prototype tool called Jasmine-AOI has been implemented as an Eclipse plug-in. With the tool support, we have conducted two case studies, including 15 primary models and 8 aspect models. The case studies demonstrate that our approach can greatly facilitate reasoning about crosscutting concerns when a system is modeled with activity diagrams.

[1]  Dianxiang Xu,et al.  Model Checking Aspect-Oriented Design Specification , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[2]  Jacques Klein,et al.  Semantic-based weaving of scenarios , 2006, AOSD.

[3]  João Araújo,et al.  An expressive aspect composition language for UML state diagrams , 2007, MODELS'07.

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

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

[6]  R. France,et al.  Aspect-oriented approach to early design modelling , 2004, IEE Proc. Softw..

[7]  Alexander Knapp,et al.  Enhancing UML state machines with aspects , 2007, MODELS'07.

[8]  Robert B. France,et al.  Directives for Composing Aspect-Oriented Design Class Models , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[9]  Dianxiang Xu,et al.  State-based incremental testing of aspect-oriented programs , 2006, AOSD.

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

[11]  Stefan Hanenberg,et al.  Expressing different conceptual models of join point selections in aspect-oriented design , 2006, AOSD.

[12]  Ivar Jacobson,et al.  Aspect-oriented software development with use cases , 2005, Addison Wesley object technology series.

[13]  Ella E. Roubtsova,et al.  CSP parallel composition of aspect models , 2008, AOM@AOSD.

[14]  Lidia Fuentes,et al.  Towards executable aspect-oriented UML models , 2007 .

[15]  Dianxiang Xu,et al.  Threat-driven modeling and verification of secure software using aspect-oriented Petri nets , 2006, IEEE Transactions on Software Engineering.

[16]  Jean-Marc Jézéquel,et al.  Model driven design and aspect weaving , 2008, Software & Systems Modeling.