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
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise Visual Specification of Design Patterns
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Precise Modeling of Design Patterns in UML
Proceedings of the 26th International Conference on Software Engineering
Recognizing behavioral patterns atruntime using finite automata
Proceedings of the 2006 international workshop on Dynamic systems analysis
Precise modeling of design patterns
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Shape analysis for composite data structures
CAV'07 Proceedings of the 19th international conference on Computer aided verification
FM'06 Proceedings of the 14th international conference on Formal Methods
1FACS'96 Proceedings of the 1st BCS-FACS conference on Northern Formal Methods
Understanding design patterns — what is the problem?
Software—Practice & Experience
Hi-index | 0.00 |
Applying design patterns while developing a software system can improve its non-functional properties, such as extensibility and loose coupling. Precise specification of structure and behaviour communicates the invariants imposed by a pattern on a conforming implementation and enables formal software verification. Many existing design-pattern specification languages (DPSLs) focus on class structure alone, while those that do address behaviour suffer from a lack of expressiveness and/or imprecise semantics. In particular, in a review of existing work, three invariant categories were found to be inexpressible in state-of-the-art DPSLs: dependency, object state and data-structure. This paper presents Alas: a precise specification language that supports design-pattern descriptions including these invariant categories. The language is based on UML Class and Sequence diagrams with modified syntax and semantics. In this paper, the meaning of the presented invariants is formalized and relevant ambiguities in the UML Standard are clarified. We have evaluated Alas by specifying the widely-used Gang of Four pattern catalog and identified patterns that benefitted from the added expressiveness and semantics of Alas.