A graph-based aspect interference detection approach for UML-based aspect-oriented models
Autor: | Ciraci, Selim, Havinga, Wilke, Aksit, Mehmet, Bockisch, Christoph, van den Broek, Pim, Katz, Shmuel, Mezini, Mira, Kienzle, Jörg |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2010 |
Předmět: |
Model checking
Graph rewriting Theoretical computer science Aspect-oriented UML Programming language Computer science Aspect-oriented programming CR-D.2.4 Applications of UML computer.software_genre Operational semantics Graph-based Model Checking Aspect interference detection Unified Modeling Language Sequence diagram Graph (abstract data type) Class diagram Aspect-oriented computer computer.programming_language |
Zdroj: | Transactions on Aspect-Oriented Software Development VII ISBN: 9783642160851 Transactions on Aspect-Oriented Software Development VII: A Common Case Study for Aspect-Oriented Modeling, 321-374 STARTPAGE=321;ENDPAGE=374;TITLE=Transactions on Aspect-Oriented Software Development VII |
ISSN: | 0302-9743 |
DOI: | 10.1007/978-3-642-16086-8_9 |
Popis: | Aspect-Oriented Modeling (AOM) techniques facilitate separate modeling of concerns and allow for a more flexible composition of the resulting models than traditional techniques. While this improves the understandability of each submodel, in order to reason about the behavior of the composed system and to detect conflicts among submodels, automated tool support is required. We propose a technique and tool support for fully automatic detection of conflicts between aspects at the model level; more specifically, our approach works on models defined in UML with an extension for modeling pointcuts and advice. As back-end we use a graph-based model checker, for which we have defined an operational semantics of UML diagrams, pointcuts and advice. In order to simulate the system, we automatically derive a graph model from the diagrams. The simulation result is another graph, which represents all possible program executions, and which can be verified against a declarative specification of invariants. To demonstrate our approach, we discuss a UML-based AOM model of the "Crisis Management System" (CMS) and a possible design and evolution scenario. The complexity of the system makes conflicts among composed aspects hard to detect: already in the case of five simulated aspects, the state space contains 9991 different states and 99 different execution paths. Nevertheless, using appropriate pruning methods, the state space only grows polynomially with the number of aspects. In practical cases, the order of the polynomial is very small, e.g., 2 in the case of the simulated CMS; therefore, the automatic analysis scales. |
Databáze: | OpenAIRE |
Externí odkaz: |