Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Behavior Protocols for Software Components
IEEE Transactions on Software Engineering
The Object Constraint Language: Getting Your Models Ready for MDA
The Object Constraint Language: Getting Your Models Ready for MDA
Glass-Box and Black-Box Views on Object-Oriented Specifications
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Reconciling statechart semantics
Science of Computer Programming
Specifying Component Behavior with Port State Machines
Electronic Notes in Theoretical Computer Science (ENTCS)
Notions of bisimulation and congruence formats for SOS with data
Information and Computation
Behaviour Protocols for Interacting Stateful Components
Electronic Notes in Theoretical Computer Science (ENTCS)
Contracts for multi-instance UML activities
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Moving from specifications to contracts in component-based design
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Specifying UML protocol state machines in alloy
IFM'12 Proceedings of the 9th international conference on Integrated Formal Methods
Hi-index | 0.00 |
We consider UML protocol state machines where states are annotated with invariants and transitions are labelled with pre- and postconditions of operations. We claim that the meaning of a protocol strongly depends on the role in which the protocol is actually used. In our study we distinguish three different views on protocols: The user's and the implementor's perspective, which both are inspired by the contract principle, and an interaction perspective which focuses on collaborations. For each view we define a model-theoretic semantics based on labelled transition systems and simulation relations integrating control flow and the evolution of data states. Our approach is compositional in the sense that correct user and implementation models can be composed to a correct interaction model. Moreover, we define a refinement relation for protocols which retains our compositionality results.