The Z notation: a reference manual
The Z notation: a reference manual
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
ArchJava: connecting software architecture to implementation
Proceedings of the 24th International Conference on Software Engineering
Component Management in a Dynamic Architecture
The Journal of Supercomputing
Describing Software Architecture Styles Using Graph Grammars
IEEE Transactions on Software Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Semantic Integration of Object-Z and CSP for the Specification of Concurrent Systems
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
A Temporal Logic Approach to the Specification of Reconfigurable Component-Based Systems
Proceedings of the 17th IEEE international conference on Automated software engineering
Specifying and Verifying Reconfigurable Software Architectures
PDSE '00 Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems
An operational semantics for ZCCS
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
Formally analyzing software architectural specifications using SAM
Journal of Systems and Software
DiscoTect: A System for Discovering Architectures from Running Systems
Proceedings of the 26th International Conference on Software Engineering
Towards a Unified Graph-Based Framework for Dynamic Component-Based Architectures Description in Z
ICPS '04 Proceedings of the The IEEE/ACS International Conference on Pervasive Services
Adding trace matching with free variables to AspectJ
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
π-Method: a model-driven formal method for architecture-centric software engineering
ACM SIGSOFT Software Engineering Notes
Towards executable aspect-oriented UML models
Proceedings of the 10th international workshop on Aspect-oriented modeling
AO-ADL: an ADL for describing aspect-oriented architectures
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Experiences documenting and preserving software constraints using aspects
Proceedings of the tenth international conference on Aspect-oriented software development companion
Modeling and enforcing invariants of dynamic software architectures
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
Formal methods such as Z and Petri nets can be used to specify invariants that should hold during the execution of component-based applications such as those regarding changes in the architecture of the application and valid sequences of architecture reconfigurations. Integrating logic for checking and enforcing these invariants into the application's implementation is generally done by adding appropriate code to the functional application code. In this paper, we discuss several limitations of this approach that may ensue in a disconnection between the application implementation and its formal specification. We propose an approach for specifying and enforcing architectural constraints, which combines formal methods and Aspect-Oriented Programming. We use the Z notation for describing the architectural invariants of the application and Petri nets for modeling coordination protocols. At the implementation level, aspects intercept architecture reconfiguration events and check according to the formal specification and the coordination protocol whether a reconfiguration action can be performed.