MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation

This paper describes MATA (Modeling Aspects Using a Transformation Approach), a UML aspect-oriented modeling (AOM) technique that uses graph transformations to specify and compose aspects. Graph transformations provide a unified approach for aspect modeling in that the methods presented here can be applied to any modeling language with a well-defined metamodel. This paper, however, focuses on UML class diagrams, sequence diagrams and state diagrams. MATA takes a different approach to AOM since there are no explicit joinpoints. Rather, any model element can be a joinpoint, and composition is a special case of model transformation. The graph transformation execution engine, AGG, is used in MATA to execute model compositions, and critical pair analysis is used to automatically detect structural interactions between different aspect models. MATA has been applied to a number of realistic case studies and is supported by a tool built on top of IBM Rational Software Modeler.

[1]  Jing Zhang,et al.  Aspect Composition in the Motorola , 2007 .

[2]  João Araújo,et al.  Modeling and composing scenario-based requirements with aspects , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[3]  Hartmut Ehrig,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 2000 .

[4]  Daniel Amyot,et al.  Flexible and Expressive Composition Rules with Aspect-oriented Use Case Maps (AoUCM) , 2007, EA@AOSD.

[5]  Indrakshi Ray,et al.  Verifiable composition of access control and application features , 2005, SACMAT '05.

[6]  Roberto Erick Lopez-Herrejon,et al.  Modeling features in aspect-based product lines with use case slices: an exploratory case study , 2006, MoDELS'06.

[7]  Dániel Varró,et al.  Advanced model transformation language constructs in the VIATRA2 framework , 2006, SAC.

[8]  Mario Südholt,et al.  An expressive aspect language for system applications with Arachne , 2005, AOSD '05.

[9]  Rémi Douence,et al.  Composition, reuse and interaction analysis of stateful aspects , 2004, AOSD '04.

[10]  Tzilla Elrad,et al.  Scenario based resolution of aspect interactions with aspect interaction charts , 2007, AOM@AOSD.

[11]  N. Lafaye de Micheaux,et al.  Confluence for Graph Transformations , 1996, Theor. Comput. Sci..

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

[13]  Ruzanna Chitchyan,et al.  Semantics-based composition for aspect-oriented requirements engineering , 2007, AOSD.

[14]  Gustavo Alonso,et al.  Dynamic AOP with PROSE , 2005, CAiSE Workshops.

[15]  Duminda Wijesekera,et al.  Use-Misuse Case Driven Analysis of Positive Train Control , 2006, IFIP Int. Conf. Digital Forensics.

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

[17]  Andrew P. Black ECOOP 2005 - Object-Oriented Programming, 19th European Conference, Glasgow, UK, July 25-29, 2005, Proceedings , 2005, ECOOP.

[18]  Wouter Joosen,et al.  Classifying and documenting aspect interactions , 2006 .

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

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

[21]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[22]  Jacques Klein,et al.  Reusable Aspect Models , 2007 .

[23]  Shmuel Katz,et al.  Architectural views of aspects , 2003, AOSD '03.

[24]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[25]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[26]  Benoit Baudry,et al.  Exploring the Relationship between Model Composition and Model Transformation , 2005 .

[27]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[28]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[29]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[30]  Dae-Kyoo Kim Evaluating conformance of UML models to design patterns , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[31]  John Grundy,et al.  Early Aspects: Current Challenges and Future Directions - 10th International Workshop, Vancouver, Canada, March 13, 2007, Revised Selected Papers , 2007, EA@AOSD.

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

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

[34]  Thomas Baar,et al.  Refactoring OCL annotated UML class diagrams , 2005, MoDELS'05.

[35]  Michael Rudolf Utilizing Constraint Satisfaction Techniques for Efficient Graph Pattern Matching , 1998, TAGT.

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

[37]  João Araújo,et al.  Scenario modelling with aspects , 2004, IEE Proc. Softw..

[38]  Dan S. Wallach,et al.  Analysis of an electronic voting system , 2004, IEEE Symposium on Security and Privacy, 2004. Proceedings. 2004.

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

[40]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[41]  Robert B. France,et al.  A Generic Approach for Automatic Model Composition , 2008, MoDELS.

[42]  Robert B. France,et al.  Providing Support for Model Composition in Metamodels , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[43]  Mehmet Aksit,et al.  Transactions on Aspect-Oriented Software Development IV , 2007, Trans. Aspect-Oriented Software Development IV.

[44]  João Araújo,et al.  Multi-dimensional separation of concerns in requirements engineering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[45]  Dae-Kyoo Kim,et al.  A Pattern-Based Technique for Developing UML Models of Access Control Systems , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[46]  Jon Whittle,et al.  Generating UML models from domain patterns , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[47]  Jonathan Aldrich,et al.  Open Modules: Modular Reasoning About Advice , 2005, ECOOP.

[48]  Jeffrey G. Gray,et al.  Aspect Composition in the Motorola Aspect-Oriented Modeling Weaver , 2007, J. Object Technol..

[49]  Yuanyuan Song,et al.  Modular software design with crosscutting interfaces , 2006, IEEE Software.

[50]  Jon Whittle,et al.  MATA: A Tool for Aspect-Oriented Modeling Based on Graph Transformation , 2007, MoDELS Workshops.

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

[52]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.