Interaction Analysis in Aspect-Oriented Models

Aspect-oriented concepts are currently introduced in all phases of the software development life cycle. However, the complexity of interactions among different aspects and between aspects and base entities may reduce the value of aspect-oriented separation of cross-cutting 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 join points 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. The automatically analyzed conflicts and dependencies also serve as an additional view that helps in better understanding the potential behavior of the composed system

[1]  中島 震,et al.  Book Review—Objects, Components, and Frameworks with UML:The Catalysis Approach , 2000 .

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

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

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

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

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

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

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

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

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

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

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

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

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

[15]  P. Jeremaes,et al.  Fusion: a second generation object-oriented analysis and design method , 1993 .

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

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

[18]  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.

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

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

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

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

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

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

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

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

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

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