Abstract
This paper presents and formally defines the CO-OPN/2 formalism (Concurrent Object-Oriented Petri Net) which is devised for the specification of large concurrent systems. We introduce the basic principles of the formalism, and describe how some aspects of object- orientation such as the notions of class/object, object reference, inheritance and subtyping - are taken into account. In CO-OPN/2, classes (considered as templates) are described by means of algebraic nets in which places play the role of attributes, and methods are external parameterized transitions. A semantic extension for the management of the object references is defined. Inheritance and subtyping are clearly distinguished. Interaction between objects consists of synchronizations. Synchronization expressions are provided which allow the designer to select interaction policies between the partners. We also provide a step semantics which expresses the true concurrency of the object behaviors. Finally, in order to illustrate the modeling capabilities of our formalism, we adopted a case study on groupware or, more specifically, on a cooperative editor of hierarchical diagrams.
This work has been sponsored partially by the Esprit Long Term Research Project 20072 “Design for Validation” (DeVa) with the financial support of the OFES (Of- fice Fédéral de l’Éducation et de la Science), and by the Swiss National Science Foundation project 20.47030.96 “Formal Methods for Concurrent Systems”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Pierre America. Inheritance and subtyping in a parallel object-oriented language. In J. Bézivin, J.-M. Hullot, P. Cointe, and H. Lieberman, editors, ECOOP’87: European conference on object-oriented programming: proceedings, volume 276 of Lecture Notes in Computer Science, pages 234–242, Paris, France, June 1987. Springer-Verlag.
Pierre America. A behavioural approach to subtyping in object-oriented programming languages. Technical Report 443, Philips Research Laboratories, Nederlandse Philips Bedrijven B. V., April 1989. Revised from the January 1989 version.
E. Battiston, A. Chizzoni, and F. De Cindio. Inheritance and concurrency in CLOWN. In Proceedings of the “Application and Theory of Petri Nets 1995” workshop on “Object-Oriented Programming and Models of Concurrency”, Torino, Italy, June 1995.
Olivier Biberstein. CO-OPN/2: An Object-Oriented Formalism for the Specification of Concurrent Systems. PhD thesis, University of Geneva, July 1997.
Olivier Biberstein, Didier Buchs, and Nicolas Guelfi. CO-OPN/2 applied to the modeling of cooperative structured editors. Tech. Report 96/184, Swiss Federal Institute of Technology (EPFL), Software Engineering Laboratory, Lausanne, Switzerland, 1996.
Olivier Biberstein, Didier Buchs, and Nicolas Guel.. Using the CO-OPN/2 formal method for groupware applications engineering. In Proceedings of the IMACS-IEEE-SMC conference on Computational Engineering in Systems Application (CESA’96), Lille, France, July 1996. Also available as Tech. Report (EPFLDI-LGL No 96/187).
Olivier Biberstein, Didier Buchs, and Nicolas Guelfi. CO-OPN/2: A concurrent object-oriented formalism. In Proc. Second IFIP Conf. on Formal Methods for Open Object-Based Distributed Systems (FMOODS), pages 57–72, Canterbury, UK, March 1997. Chapman and Hall, London.
Didier Buchs and Nicolas Guelfi. CO-OPN: A concurrent object-oriented Petri nets approach for system specification. In M. Silva, editor, 12th International Conference on Application and Theory of Petri Nets, pages 432–454, Aahrus, Denmark, June 1991.
Mathieu Buffo. Contextual Coordination: a Coordination Model for Distributed Object Systems. PhD thesis, University of Geneva, 1997.
Joseph A. Goguen and José Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions, and partial operations. TCS: Theoretical Computer Science, 105(2):217–273, 1992. (Also in technical report SRI-CSL-89-10 (1989), SRI International, Computer Science Lab).
N. Guelfi, O. Biberstein, D. Buchs, E. Canver, M-C. Gaudel, F. von Henke, and D. Schwier. Comparison of object-oriented formal methods. Technical Report Technical Report of the Esprit Long Term Research Project 20072 “Design For Validation”, University of Newcastle Upon Tyne, Department of Computing Science, 1997.
Alain Karsenty. GroupDesign: un collectitiel synchrone pour l’édition partagée de documents. PhD thesis, Université Paris XI Orsay, 1994. Also in Computing System: “GroupDesign: Shared Editing in a Heterogeneous Environment”, vol. 6, no. 2, pp. 167–192, 1993.
Charles Lakos. The consistent use of names and polymorphism in the definition of object Petri nets. In Proceedings of the “Application and Theory of Petri Nets 1996”, volume 1091 of Lecture Notes in Computer Science, pages 380–399, Osaka, Japan, June 1996. Springer.
Barbara Liskov and Jeanette M. Wing. A behavioral notion of subtyping. ACM Transaction on Programming Languages and Systems, 16(6):1811–1841, November 1994.
David Park. Concurrency and automata on infinite sequences. In P. Deussen, editor, Theoretical Computer Science: 5th GI-Conference, Karlsruhe, volume 104 of Lecture Notes in Computer Science, pages 167–183. Springer-Verlag, March 1981.
Wolfgang Reisig. Petri nets and algebraic specifications. In Theoretical Computer Science, volume 80, pages 1–34. Elsevier, 1991.
C. Sibertin-Blanc. Cooperative nets. In Robert Valette, editor, Application and Theory of Petri Nets 1994, volume 815 of Lecture Notes in Computer Science, pages 471–490, 15th International Conference, Zaragoza, Spain, June 1994. Springer-Verlag.
Alan Snyder. Encapsulation and inheritance in object-oriented programming languages. In Proceedings OOPSLA’ 86, volume 21, 11 of ACM SIGPLAN Notices, pages 38–45, November 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Biberstein, O., Buchs, D., Guelfi, N. (2001). Object-Oriented Nets with Algebraic Specifications: The CO-OPN/2 Formalism. In: Agha, G.A., De Cindio, F., Rozenberg, G. (eds) Concurrent Object-Oriented Programming and Petri Nets. Lecture Notes in Computer Science, vol 2001. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45397-0_3
Download citation
DOI: https://doi.org/10.1007/3-540-45397-0_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41942-6
Online ISBN: 978-3-540-45397-0
eBook Packages: Springer Book Archive