Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Graph grammars with negative application conditions
Fundamenta Informaticae - Special issue on graph transformations
Composition patterns: an approach to designing reusable aspects
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Recognizing a Program's Design: A Graph-Parsing Approach
IEEE Software
Automated Software Engineering
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
A Formal Semantics of UML State Machines Based on Structured Graph Transformation
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Introduction to the Algebraic Theory of Graph Grammars (A Survey)
Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology
Theme: An Approach for Aspect-Oriented Analysis and Design
Proceedings of the 26th International Conference on Software Engineering
Modeling and Composing Scenario-Based Requirements with Aspects
RE '04 Proceedings of the Requirements Engineering Conference, 12th IEEE International
From Aspectual Requirements to Proof Obligations for Aspect-Oriented Systems
RE '04 Proceedings of the Requirements Engineering Conference, 12th IEEE International
EA-Miner: a tool for automating aspect-oriented requirements identification
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Generating Hierarchical State Machines from Use Case Charts
RE '06 Proceedings of the 14th IEEE International Requirements Engineering Conference
Semantics-based composition for aspect-oriented requirements engineering
Proceedings of the 6th international conference on Aspect-oriented software development
A graph-based approach to modeling and detecting composition conflicts related to introductions
Proceedings of the 6th international conference on Aspect-oriented software development
Aspect-oriented programming for reactive systems: Larissa, a proposal in the synchronous framework
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
Verification of Aspect-UML models using alloy
Proceedings of the 10th international workshop on Aspect-oriented modeling
UCSIM: A Tool for Simulating Use Case Scenarios
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Pattern-based design evolution using graph transformation
Journal of Visual Languages and Computing
Framework for Computer-Aided Evolution of Object-Oriented Designs
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
Specifying behavioral semantics of UML diagrams through graph transformations
Journal of Systems and Software
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Precise specification of use case scenarios
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Analysis of UML activities using dynamic meta modeling
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Detecting and resolving model inconsistencies using transformation dependency analysis
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Verifying scenario-based aspect specifications
FM'05 Proceedings of the 2005 international conference on Formal Methods
Defining object-oriented execution semantics using graph transformations
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Model checking dynamic states in GROOVE
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Hi-index | 0.00 |
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.