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
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Proceedings of the 20th international conference on Software engineering
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Object-Oriented Software Construction
Object-Oriented Software Construction
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Weaving Aspects into C++ Applications for Validation of Temporal Invariants
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Responsibilities and Rewards: Specifying Design Patterns
Proceedings of the 26th International Conference on Software Engineering
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Automated generation of monitors for pattern contracts
Proceedings of the 2006 ACM symposium on Applied computing
Reusing Patterns through Design Refinement
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Tracing correct usage of design patterns
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Initiating a design pattern catalog for embedded network systems
EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
Hi-index | 0.00 |
The benefits of design patterns are well-established. We argue that these benefits can be further amplified across the system lifecycle. We present two contributions. First, we describe an approach to complementing existing informal pattern descriptions with precise pattern specifications. Our specification language captures the properties common across all applications of a pattern, while accommodating the variation that occurs across those applications. Second, we describe an approach to monitoring a system's runtime behavior to determine whether the appropriate pattern specifications are respected. The monitoring code is generated automatically from the pattern specifications underlying the system's design. We conclude with a discussion of how our contributions are beneficial across the software lifecycle.