Process Algebraic Specification of the New Asynchronous CORBA Messaging Service

CORBA (The Common Object Request Broker Architecture) has to continually evolve in order to cope with the changes of requirement of applications which become larger and more distributed. For this reason new features are being added to the CORBA specification, for instance the last proposal for a revised CORBA Messaging Service includes two new asynchronous models of request invocation. Since these new features will be added in the next CORBA implementations a relevant issue is to study their operational behaviour from different perspectives in order to facilitate the task of implementors. This paper addresses this issue providing an analysis of the CORBA Messaging Service which includes the new asynchronous features. In particular we illustrate how CORBA models for request invocation can be mapped into a message passing architecture based on the actor model. For this purpose we exploit an algebra of actors which supports some of the main features of the abstract Object Model of the Object Management Group, such as object identity and an explicit notion of state. This approach allows us to discuss and compare different models of request invocation in a standard process algebraic perspective for instance we show how different notions of equivalence, such as standard and asynchronous bisimulation, can be adapted to reason about CORBA.

[1]  Richard E. Zultner,et al.  TQM for technical teams , 1993, CACM.

[2]  Carolyn L. Talcott,et al.  Interaction Semantics for Components of Distributed Systems , 1997 .

[3]  Martín Abadi,et al.  An Imperative Object Calculus , 1995, TAPSOFT.

[4]  Robin Milner,et al.  Elements of interaction: Turing award lecture , 1993, CACM.

[5]  Benjamin C. Pierce,et al.  Concurrent Objects in a Process Calculus , 1994, Theory and Practice of Parallel Programming.

[6]  Setrag Khoshafian,et al.  Object identity , 1986, OOPLSA '86.

[7]  Setrag Khoshafian,et al.  Object identity , 1986, OOPSLA 1986.

[8]  Elie Najm,et al.  Invited Paper — Computational models for open distributed systems , 1997 .

[9]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and the asynchronous π-calculus , 1998, POPL '97.

[10]  Steve Vinoski New features for CORBA 3.0 , 1998, CACM.

[11]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[12]  Mauro Gaspari,et al.  Concurrency and Knowledge-Level Communication in Agent Languages , 1998, Artif. Intell..

[13]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[14]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[15]  Carolyn L. Talcott,et al.  Towards a Theory of Actor Computation , 1992, CONCUR.

[16]  Carolyn L. Talcott,et al.  An actor rewriting theory , 1996, WRLA.

[17]  Philippe A. Palanque,et al.  Formal Specification and Prototyping of CORBA Systems , 1999, ECOOP.

[18]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[19]  Mario Tokoro,et al.  An Object Calculus for Asynchronous Communication , 1991, ECOOP.

[20]  Gianluigi Zavattaro,et al.  An Algebra of Actors , 1997, FMOODS.

[21]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[22]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[23]  C. A. R. Hoare,et al.  Notes on Communicating Sequential Systems , 1986 .

[24]  Robin Milner,et al.  Elements of interaction , 1993 .

[25]  Gérard Boudol,et al.  Asynchrony and the Pi-calculus , 1992 .

[26]  Carolyn L. Talcott,et al.  A Semantically Sound Actor Tranlsation , 1997, ICALP.

[27]  Roberto Gorrieri,et al.  Formal Methods for Open Object-Based Distributed Systems , 2006, IFIP — The International Federation for Information Processing.

[28]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[29]  Gianluigi Zavattaro,et al.  An Actor Algebra for Specifying Distributed Systems: The Hurried Philosophers Case Study , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[30]  Elie Najm,et al.  Computational models for open distributed systems , 1997 .

[31]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[32]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[33]  Robin Milner Functions as Processes , 1990, ICALP.