Communicating sequential processes
Communicating sequential processes
Parallel program design: a foundation
Parallel program design: a foundation
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
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
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
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
On Object Systems and Behavioral Inheritance
IEEE Transactions on Software Engineering
Precise specification and automatic application of design patterns
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
Responsibilities and Rewards: Specifying Design Patterns
Proceedings of the 26th International Conference on Software Engineering
A Comparative Study of Monitoring Tools for Pattern-Centric Behavior
SEW '06 Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop
Proofs of Networks of Processes
IEEE Transactions on Software Engineering
Amplifying the benefits of design patterns: from specification through implementation
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
We previously described a contract formalism for specifying design patterns precisely, and showed how the formalism amplifies the benefits of pattern usage. In this paper, we present an extension to the formalism that addresses problems which arise in systems involving complex interconnections among objects, including cyclic reference structures. We develop an approach that accounts for these problems by formalizing pattern behaviors in terms of pattern-instance traces, ghost variables that record method invocations and completions on the objects participating in a pattern instance. We illustrate the approach by considering the Observer pattern.