Skip to main content

Inheritance-Inspired Interface Versioning for CORBA

  • Conference paper
  • 492 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3086))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Sun Microsystems Santa Clara, CA: ONC+ Developer’s Guide (2002) 816-1435-10

    Google Scholar 

  2. Mitchell, J., et al.: An Overview of the Spring System. In: IEEE COMPCOM 1994 (1994)

    Google Scholar 

  3. Liskov, B.: Data Abstraction and Hierarchy. In: OOPSLA 1987 – Object Oriented Programming Systems, Languages and Applications (Addendum), Orlando, FL, pp. 17–34 (1987)

    Google Scholar 

  4. Hamilton, G., Radia, S.: Using Interface Inheritance to Address Problems in System Software Evolution. Technical Report TR-93-21, Sun Microsystems (1993)

    Google Scholar 

  5. Schmidt, D.C., Vinoski, S.: CORBA and XML, Part 1: Versioning. C/C++ Users Journal C++ Experts Forum (2001)

    Google Scholar 

  6. Object Management Group: Common Object Request Broker Architecture (CORBA/IIOP). 3.0.2 edn. (2002)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Anonymous: Interface Versioning for IDL. Project-internal proposal (1993)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Microsoft Corporation: DCOM Technical Overview (1996)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Object Management Group: CORBA Components. 3.0 edn (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics