Petri Net Based Behavioural Specification of CORBA Systems

  • Rémi Bastide
  • Philippe Palanque
  • Ousmane Sy
  • Duc-Hoa Le
  • David Navarre
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1639)


CORBA is a standard proposed by the Object Management Group (OMG) in order to promote interoperability between distributed object systems. CORBA provides a programming-language neutral Interface Definition Language (IDL) that describes the syntactic aspects of services supported by remote objects. However, CORBA IDL does not provide any means to specify the behaviour of objects in an abstract and formal way. Behaviour specification is provided either in plain English, or directly in the programming language chosen for the implementation. We propose the use of Cooperative Objects, a dialect of object-structured high-level Petri nets, as formalism for behavioural specification of CORBA systems. We detail at the syntactic and semantic level how this formalism supports the features of the CORBA object model. We present a realistic case study to demonstrate our approach.


Distributed systems CORBA behavioural specification high-level Petri nets 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agha, Gul, and De Cindio, Fiorella. “Workshop on Object-Oriented Programming and Models of Concurrency.” ICATPN’95, Torino, Italy, June 26–30, 1995. (1995)Google Scholar
  2. 2.
    Agha, Gul, De Cindio, Fiorella, and Yonezawa, Akinori. “2nd International Workshop on Object-Oriented Programming and Models of Concurrency.” ICATPN’96, Osaka, Japan, June 24, 1996. (1996)Google Scholar
  3. 3.
    Bastide, Rémi. «Objets Coopératifs: Un Formalisme Pour La Modélisation Des Systèmes Concurrents. »Ph.D. thesis, Université Toulouse III (1992).Google Scholar
  4. 4.
    Bastide, Rémi, and Palanque, Philippe. “A Petri-Net Based Environment for the Design of Event-Driven Interfaces.” ICATPN’95. LNCS no. 935. Springer (1995) 66–83.Google Scholar
  5. 5.
    Bastide, Rémi, and Palanque, Philippe. “Modeling a Groupware Editing Tool With Cooperative Objects.” Concurrent Object-Oriented Programming and Petri Nets. Gul A. Agha, and Fiorella De Cindio, editors. Wien: Springer-Verlag (1998)Google Scholar
  6. 6.
    Desel, Jörg, and Javier Esparza. Free Choice Petri Nets. Cambridge Tracts on Computer Science, 40 Cambridge University Press (1995).Google Scholar
  7. 7.
    Gaspari, Mauro, and Zavattaro, Gianluigi. “A Process Algebraic Specification of the New Asynchronous CORBA Messaging Service.”ECOOP’99 (1999)Google Scholar
  8. 8.
    Goguen, J. A., Thatcher, J. W., and Wagner, E. G. “Current Trends in Programming Methodology.” An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. Prentice-Hall (1978) 80–149.Google Scholar
  9. 9.
    Harel, David, and Gery, Eran. “Executable Object Modeling With Statecharts.” IEEE Computer 30, no.7 (1997) 31–42.Google Scholar
  10. 10.
    Jensen, Kurt.Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. 2nd edition ed., Vol. 2 Springer-Verlag (1996).Google Scholar
  11. 11.
    Kilov, Haïm, and William Harvey, editors. Object-Oriented Behavioral Specifications Kluwer Academic Publishers (1996).Google Scholar
  12. 12.
    Lakos, Charles. “A General Systematic Approach to Arc Extensions for Coloured Petri Nets.”ICATPN’94, June 1994. LNCS no. 815. Springer (1994) 338–57.Google Scholar
  13. 13.
    Lakos, Charles, and Keen, C. D. “LOOPN++: a New Language for Object-Oriented Petri Nets.” European Simulation Multiconference, Barcelona, Spain, June 1994. (1994)Google Scholar
  14. 14.
    Meyer, Bertrand. “Systematic Concurrent Object-Oriented Programming.” Communications of the ACM 36, no. 9 (1993) 56–80.CrossRefGoogle Scholar
  15. 15.
    Moldt, Daniel, and Wienberg, Franck. “Multi-Agent-Systems Based on Coloured Petri Nets.” ICATPN’97, Toulouse France, June 1997. LNCS no. 1248. Springer (1997) 82–101.Google Scholar
  16. 16.
    Object Management Group. The Common Object Request Broker: Architecture and Specification. COBRA IIOP 2.2 /98-02-01, Framingham, MA (1998).Google Scholar
  17. 17.
    Ramamoorthy, C. V., and Ho, G. S. “Performance Evaluation of Asynchronous Concurrent Systems.” IEEE Transactions of Software Engineering 6, no. 5 (1980) 440–449.CrossRefMathSciNetGoogle Scholar
  18. 18.
    Rational Software Corporation. UML Notation Guide. 1.1 ed. 1997.Google Scholar
  19. 19.
    —. UML Semantics. 1.1 ed. 1997.Google Scholar
  20. 20.
    Sibertin-Blanc, Christophe. “Cooperative Nets.” ICATPN’94. LNCS 815. Springer (1994)Google Scholar
  21. 21.
    Siegel, Jon. “OMG Overview: CORBA and the OMA in Enterprise Computing.” Communications of the ACM 41, no. 10 (1998) 37–43.CrossRefGoogle Scholar
  22. 22.
    Sy, Ousmane, Bastide, Rémi, Palanque, Philippe, Le, Duc-Hoa, and Navarre, David. “PetShop: a CASE Tool for the Petri Net Based Specification and Prototyping of CORBA Systems.” ICATPN’99, Williamsburg, VA, USA, June 21-25, 1999. (1999)Google Scholar
  23. 23.
    Valk, Rüdiger. “Petri Nets As Token Objects: an Introduction to Elementary Object Nets.” ICATPN’98, Lissabon, Portugal, June 1998. Springer (1998)Google Scholar
  24. 24.
    van der Aalst, W. M. P., and Basten, T. “Life-Cycle Inheritance, a Petri-Net Based Approach.” ICATPN’97, LNCS no. 1248. Springer (1997) 62–81.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Rémi Bastide
    • 1
  • Philippe Palanque
    • 1
  • Ousmane Sy
    • 1
  • Duc-Hoa Le
    • 1
  • David Navarre
    • 1
  1. 1.LIHS-FROGISUniversité Toulouse IToulouse CEDEXFrance

Personalised recommendations