POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Z notation: a reference manual
The Z notation: a reference manual
Formalizing style to understand descriptions of software architecture
ACM Transactions on Software Engineering and Methodology (TOSEM)
The way of Z: practical programming with formal methods
The way of Z: practical programming with formal methods
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Concurrent object-oriented programming and petri nets: advances in petri nets
Concurrent object-oriented programming and petri nets: advances in petri nets
Obvious or not?: regulating architectural decisions using aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Self-organising software architectures for distributed systems
WOSS '02 Proceedings of the first workshop on Self-healing systems
Component Management in a Dynamic Architecture
The Journal of Supercomputing
Describing Software Architecture Styles Using Graph Grammars
IEEE Transactions on Software Engineering
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Code Synthesis Based on Object-Oriented Design Models and Formal Specifications
COMPSAC '98 Proceedings of the 22nd International Computer Software and Applications Conference
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
An operational semantics for ZCCS
ICFEM '97 Proceedings of the 1st International Conference on Formal Engineering Methods
Formally analyzing software architectural specifications using SAM
Journal of Systems and Software
Aspect Oriented Refactoring
π-Method: a model-driven formal method for architecture-centric software engineering
ACM SIGSOFT Software Engineering Notes
Generating Java Skeletal Code with Design Contracts from Specifications in a Subset of Object Z
ICIS-COMSAR '06 Proceedings of the 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse
Adapting virtual machine techniques for seamless aspect support
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Efficient control flow quantification
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
From multi-modal scenarios to code: compiling LSCs into aspectJ
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
From Formal Access Control Policies to Runtime Enforcement Aspects
ESSoS '09 Proceedings of the 1st International Symposium on Engineering Secure Software and Systems
International Journal of Information and Computer Security
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 |
Several types of invariants should be maintained when the architecture of a software application evolves. To specify these invariants in a reliable way, formal methods are used. However, current approaches suffer from two limitations. First, they support only certain types of invariants. Second, checking and enforcing the invariants is generally done by adding appropriate logic to the application implementation in a manual way, which is error-prone and may lead to architectural erosion. In this paper, we combine the Z notation and Petri nets to specify formally architectural invariants in distributed object-oriented software applications. Moreover, we use a generative aspect-based approach to checking and enforcing these invariants. Thus, we bridge the gap between the formal specification and the implementation. Our approach brings several other benefits as the code that checks and enforces invariants is generated automatically and well-modularized in aspects.