Abstract
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.
This research has been partially supported by the GLOWA-Danube project 01LW0602A2 sponsored by the German Federal Ministry of Education and Research.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bidoit, M., Hennicker, R.: An algebraic semantics for contract-based software components. In: Meseguer, J., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 216–231. Springer, Heidelberg (2008)
Bidoit, M., Hennicker, R., Knapp, A., Baumeister, H.: Glass-box and black-box views on object-oriented specifications. In: Proc. 2nd IEEE Int. Conf. Software Engineering and Formal Methods (SEFM 2004), pp. 208–217. IEEE Computer Society Press, Los Alamitos (2004)
Eshuis, R.: Reconciling statechart semantics. Sci. Comput. Program. 74(3), 65–99 (2009)
Knapp, A., Janisch, S., Hennicker, R., Clark, A., Gilmore, S., Hacklinger, F., Baumeister, H., Wirsing, M.: Modelling the CoCoME with the Java/A component model. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) The Common Component Modeling Example. LNCS, vol. 5153, pp. 207–237. Springer, Heidelberg (2008)
Martin, R.C.: UML tutorial: Finite state machines. Published article on Object Mentor Webpage (January 1998), http://www.objectmentor.com/resources/articles/umlfsm.pdf (last accessed on 2009-02-05)
Mencl, V.: Specifying component behavior with port state machines. Electr. Notes Theor. Comput. Sci. 101, 129–153 (2004)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice–Hall, Upper Saddle River (1997)
Mousavi, M.R., Reniers, M.A., Groote, J.F.: Notions of bisimulation and congruence formats for SOS with data. Inf. Comput. 200(1), 107–147 (2005)
Object Management Group (OMG). UML Superstructure Specification 2.1.2. Technical report, OMG (2007), http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/ (last accessed on 2009-02-05)
Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Trans. Software Eng. 28(11), 1056–1076 (2002)
Sannella, D.T., Tarlecki, A.: Towards formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25(3), 233–281 (1988)
Warmer, J., Kleppe, A.: The Object Constraint Language, 2nd edn. Addison Wesley, Reading (2003)
Wehrheim, H.: Behavioural Subtyping in Object-Oriented Specification Formalisms. Habilitation thesis, Universität Oldenburg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bauer, S.S., Hennicker, R. (2009). Views on Behaviour Protocols and Their Semantic Foundation. In: Kurz, A., Lenisa, M., Tarlecki, A. (eds) Algebra and Coalgebra in Computer Science. CALCO 2009. Lecture Notes in Computer Science, vol 5728. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03741-2_25
Download citation
DOI: https://doi.org/10.1007/978-3-642-03741-2_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03740-5
Online ISBN: 978-3-642-03741-2
eBook Packages: Computer ScienceComputer Science (R0)