Abstract
We propose to extend the CORBA interface definition of distributed objects by a behavioral specification based on high level Petri nets. This technique allows specifying in an abstract, concise and precise way the behavior of CORBA servers, including internal concurrency and synchronization. As the behavioral specification is fully executable, this approach also enables to early prototyping and testing of a distributed object system as soon as the behaviors of individual objects have been defined. The paper discusses several implementation issues of the multithreaded, distributed interpreter built for that purpose. The high level of formality of the chosen formalism allows for mathematical analysis of behavioral specifications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agha, Gul, and De Cindio, Fiorella. “Workshop on Object-Oriented Programming and Models of Concurrency.” 16 th International Conference on Applications and Theory of Petri-Nets, ATPN’95, Torino, Italy, June 26–30, 1995. Gul Agha, and Fiorella De Cindio, organizers. (1995)
Agha, Gul, De Cindio, Fiorella, and Yonezawa, Akinori. “2nd International Workshop on Object-Oriented Programming and Models of Concurrency.” 17 th International Conference on Applications and Theory of Petri Nets, ATPN’96, Osaka, Japan, June 24, 1996. Gul Agha, Fiorella De Cindio, and Akinori Yonezawa, editors. (1996)
Bastide, Rémi, “Objets Coopératifs: Un Formalisme Pour La Modélisation Des Systèmes Concurrents.” Ph.D. thesis, Université Toulouse III (1992).
Bastide, Rémi, and Palanque, Philippe. “Cooperative Objects: a Concurrent, Petri-Net Based Object-Oriented Language.” Systems Engineering in the Service of Humans, IEEE-SMC’93, Le Touquet, France, October 15–20, 1993. IEEE Press (1993)
Bastide, Rémi, and Palanque, Philippe. “A Petri-Net Based Environment for the Design of Event-Driven Interfaces.” 16 th International Conference on Applications and Theory of Petri Nets, ATPN’95, Torino, Italy, June 1995. Giorgio De Michelis, and Michel Diaz, Volume editors. Lecture Notes in Computer Science, no. 935. Springer (1995) 66–83.
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)
Bastide, Rémi, Palanque, Philippe, Sy, Ousmane, Le, Duc-Hoa, and Navarre, David. “Petri-Net Based Behavioural Specification of CORBA Systems.” 20th International Conference on Applications and Theory of Petri Nets, ATPN’99, Williamsburg, VA, USA, June 21–25, 1999. (1999)
Bryan, Doug. “Exactness and Clarity in a Component-Based Specification Language.” Object-Oriented Behavioral Specifications. Haim Kilov, and William Harvey, editors. New-York: Kluwer Academic Publishers (1996) 1–15.
Bryant, Antony, and Evans, Andy. “A Formal Basis for Specifying Object Behaviour.” Object-Oriented Behavioral Specifications. Haim Kilov, and William Harvey, editors. New-York: Kluwer Academic Publishers (1996) 17–30.
Genrich, H. J., and Lautenbach, K. “System Modelling With High-Level Petri Nets.” Theoretical Computer Science. Vol. 13. North-Holland (1981) 109–36.
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.
Guttag, John V., James J. Horning, S. J. Garland, A. Jones, and J. M. Wing. Larch: Languages and Tools for Formal Specification Springer-Verlag, New-York (1993).
Harel, David, and Gery, Eran. “Executable Object Modeling With Statecharts.” IEEE Computer 30,no. 7 (1997) 31–42.
Jensen, Kurt. Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. 2nd edition ed., Vol. 2 Springer-Verlag (1996).
Kilov, Haïm, and William Harvey, editors. Object-Oriented Behavioral Specifications Kluwer Academic Publishers (1996).
Lakos, Charles. “A General Systematic Approach to Arc Extensions for Coloured Petri Nets.” 15th International Conference on Applications and Theory of Petri Nets, ATPN’94, June 1995. Lecture Notes in Computer Science, no. 815. Springer (1995) 338–57.
Lakos, Charles, and Keen, C. D. “LOOPN++: a New Language for Object-Oriented PetriNets.” European Simulation Multiconference, Barcelona, Spain, June 1994. (1994)
Leavens, Gary T., and Yoonsik Cheon. Extending CORBA IDL to Specify Behavior With LARCH, TR #93-20. Iowa State University, Department of Computer Science, 1995.
Merle, Philippe, Gransart, Christophe, Geib, Jean-Marc, and Laukien, Marc. “The CorbaScript Language.” ORBOS OMG Meeting on Scripting Languages, Helsinki, Finland, July 27–31 1998. (1998)
Meyer, Bertrand. “Systematic Concurrent Object-Oriented Programming.” Communications of the ACM 36, no. 9 (1993) 56–80.
Netscape Communications Inc. CORBA Component Scripting OMG TC Revised Joint Submission. Orbos/98-07-02, Framingham, MA (1998).
Object Management Group. The Common Object Request Broker: Architecture and Specification. CORBA IIOP 2.2 /98-02-01, Framingham, MA (1998).
Object Management Group. Common Object Services Specification /98-07-05, Framingham, MA (1998).
Peterson, James Lyle. Petri Net Theory and the Modeling of Systems Prentice-Hall (1981).
Prinz, Andreas. “Describing Behaviour in Interfaces.” Formal Methods for Open Object-Based Distributed Systems. Elie Najm, and Jean Bernard Stefani, editors. Chapman & Hall (1997) 36–43.
Puntigam, F. “Types for Active Objects Based on Trace Semantics.” Formal Methods for Open Object-Based Distributed Systems. Elie Najm, and Jean Bernard Stefani, editors. Chapman & Hall (1997) 4–19.
Ramamoorthy, C. V., and Ho, G. S. “Performance Evaluation of Asynchronous Concurrent Systems.” IEEE Transactions of Software Enginnering 6, no. 5 (1980) 440–449.
Rational Software Corporation. UML Notation Guide. 1.1 ed. 1997.
Rational Software Corporation. UML Semantics. 1.1 ed. 1997.
Sankar, Sriram. “Introducing Formal Methods to Software Engineers Through OMG’s CORBA Environment and Interface Definition Language.” Algebraic Methodology and Software Technology, 5th International Conference, AMAST’ 96, Munich, Germany, July 1–5, 1996. Martin Wirsing, and Maurice Nivat, Editors. ed. Lecture Notes In Computer Science, no. 1101. Springer (1996) 52–61.
Sibertin-Blanc, Christophe. “Cooperative Nets.” 15th International Conference on Applications and Theory of Petri Nets, ATPN’94, June 1995. Lecture Notes in Computer Science, no. 815. Springer (1995) 471–90.
Siegel, Jon. “OMG Overview: CORBA and the OMA in Enterprise Computing.” Communications of the ACM 41, no. 10 (1998) 37–43.
Sivaprasad, Gowri Sankar. Larch/CORBA: Specifying the Behavior of CORBA-IDL Interfaces, TR #95-27a. Iowa State University, Department of Computer Science, 1995.
Valk, Rüdiger. “Petri Nets As Token Objects: an Introduction to Elementary Object Nets.” 19th International Conference on Applications and Theory of Petri Nets, ATPN’98, Lissabon, Portugal, June 1998. Springer (1998)
van der Aalst, W. M. P., and Basten, T. “Life-Cycle Inheritance, a Petri-Net Based Approach.” 18th International Conference on Applications and Theory of Petri Nets, ATPN’97, Toulouse, France, June 1997. Pierre Azéma, and Gianfranco Balbo, editors. Lecture Notes in Computer Science, no. 1248. Springer (1997) 62–81.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bastide, R., Sy, O., Palanque, P. (1999). Formal Specification and Prototyping of CORBA Systems. In: Guerraoui, R. (eds) ECOOP’ 99 — Object-Oriented Programming. ECOOP 1999. Lecture Notes in Computer Science, vol 1628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48743-3_22
Download citation
DOI: https://doi.org/10.1007/3-540-48743-3_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66156-6
Online ISBN: 978-3-540-48743-2
eBook Packages: Springer Book Archive