Abstract
CORBA lacks a mature interface versioning system, which makes it difficult to use in the implementation of tightly-coupled distributed systems. There are patterns of inheritance that can substitute for specialized versioning support, but the programming model that results is cumbersome, particularly on the client side. We have enhanced the IDL specification of our ORB with two new features, one for minor (or upwardly compatible) changes and one for major (or incompatible) changes, which together give CORBA interface versioning support superior to that of most other distributed communication systems. The key to the design and implementation of these features is that each started with a pattern of inheritance that was then customized to address more specifically the problem of interface evolution. The new functionality can be used as part of a life-cycle methodology that guides the versioning of IDL interfaces across product releases.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Sun Microsystems Santa Clara, CA: ONC+ Developer’s Guide (2002) 816-1435-10
Mitchell, J., et al.: An Overview of the Spring System. In: IEEE COMPCOM 1994 (1994)
Liskov, B.: Data Abstraction and Hierarchy. In: OOPSLA 1987 – Object Oriented Programming Systems, Languages and Applications (Addendum), Orlando, FL, pp. 17–34 (1987)
Hamilton, G., Radia, S.: Using Interface Inheritance to Address Problems in System Software Evolution. Technical Report TR-93-21, Sun Microsystems (1993)
Schmidt, D.C., Vinoski, S.: CORBA and XML, Part 1: Versioning. C/C++ Users Journal C++ Experts Forum (2001)
Object Management Group: Common Object Request Broker Architecture (CORBA/IIOP). 3.0.2 edn. (2002)
Casais, E.: Managing Class Evolution in Object Oriented Systems. In: Nierstrasz, O., Tsichritzis, D. (eds.) Object Oriented Software Composition, pp. 201–244. Prentice-Hall, Englewood Cliffs (1995)
Anonymous: Interface Versioning for IDL. Project-internal proposal (1993)
Roush, E.: Cluster Rolling Upgrade using Multiple Version Support. In: CLUSTER 2001 – 3rd IEEE International Conference on Cluster Computing, Newport Beach, CA, pp. 63–72 (2001)
Microsoft Corporation: DCOM Technical Overview (1996)
Szyperski, C.: 24.7 Component Assembly: Component Evolution. In: Component Software – Beyond Object-Oriented Programming, 2nd edn., pp. 479–480. Addison-Wesley, New York (2002)
Object Management Group: CORBA Components. 3.0 edn (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Iterum, S., Campbell, R. (2004). Inheritance-Inspired Interface Versioning for CORBA. In: Odersky, M. (eds) ECOOP 2004 – Object-Oriented Programming. ECOOP 2004. Lecture Notes in Computer Science, vol 3086. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24851-4_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-24851-4_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22159-3
Online ISBN: 978-3-540-24851-4
eBook Packages: Springer Book Archive