CORBA is a standard proposed by the Object Management Group (OMG) in order
to promote interoperability between distributed object systems. CORBA provi
des a programming-language neutral Interface Definition Language (IDL) that
describes the syntactic aspects of services supported by remote objects, H
owever, CORBA IDL does not provide any means to specify the behavior of obj
ects in an abstract and formal way. In the current practice, behavioral spe
cification is provided either in plain English, or directly in the programm
ing language chosen for the implementation, We propose to extend the CORBA
interface definition of distributed objects by a behavioral specification b
ased on high level Petri nets. We detail at the syntactic and semantic leve
l how this formalism supports the features of the CORBA object model. We pr
esent a realistic case study to demonstrate our approach, Our technique all
ows specifying in an abstract, concise and precise way the behavior of CORB
A servers, including internal concurrency and synchronization. As the behav
ioral specification is fully executable, this approach also enables to prot
otype and test a distributed object system as soon as the behaviors of indi
vidual objects have been defined. The paper discusses several implementatio
n issues of the tool that supports the edition of models and their interact
ive excution, The high level of formality of the chosen formalism allows fo
r mathematical analysis of behavioral specifications. Copyright (C) 2000 Jo
hn Wiley & Sons, Ltd.