The Z notation: a reference manual
The Z notation: a reference manual
A UML-based aspect-oriented design notation for AspectJ
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Supporting Formal Verification of Crosscutting Concerns
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
Verifying aspect advice modularly
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
A design discipline and language features for modular reasoning in aspect-oriented programs
A design discipline and language features for modular reasoning in aspect-oriented programs
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Analysis of Aspect-Oriented Model Weaving
Transactions on Aspect-Oriented Software Development V
Verification Support for Generative System Development
Proceedings of the 2009 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Eighth SoMeT_09
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
A graph-based aspect interference detection approach for UML-based aspect-oriented models
Transactions on aspect-oriented software development VII
Translating alloy specifications to UML class diagrams annotated with OCL
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Specifying UML protocol state machines in alloy
IFM'12 Proceedings of the 9th international conference on Integrated Formal Methods
Hi-index | 0.00 |
Aspect-oriented (A-O) programming has emerged as a promising paradigm to improve modularity by providing mechanisms to capture and execute crosscutting concerns in software applications. Among others, A-O allows developers to incrementally modifies the behavior of a base program, by introducing aspects which implement crosscutting concerns having effects at various points throughout a program. Hence, despite the clean separation of concerns in aspect-oriented systems, it remains difficult to predict the effect of a given aspect on this base program. Once woven, does an aspect still achieve what it was intended for? Does it violate base program properties that should be preserved? Does it interfere with the properties of other aspects? We propose to address these questions through the formal analysis and verification of A-O system model. More precisely, this work considers A-O models written in Aspect-UML (our UML profile). Having no regards to A-O language specific features, these models might just as well be the result of a forward as of a backward engineering process. In particular, this article explains how Aspect-UML models can be specified within the Alloy model analyzer and how aspect interactions can therefore be verified.