Extensions of UML to Model Aspect-oriented Software Systems

Aspect-Oriented Programming (AOP) has arisen as a new technology to support a better SoC (Separation of Concerns), intending to contribute to the development of reusable, maintainable, and evolvable software systems. Aspects have been also explored in the early life cycle phases, aiming at contributing to a more adequate development of aspect-oriented software systems. In this perspective, in order to better represent these systems, a diversity of extensions of the UML (Unified Modeling Language) has been proposed; however, there is a lack of a complete panorama that identify all these extensions. This paper presents an overview about which are possibly all extensions of the UML to represent aspect-oriented software systems. For this, we have used a technique proposed by Evidence-Based Software Engineering (EBSE): the Systematic Mapping. As achieved results, we can observe a diversity of work; however, there is not a consensus about which are the more adequate or more used extensions. Based on this overview, interesting and important perspectives for future research can also be found.

[1]  Siobhán Clarke,et al.  Model-Driven Theme/UML , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[2]  Yang Xu,et al.  Towards Aspect Oriented Web Service Composition with UML , 2007, 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007).

[3]  Stefan Hanenberg,et al.  State charts as an intermediate representation of JPDDs which help developers to map them to executable artifacts , 2008 .

[4]  Klaas Sikkel,et al.  A systematic mapping study on empirical evaluation of software requirements specifications techniques , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[5]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

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

[7]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[8]  Jingjun Zhang,et al.  The realization of Aspectual State Model with UML extension mechanism , 2009, 2009 4th IEEE Conference on Industrial Electronics and Applications.

[9]  Shmuel Katz,et al.  A concern architecture view for aspect-oriented software design , 2007, Software & Systems Modeling.

[10]  Miguel Toro,et al.  Fault tolerance as an aspect using JReplica , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

[11]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[12]  Michael A. Hoffman,et al.  Extending UML for Aspect Oriented Software Modeling , 2009, 2009 WRI World Congress on Computer Science and Information Engineering.

[13]  Joerg Evermann A meta-level specification and profile for AspectJ in UML , 2007 .

[14]  Tetsuo Tamai,et al.  Aspect-oriented software design with a variant of UML/STD , 2006, SCESM '06.

[15]  Jun Qin,et al.  Approach on modeling crosscutting features in concurrent system , 2010, The 6th International Conference on Networked Computing and Advanced Information Management.

[16]  Zhang Yang,et al.  Aspect-Oriented Requirements Modeling , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[17]  Rosângela Dellosso Penteado,et al.  An overview and an empirical evaluation of UML-AOF: an UML profile for aspect-oriented frameworks , 2010, SAC '10.

[18]  Gaston H. Gonnet,et al.  CLEI electronic journal , 2011 .

[19]  Jun Xiao,et al.  Incorporating aspects into UML state machine , 2010, 2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE).

[20]  Mohammad Zulkernine,et al.  A model-based aspect-oriented framework for building intrusion-aware software systems , 2009, Inf. Softw. Technol..

[21]  Yadran Eterovic,et al.  Modeling aspects with UML's class, sequence and state diagrams in an industrial setting , 2007, ICSE 2007.

[22]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

[23]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

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

[25]  István Majzik,et al.  Design and analysis of fault tolerant architectures by model weaving , 2005, Ninth IEEE International Symposium on High-Assurance Systems Engineering (HASE'05).

[26]  Roy Grønmo,et al.  Aspect Diagrams for UML Activity Models , 2007, AGTIVE.

[27]  Jing Xu,et al.  Performance analysis of security aspects by weaving scenarios extracted from UML models , 2009, J. Syst. Softw..

[28]  Ingolf Krüger,et al.  Modeling crosscutting services with UML sequence diagrams , 2005, MoDELS'05.

[29]  Dianxiang Xu,et al.  Modeling and integrating aspects with UML activity diagrams , 2009, SAC '09.

[30]  John Grundy,et al.  An aspect-oriented UML tool for software development with early aspects , 2006, EA '06.

[31]  Su Yang,et al.  Research on Modeling Traversing Features in Concurrent Software System , 2008, CSSE 2008.

[32]  Wasif Afzal,et al.  A Systematic Mapping Study on Non-Functional Search-based Software Testing , 2008, SEKE.

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

[34]  Siobhán Clarke,et al.  Composition patterns: an approach to designing reusable aspects , 2001, ICSE 2001.

[35]  Jan Jürjens Model-Based Security Engineering with UML: Introducing Security Aspects , 2005, FMCO.

[36]  Hafiz Farooq Ahmad,et al.  Representing Shared Join Points with State Charts: A High Level Design Approach , 2008 .

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

[38]  Wouter Joosen,et al.  Generic Reusable Concern Compositions , 2008, ECMDA-FA.

[39]  Hui Li,et al.  Aspect-oriented modeling in software architecture pattern based on UML , 2010, 2010 The 2nd International Conference on Computer and Automation Engineering (ICCAE).

[40]  Lirong Dai,et al.  Modeling and Analysis of Performance Aspects for Software Architecture: a Uml-based Approach , 2006, Int. J. Softw. Eng. Knowl. Eng..

[41]  Dianxiang Xu,et al.  Testing Aspect-Oriented Programs with UML Design Models , 2008, Int. J. Softw. Eng. Knowl. Eng..

[42]  Joerg Evermann,et al.  Modeling for dynamic aspect-oriented development , 2009, C3S2E '09.

[43]  José Uetanabara Júnior,et al.  UML-AOF: a profile for modeling aspect-oriented frameworks , 2009, AOM '09.

[44]  Jean-Marc Jézéquel,et al.  A toolkit for weaving aspect oriented UML designs , 2002, AOSD '02.

[45]  Lingyu Wang,et al.  Weaving security aspects into UML 2.0 design models , 2009, AOM '09.

[46]  Ping Zhang,et al.  Understanding the aspects from various perspectives in aspects-oriented software reverse engineering , 2010, 2010 International Conference on Computer Application and System Modeling (ICCASM 2010).

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

[48]  Elisa Baniassad,et al.  Aspect-Oriented Analysis and Design , 2005 .

[49]  V. de Paula,et al.  Revisiting a Formal Framework for Modeling Aspects in the Design Phase , 2007, Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design (EARLYASPECTS'07).

[50]  João Araújo,et al.  aspect- oriented pr ogramming , 2006 .

[51]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[52]  Ugrasen Suman,et al.  Representing join point in UML using pointcuts , 2010, 2010 International Conference on Computer and Communication Technology (ICCCT).

[53]  Pauline Anthonysamy,et al.  Aspect-oriented use case modeling for software product lines , 2008, EA@AOSD.

[54]  Pearl Brereton,et al.  Using Mapping Studies in Software Engineering , 2008, PPIG.

[55]  Pedro J. Clemente,et al.  Driving Component Composition from Early Stages Using Aspect-Oriented Techniques , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[56]  Pauline Anthonysamy,et al.  An approach for aspect-oriented use case modeling , 2008, EA '08.

[57]  Zhang Jingjun,et al.  Research on Aspect Connectors for Software Architecture Adaptation , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).

[58]  Dorina C. Petriu,et al.  Performance analysis of aspect-oriented UML models , 2007, Software & Systems Modeling.

[59]  Jan Jüriens Model-based security engineering with UML : Introducing security aspects , 2006 .

[60]  Wang Rui,et al.  Extending UML for Aspect-Oriented Architecture Modeling , 2009, 2009 Second International Workshop on Computer Science and Engineering.

[61]  Lina Nemuraite,et al.  Aspect-Oriented Use Cases and Crosscutting Interfaces for Reconfigurable Behavior Modeling , 2007, DB&IS.

[62]  Ahmed R. Dawood,et al.  Aspect oriented GoF design patterns , 2010, 2010 The 7th International Conference on Informatics and Systems (INFOS).

[63]  Stefan Hanenberg,et al.  Join Point Designation Diagrams: a Graphical Representation of Join Point Selections , 2006, Int. J. Softw. Eng. Knowl. Eng..

[64]  Adam Przybylek Separation of crosscutting concerns at the design level: An extension to the UML metamodel , 2008, 2008 International Multiconference on Computer Science and Information Technology.

[65]  K. Gowthaman,et al.  Reengineering legacy source code to model driven architecture , 2005, Fourth Annual ACIS International Conference on Computer and Information Science (ICIS'05).

[66]  S Meier Aspect-oriented requirements modeling , 2009 .

[67]  Anis Charfi,et al.  Applying and evaluating AOM for platform independent behavioral UML models , 2008 .

[68]  Elena Navarro,et al.  Requirements and Scenarios: Running Aspect-Oriented Software Architectures , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[69]  N. Albunni,et al.  Using UML for Modelling Cross-Cutting Concerns in Aspect Oriented Software Engineering , 2008, 2008 3rd International Conference on Information and Communication Technologies: From Theory to Applications.

[70]  W. Eric Wong,et al.  Flexible Aspect-Oriented Design Model Checking , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[71]  Yi Zhou,et al.  Realizing extension use cases with AOP , 2008, 2008 IEEE International Symposium on IT in Medicine and Education.

[72]  Paniti Netinant,et al.  Separation of concerns in automation of code generation , 2008 .

[73]  Sita Ramakrishnan,et al.  Towards engineering models of aspectual pervasive software services , 2008, SEPS '08.

[74]  Jingjun Zhang,et al.  Using Sequence Diagram to Support Aspect-Oriented Programming in MDA , 2009, 2009 International Conference on Intelligent Human-Machine Systems and Cybernetics.

[75]  Natalia Juristo Juzgado,et al.  Developing search strategies for detecting relevant experiments , 2009, Empirical Software Engineering.

[76]  Yang Zhang,et al.  Aspect-oriented modeling and mapping driven by Model Driven Architecture , 2009, 2009 2nd IEEE International Conference on Computer Science and Information Technology.

[77]  Chang Liu,et al.  Towards a Framework of Aspect-Oriented Modeling with UML , 2008, 2008 International Symposium on Computer Science and Computational Technology.

[78]  Marco A. Wehrmeister,et al.  An Aspect-Oriented Approach for Dealing with Non-Functional Requirements in a Model-Driven Development of Distributed Embedded Real-Time Systems , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

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

[80]  Lidia Fuentes,et al.  Designing and Weaving Aspect-Oriented Executable UML Models , 2007, J. Object Technol..

[81]  Xin Peng,et al.  A Unified Formal Model for Supporting Aspect-Oriented Dynamic Software Architecture , 2007, 2007 International Conference on Convergence Information Technology (ICCIT 2007).

[82]  Tzilla Elrad,et al.  Aspect-oriented modeling with uml , 2002 .

[83]  Tzilla Elrad,et al.  Aspect-Oriented Modeling: Bridging the Gap between Implementation and Design , 2002, GPCE.

[84]  Narayan C. Debnath,et al.  Metrics applied to Aspect Oriented Design using UML profiles , 2008, 2008 IEEE Symposium on Computers and Communications.

[85]  Chien-Min Wang,et al.  Conformance Checking of Running Programs in Dynamic Aspect-Oriented Systems , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[86]  Paul Clements,et al.  Documenting Component and Connector Views with UML 2.0 , 2004 .

[87]  Tore Dybå,et al.  Evidence-Based Software Engineering for Practitioners , 2005, IEEE Softw..

[88]  Jingjun Zhang,et al.  Modeling Aspect-Oriented Programming with UML Profile , 2009, 2009 First International Workshop on Education Technology and Computer Science.

[89]  Farida Mostefaoui,et al.  Design-Level Detection of Interactions in Aspect-UML Models Using Alloy , 2007, J. Object Technol..

[90]  Lingyu Wang,et al.  Aspect weaver: a model transformation approach for UML models , 2010, CASCON.

[91]  Lidia Fuentes,et al.  Execution and simulation of (profiled) UML models using pópulo , 2008, MiSE '08.

[92]  Zunhong Deng,et al.  Aspect-oriented Technology-Based Production System Simulation Modeling Method , 2010, 2010 International Conference on E-Business and E-Government.

[93]  L. Fuentes,et al.  Towards the Architectural Definition of the Health Watcher System with AO-ADL , 2007, Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design (EARLYASPECTS'07).

[94]  João Araújo,et al.  MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[95]  Gefei Zhang Towards aspect-oriented class diagrams , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[96]  Bin Wang,et al.  A Formal Description Method for Aspect-Oriented Statechart Based on CSP , 2008, 2008 International Symposium on Computer Science and Computational Technology.

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

[98]  Lichen Zhang Aspect-Oriented Analysis for Embedded Real-Time Systems , 2008, 2008 Advanced Software Engineering and Its Applications.

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

[100]  李凡,et al.  Aspect-oriented software reverse engineering , 2006 .

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

[102]  Aamer Nadeem,et al.  UML extensions for modeling of aspect oriented software: a survey , 2010, NSEC '10.

[103]  Eduardo Martins Guerra,et al.  A Collaborative Support Approach on UML Sequence Diagrams for Aspect-Oriented Software , 2009, ER Workshops.

[104]  H. Sharif,et al.  Aspect-Oriented Requirements Engineering: A Use Case Based Approach , 2005, 2005 Pakistan Section Multitopic Conference.

[105]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[106]  Abdelwahab Hamou-Lhadj,et al.  Extending the UML Metamodel to Provide Support for Crosscutting Concerns , 2010, 2010 Eighth ACIS International Conference on Software Engineering Research, Management and Applications.