Analysis of Aspect-Oriented Model Weaving

Aspect-oriented concepts are currently exploited to model systems from the beginning of their development. Aspects capture potentially crosscutting concerns and make it easier to formulate desirable properties and to understand analysis results than in a tangled system. However, the complexity of interactions among different aspectualized entities may reduce the benefit of aspect-oriented separation of crosscutting concerns. Some interactions may be intended or may be emerging behavior, while others are the source of unexpected inconsistencies. It is therefore desirable to detect inconsistencies as early as possible, preferably at the modeling level. We propose an approach for analyzing interactions and potential inconsistencies at the level of requirements modeling. We use a variant of UML to model requirements in a use case driven approach. Activities that are used to refine use cases are the joinpoints to compose crosscutting concerns. The activities and their composition are formalized using the theory of graph transformation systems, which provides analysis support for detecting potential conflicts and dependencies between rule-based transformations. This theory is used to effectively reason about potential interactions and inconsistencies caused by aspect-oriented composition. The analysis is performed with the graph transformation tool AGG in order to get a better understanding of the potential behavior of the composed system. In addition, the activity control flow of the aspect/base specification and the composition operators are taken into account to identify the relevant interactions.

[1]  Henry Sudhof,et al.  Patterns for Re-usable Aspects in Object Teams , 2006, NODe/GSEM.

[2]  Shmuel Katz,et al.  Diagnosis of Harmful Aspects Using Regression Verification , 2004 .

[3]  Martin C. Rinard,et al.  A classification system and analysis for aspect-oriented programs , 2004, SIGSOFT '04/FSE-12.

[4]  Mattia Monga,et al.  Slicing AspectJ Woven Code , 2005 .

[5]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[6]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[7]  Reiko Heckel,et al.  Detection of conflicting functional requirements in a use case-driven approach , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[8]  M. J. Plasmeijer,et al.  Term graph rewriting: theory and practice , 1993 .

[9]  Gary T. Leavens,et al.  Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy , 2003 .

[10]  Jon Whittle,et al.  Composing aspect models with graph transformations , 2006, EA '06.

[11]  Jonathan Sillito,et al.  Use Case Level Pointcuts , 2004, ECOOP.

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

[13]  Naoyasu Ubayashi,et al.  Aspect-oriented programming with model checking , 2002, AOSD '02.

[14]  Reiko Heckel,et al.  Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation , 2002, ICSE '02.

[15]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[16]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

[17]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[18]  Garry D. Coleman,et al.  Advancing the Standard , 1999 .

[19]  Stephan Herrmann,et al.  Mapping Use Case Level Aspects to ObjectTeams/Java , 2004 .

[20]  Shin NAKAJIMA,et al.  Lightweight Formal Analysis of Aspect-Oriented Models , 2004 .

[21]  Gabriele Taentzer,et al.  Parallel and distributed graph transformation - formal description and application to communication-based systems , 1996, Berichte aus der Informatik.

[22]  Coln Atkinson,et al.  Object-oriented development: The fusion method , 1996 .

[23]  Andreas Ludwig,et al.  Aspect Weaving with Graph Rewriting , 1999, GCSE.

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

[25]  Gabriele Taentzer,et al.  Parallel High-Level Replacement Systems , 1997, Theor. Comput. Sci..

[26]  Uwe A Mann Graph Rewrite Systems For Program Optimization , 2000 .

[27]  Gabriele Taentzer,et al.  Interaction Analysis in Aspect-Oriented Models , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[28]  Jan Bosch Generative and Component-Based Software Engineering , 2001, Lecture Notes in Computer Science.

[29]  Farida Mostefaoui,et al.  Verification of Aspect-UML models using alloy , 2007, AOM@AOSD.

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

[31]  Gabriele Taentzer,et al.  Consistency Checking and Visualization of OCL Constraints , 2000, UML.

[32]  Alexander L. Wolf,et al.  A conceptual basis for feature engineering , 1999, J. Syst. Softw..

[33]  João Araújo,et al.  Identifying Aspectual Use Cases Using a Viewpoint-Oriented Requirements Method , 2003 .

[34]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[35]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[36]  Martin Odersky ECOOP 2004 – Object-Oriented Programming , 2004, Lecture Notes in Computer Science.

[37]  Gabriele Taentzer,et al.  Supporting Aspect-Oriented Modeling with Graph Transformations , 2005 .

[38]  Giovanni Denaro,et al.  An experience on verification of aspect properties , 2001, IWPSE '01.

[39]  Gabriele Taentzer,et al.  Simulating Algebraic High-Level Nets by Parallel Attributed Graph Transformation , 2005, Formal Methods in Software and Systems Modeling.

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

[41]  Katharina Mehner-Heindl,et al.  Improving Alignment of Crosscutting Features with Code in Product Line Engineering , 2007, J. Object Technol..

[42]  Zhao Jianjun Slicing Aspect-Oriented Software (ソフトウェア工学 研究報告) , 2001 .

[43]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[44]  Leon G. Higley,et al.  Forensic Entomology: An Introduction , 2009 .

[45]  Tom Mens,et al.  Detecting Structural Refactoring Conflicts Using Critical Pair Analysis , 2005, SETra@ICGT.