Abstract
This work presents a conservative extension of OhCircus, a concurrent specification language, which integrates CSP, Z, object-orientation and embeds a refinement calculus. This extension supports the definition of process inheritance, where control flow, operations and state components are eligible for reuse. We present the extended OhCircus grammar and, based on Hoare and He’s Unifying Theories of Programming, we give the formal semantics of process inheritance and its supporting constructs. The main contribution of this work is a set of sound algebraic laws for process inheritance. The proposed laws are exercised in the development of a case study.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
America, P.: Designing an Object-Oriented Programming Language with Behavioural Subtyping. In: de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1990. LNCS, vol. 489, pp. 60–90. Springer, Heidelberg (1991)
Balzarotti, C., Cindio, F., Pomello, L.: Observation equivalences for the semantics of inheritance. In: Proceedings of the IFIP TC6/WG6, FMOODS 1999, Deventer, The Netherlands. Kluwer, B.V. (1999)
Bowman, H., Briscoe-Smith, C., Derrick, J., Strulo, B.: On Behavioural Subtyping in LOTOS (1996)
Bowman, H., Derrick, J.: A Junction between State Based and Behavioural Specification (Invited Talk), Deventer, The Netherlands, pp. 213–239. Kluwer, B.V. (1999)
Cavalcanti, A.L.C., Sampaio, A., Woodcock, J.C.P.: A Refinement Strategy for Circus. Formal Aspects of Computing 15(2-3), 146–181 (2003)
Cavalcanti, A.L.C., Sampaio, A., Woodcock, J.C.P.: Unifying Classes and Processes. Software and System Modelling 4(3), 277–296 (2005)
Cusack, E.: Refinement, conformance and inheritance. Formal Aspects of Computing 3, 129–141 (1991), doi:10.1007/BF01898400
Dihego, J., Antonino, P., Sampaio, A.: Algebraic Laws for Process Subtyping - Extended Version. Technical report (2011), http://www.cin.ufpe.br/~jdso/technicalReports/TR015.pdf
Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. In: Proceedings of the IFIP, FMOODS 1997, London, UK. Chapman & Hall (1997)
Hoare, C.A.R.: Communicating Sequential Processes, vol. 21, pp. 666–677. ACM, New York (1978)
Hoare, C.A.R., He, J.: Unifying theories of programming, vol. 14. Prentice Hall (1998)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)
Morgan, C.: Programming from specifications. Prentice-Hall, Inc., Upper Saddle River (1990)
Olderog, E.-R., Wehrheim, H.: Specification and (property) inheritance in CSP-OZ. Sci. Comput. Program. 55(1-3), 227–257 (2005)
Oliveira, M.V.M., Cavalcanti, A.L.C., Woodcock, J.C.P.: A UTP Semantics for Circus. Formal Aspects of Computing 21(1), 3–32 (2007)
Puntigam, F.: Types for Active Objects Based on Trace Semantics. In: Proceedings of the FMOODS 1996, pp. 4–19. Chapman and Hall (1996)
Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)
Sampaio, A., Woodcock, J.C.P., Cavalcanti, A.L.C.: Refinement in Circus. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 451–470. Springer, Heidelberg (2002)
Schneider, S., Treharne, H.: Communicating B Machines. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 416–435. Springer, Heidelberg (2002)
Spivey, J.M.: The Z notation: A reference manual. Prentice-Hall, Inc., Upper Saddle River (1989)
Toetenel, H., van Katwijk, J.: Stepwise development of model-oriented real-time specifications from action/event models. In: Vytopil, J. (ed.) FTRTFT 1992. LNCS, vol. 571, pp. 547–570. Springer, Heidelberg (1991)
Wehrheim, H.: Behavioral Subtyping Relations for Active Objects. Form. Methods Syst. Des. 23(2), 143–170 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dihego, J., Antonino, P., Sampaio, A. (2013). Algebraic Laws for Process Subtyping. In: Groves, L., Sun, J. (eds) Formal Methods and Software Engineering. ICFEM 2013. Lecture Notes in Computer Science, vol 8144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41202-8_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-41202-8_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41201-1
Online ISBN: 978-3-642-41202-8
eBook Packages: Computer ScienceComputer Science (R0)