A formal notation and tool for the engineering of CORBA systems

R�mi Bastide, Ousmane Sy, Philippe Palanque
2000 Concurrency Practice and Experience  
Phone: +33 5 61 63 35 88 Fax: +33 5 61 63 37 98 Abstract: 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 behavior of objects in an abstract and formal way. In the current practice,
more » ... oral specification is provided either in plain English, or directly in the programming language chosen for the implementation. We propose to extend the CORBA interface definition of distributed objects by a behavioral specification based on high level Petri nets. 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. Our 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 prototype and test a distributed object system as soon as the behaviors of individual objects have been defined. The paper discusses several implementation issues of the tool that supports the edition of models and their interactive excution. The high level of formality of the chosen formalism allows for mathematical analysis of behavioral specifications. Abstract. 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 behavior of objects in an abstract and formal way. In the current practice, behavioral specification is provided either in plain English, or directly in the programming language chosen for the implementation. We propose to extend the CORBA interface definition of distributed objects by a behavioral specification based on high level Petri nets. 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. Our 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 prototype and test a distributed object system as soon as the behaviors of individual objects have been defined. The paper discusses several implementation issues of the tool that supports the edition of models and their interactive excution. The high level of formality of the chosen formalism allows for mathematical analysis of behavioral specifications.
doi:10.1002/1096-9128(20001210)12:14<1379::aid-cpe514>3.0.co;2-b fatcat:aaqggnbeyjg77bi34ue6ylwhre