Formal specification of CORBA services: experience and lessons learned

  • Authors:
  • Rémi Bastide;Philippe Palanque;Ousmane Sy;David Navarre

  • Affiliations:
  • LIHS, Université Toulouse 1, Place Anatole France, F-31042 Toulouse CEDEX, France;LIHS, Université Toulouse 1, Place Anatole France, F-31042 Toulouse CEDEX, France;LIHS, Université Toulouse 1, Place Anatole France, F-31042 Toulouse CEDEX, France;LIHS, Université Toulouse 1, Place Anatole France, F-31042 Toulouse CEDEX, France

  • Venue:
  • OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

CORBA is now established as one of the main contenders in object-oriented middleware. Beyond the definition of this standard for distributed object systems, the Object Management Group (OMG) has specified several object services (Common Object Services, COS) that should foster the interoperability of distributed applications. Based on experiment, the goal of this paper is to show that the OMG's style of specification of the CORBA services is not suited to guarantee that implementers will produce interoperable and substitutable implementations. To illustrate our point, we give an account of an experiment based upon the formal specification of one COS, namely the CORBA Event Service. This formal specification highlights several ambiguities and under-specifications in the OMG document. We then test several commercial and public domain implementations of the CORBA Event Service, in order to assess how the implementers have dealt with these under-specifications. We show that the choices made by the implementers lead to incompatible implementations. We finally suggest a solution to overcome the problem of specification of object services, which satisfies the views of both implementers and users. Specifically, we suggest that the specification of such services be made using a formal description technique, and that implementers be provided with test cases derived from the formal specification.