Skip to main content

Object-Oriented Nets with Algebraic Specifications: The CO-OPN/2 Formalism

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2001))

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”.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Olivier Biberstein. CO-OPN/2: An Object-Oriented Formalism for the Specification of Concurrent Systems. PhD thesis, University of Geneva, July 1997.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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).

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. Mathieu Buffo. Contextual Coordination: a Coordination Model for Distributed Object Systems. PhD thesis, University of Geneva, 1997.

    Google Scholar 

  10. 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).

    Article  MATH  MathSciNet  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Barbara Liskov and Jeanette M. Wing. A behavioral notion of subtyping. ACM Transaction on Programming Languages and Systems, 16(6):1811–1841, November 1994.

    Article  Google Scholar 

  15. 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.

    Google Scholar 

  16. Wolfgang Reisig. Petri nets and algebraic specifications. In Theoretical Computer Science, volume 80, pages 1–34. Elsevier, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics