Skip to main content

CoOperative Objects: Principles, Use and Implementation

  • Chapter
  • First Online:
Book cover Concurrent Object-Oriented Programming and Petri Nets

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

Abstract

It is no longer relevant to praise the qualities of the Object-Oriented Approach and the Petri Net Theory. Each of them has proved to be a powerful framework in its field of application. However it is a challenge to associate them into a conceptual framework which combines the expressive power of both approaches while maintaining their respective merits. Moreover, it must be shown that such a formalism can be implemented in a sound and efficient manner.

This paper is a comprehensive presentation of the CoOperative Objects formalism. This formalism embraces the theoretical and pragmatic features of both the Petri net and the Object-Oriented approaches by thoroughly integrating their concepts. It is as well-adapted to the specification and the validation of open distributed systems as to their implementation. The basic idea is that a Petri net processes data objects as tokens, while the behaviour of an active object is defined by a Petri net. This paper also proposes a CoOperative Object solution to the dynamic dining philosophers problem, and tackles implementation issues through the presentation of SYROCO, a CoOperative Objects compiler.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. AGHA Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, 1986.

    Google Scholar 

  2. G. AGHA, P. WEGNER, A. YONEZAWA Research directions in Concurrent Object Oriented Programming, MIT Press, 1993.

    Google Scholar 

  3. P. AMERICA Designing an Object-Oriented Programming Language with Behavioural Subtyping. In Foundations of Object-Oriented Languages, J. W. de Bakker, W. P. de Roever, G. Rozenberg Eds., LNCS 489, Springer-Verlag, 1990.

    Google Scholar 

  4. B. BÜTLER, R. ESSER, R. MATTMANN A Distributed Simulator of High Order Petri Nets. In Proceedings of the 10th Int. Conference on Application and Theory of Petri Nets, Bonn (G), June 1989.

    Google Scholar 

  5. G. CHIOLA, C. DUTHEILLET, G. FRANCESCHINIS, S. HADDAD On Well-Formed Coloured Nets and their Symbolic Reachability Graph. In Proceedings of the 11th International Conference on Application and Theory of Petri Nets, Paris (F), June 1990.

    Google Scholar 

  6. CHORUS SYSTEM. COOL V2 Programmer’s Guide. Paris, Feb. 1994.

    Google Scholar 

  7. J.M. COLOM, M.SILVA, J.L. VILLARROEL On software implementation of Petri nets and colored Petri nets using high-level concurrent languages. In Proceedings of the 7th European Workshop on Application and Theory of Petri nets, Oxford (GB), July 1986.

    Google Scholar 

  8. H. EHRIG, B. MAHR Fundamentals of Algebraic Specifications. Springer-Verlag, 1985.

    Google Scholar 

  9. L. GASSER Social Conception of knowledge and action: DAI foundations and open systems semantics. Artificial Intelligence 47, Elsevier, 1991.

    Google Scholar 

  10. C. GHEZZI, M. JAZAYERI, D. MANDRIOLI Fundamentals of Software Engineering. Prentice-Hall International Editions, 1991.

    Google Scholar 

  11. H. GENRICH, K. LAUTENBACH System modelling with High Level Petri Nets. Theoretical Computer Science 13, North Holland, 1981.

    Google Scholar 

  12. N. HAMEURLAIN, C. SIBERTIN-BLANC Behavioural Types in CoOperative Objetcs. In Proceedings of the 2th Int. Workshop on Semantics of Objects as Processes, SOAP’ 98, within the 13th European Conf. on Object-Oriented Programming, ECOOP’99, June 1999, Lisboa, Portugal.

    Google Scholar 

  13. C. A. R. HOARE Communicating Sequential Processes. Communication of the ACM, 21(8), 1978.

    Google Scholar 

  14. Comittee Draft ISO/IEC 15909 High-level Petri Nets-Concepts, Definition and Graphical Notations. ISO SC7, October 1997.

    Google Scholar 

  15. K. JENSEN Coloured Petri Nets. In Petri Nets: Applications and Relationships to Other Models of Concurrency Part I, W. Brauer, W. Reisig and G. Rozenberg Eds, Lecture Notes in Computer Science Vol. 254, Springer-Verlag,1985.

    Google Scholar 

  16. B. H. LISKOV A New Definition of the Subtype Relation. In Proc. 7th European Conf. on Object-Oriented Programming, Kaiserlautern (G), Springer-Verlag, 1993.

    Google Scholar 

  17. D. MAY Occam 2 language definition. INMOS Limited, March 1987.

    Google Scholar 

  18. S. MATSUOKA, A. YONEZAWA Inheritance anomaly in Object-Oriented Concurrent Programming Languages. In Research Directions in Concurrent Object-Orineted Programming, G. Agha, P. Wegner and A. Yonezawa Eds, MIT Press, 1993.

    Google Scholar 

  19. B. MEYER Object-Oriented Software Construction. Prentice Hall, 1988

    Google Scholar 

  20. T. MURATA Petri Nets: Properties, Analysis and Applications; Proc. of the IEEE, vol 77, n∞ 4, April 1989.

    Google Scholar 

  21. J.-L. MOUNIER The MACAO reference Manual. MASI Laboratory, Paris (F), june 1994.

    Google Scholar 

  22. C. SIBERTIN-BLANC High Level Petri Nets with Data Structure. In Proceedings of the 6th european Workshop on Application and Theory of Petri Nets; Espoo (Finlande), juin 1985.

    Google Scholar 

  23. C. SIBERTIN-BLANC A functional semantics for Petri Nets with Objects. Internal Report, University Toulouse 1 (F), October 1992.

    Google Scholar 

  24. C. SIBERTIN-BLANC A Client-Server Protocol for the Composition of Petri Nets. In Proceedings of the 14th International Conference on Application and Theory of Petri Nets, LNCS 691, Chicago (Il), June 1993.

    Google Scholar 

  25. C. SIBERTIN-BLANC Communicative and Cooperative Nets. Proceedings of the 15th International Conference on Application and Theory of Petri Nets, Zaragoza (Sp), LNCS 815, Springer-Verlag, 1994.

    Google Scholar 

  26. C. SIBERTIN-BLANC, N. HAMEURLAIN, P. TOUZEAU SYROCO: A C++ implementation of CoOperative Objects. In Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency; Turino (I), June 1995.

    Google Scholar 

  27. C. SIBERTIN-BLANC Concurrency in CoOperative Objects. In Proceedings of the Second International Workshop on High-Level Parallel Programming Models and Supportive Environments, HIPS.97, Geneva (S), IEEE Society Press, April 1997.

    Google Scholar 

  28. C. SIBERTIN-BLANC An overview of SYROCO. In Proceedings of the Tool Presentation Session, 18th International Conference on Application and Theory of Petri Nets, Toulouse (F), June 1997.

    Google Scholar 

  29. C. SIBERTIN-BLANC et Al SYROCO: Reference Manual V7. University Toulouse 1 (F), Oct 1996. ¢ 1995, 97, CNET and University Toulouse 1. SYROCO is available for non commercial use through the site http://www.daimi.aau.dk/PetriNets/tools.

  30. P. WEGNER Inheritance as an Incremental Modification Mechanism, or What Is and Isn’t Like. In Proc. ECOOP 88, Oslo (Norway), Springer-Verlag.

    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

Sibertin-Blanc, C. (2001). CoOperative Objects: Principles, Use and Implementation. 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_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-45397-0_7

  • 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