Abstract
Today, CORBA architecture brings the major industrial solution for achieving the interoperability between distributed software components in heterogeneous environments. While the CORBA project attempts to federate distributed mechanisms within a unique architecture, its internal model is not very flexible and seems not to be suitable for future evolutions. In this paper, we present OpenCorba, a reflective open broker, enabling users to adapt dynamically the representation and the execution policies of the software bus.
We first expose the reflective foundations underlying the implementation of OpenCorba: i) metaclasses which provide a better separation of concerns in order to improve the class reuse; ii) a protocol which enables the dynamic changing of metaclass in order to allow run-time adaptation of systems.
Based on this reflective environment, OpenCorba enables the adaptability of the internal characteristics of the broker in order to change its run-time behavior (e.g. remote invocation, IDL type checking, IR error handling). OpenCorba gives a clear example of the benefits of reflective middleware.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bergmans L. — Composing Concurrent Objects. PhD thesis, University of Twente, Enschede, Netherlands, June 1994.
Birman K., Schiper A., Stephenson P. — Lightweight Causal and Atomic Group Multicast. In ACM Transactions on Computer Systems, vol.9, no3, p.272–314, 1991.
Blair G.S., Coulson G., Davies N., Robin P., Fitzpatrick T. — Adaptive Middleware for Mobile Multimedia Applications. In Proceedings of the 8th International Workshop on NOSSDAV’97, St-Louis, Missouri, May 1997.
Blair G.S., Coulson G., Robin P., Papathomas M. — An Architecture for Next Generation Middleware. In Proceedings of Middleware’98, Springer-Verlag, p.191–206, N. Davies, K. Raymond, J. Seitz Eds, September 1998.
Brant J., Foote B., Johnson R., Roberts D. — Wrappers to the Rescue. In Proceedings of ECOOP’98, Springer-Verlag, Brussels, Belgium, July 1998.
Briot J.P., Guerraoui R., Löhr K.P. — Concurrency and Distribution in Object-oriented Programming. In ACM Computer Surveys, vol.30, no3, p.291–329, September 1998.
Bouraqadi-Saâdani N., Ledoux T., Rivard F. — Safe Metaclass Programming. In Proceedings of OOPSLA’98, ACM Sigplan Notices, Vancouver, Canada, October 1998.
Chiba S., Masuda T. — Designing an Extensible Distributed Language with a Meta-Level Architecture. In Proceedings of ECOOP’93, p.482–501, LNCS 707, Springer-Verlag, Kaiserslautern, Germany, 1993.
Cointe P. — Metaclasses are First Class: the ObjVlisp Model. In Proceedings of OOPSLA’87, ACM Sigplan Notices, p.156–167, Orlando, Florida, October 1987.
Danforth S., Forman I.R. — Reflections on Metaclass Programming in SOM. In Proceedings of OOPSLA’94, ACM Sigplan Notices, Portland, Oregon, October 1994.
Fabre J.C, Pérennou T. — A metaobject architecture for fault tolerant distributed systems: the FRIENDS approach. In IEEE Transactions on Computers. Special Issue on Dependability of Computing Systems, vol.47, no1, p.78–95, January 1998
Gamma E., Helm R., Johnson R., Vlissides John — Design Patterns, Addison-Wesley Reading, Massachusetts, 1995.
Goldberg A., Robson D. — Smalltalk-80: The Language, Addison-Wesley, Reading, Massachusetts, 1989.
Golm M. — Design and Implementation of a Meta Architecture for Java. Master’s Thesis, University of Erlangen, Germany, January 1997.
Gosling J., Joy B., Steele G. — The Java Language Specification. The Java Series, Addison-Wesley, Reading, Massachusetts, 1996.
Gowing B., Cahill V. — Meta-Object Protocols for C++: The Iguana Approach. In Proceedings of Reflection’96, Ed. Kiczales, San Francisco, California, April 1996.
Guerraoui R., Schiper A. — Software Based Replication for Fault Tolerance. In IEEE Computer, vol.30(4), April 1997.
Hayton R., Herbert A., Donaldson D. — FlexiNet-A flexible component oriented middleware system. In Proceedings of ACM SIGOPS European Workshop, Sintra, Portugal, September 1998.
Hürsh W.L., Lopes C.V. — Separation of Concerns. Technical Report NUCCS-95-03, College of Computer Science, Northeastern University, Boston, MA, February 1995.
Jul E., Levy H., Hutchinson N., Black A. — Fine-grained mobility in the Emerald system. In ACM Transactions on Computer Systems, vol.6(1), p.109–133, February 1988.
Kiczales G., des Rivieres J., Bobrow D.G. — The Art of the Metaobject Protocol. The MIT Press, 1991.
Kiczales G., Lamping J., Mendhekar A., Maeda C., Lopes C., Loingtier J.M, Irwin J. — Aspect-Oriented Programming. In Proceedings of ECOOP’97, LNCS 1241, Springer-Verlag, p.220–242, Jyväskyla, Finland, June 1997.
Ledoux T., Cointe P. — Explicit Metaclasses as a Tool for Improving the Design of Class Libraries. In Proceedings of ISOTAS’96, LNCS 1049, p.38–55, Springer-Verlag, Kanazawa, Japan, March 1996.
Ledoux T. — Implementing Proxy Objects in a Reflective ORB. In Workshop CORBA: Implementation, Use and Evaluation, ECOOP’97, Jyväskylä, Finland, June 1997.
Ledoux T. — Réflexion dans les systèmes répartis: application à CORBA et Smalltalk. PhD thesis, Université de Nantes, École des Mines de Nantes, March 1998. (in french)
Lieberherr K.J. — Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, 1996.
Maes P. — Concepts and Experiments in Computational Reflection. In Proceedings of OOPSLA’87, ACM Sigplan Notices, p.147–155, Orlando, Florida, October 1987.
Masuhara H., Yonezawa A. — Design and Partial Evaluation of Meta-objects for a Concurrent Reflective Language. In Proceedings of ECOOP’98, LNCS 1445, p.418–439, Springer-Verlag, Brussels, Belgium, July 1998.
Mcaffer J. — Meta-level architecture support for distributed objects. In Proceedings of IWOOOS’95, p.232–241, Lund, Sweden, 1995.
Meyer B. — Eiffel: The Language. Prentice Hall, second printing, 1992.
Okamura H., Ishikawa Y. — Object Location Control Using Meta-level Programming. In Proceedings of ECOOP’94, p.299–319, LNCS 821, Springer-Verlag, July 1994.
Object Management Group — Object Management Architecture Guide, Revision 3.0. OMG TC Document ab/97-05-05, June 1995.
Object Management Group — CORBAservices: Common Object Services Specification. OMG TC Document formal/98-07-05, November 1997.
Object Management Group — The Common Object Request Broker: Architecture and Specification, Revision 2.2. OMG TC Document formal/98-07-01, February 1998.
Rivard F. — A New Smalltalk Kernel Allowing Both Explicit and Implicit Metaclass Programming. In Workshop “Extending the Smalltalk Language”, OOPSLA’96, San Jose, California, October 1996.
Rivard F. — Évolution du comportement des objets dans les langages à classes réflexifs. PhD thesis, Université de Nantes, École des Mines de Nantes, June 1997. (in french)
Roman M., Kon F., Campbell R.H. — Design and Implementation of Runtime Reflection in Communication Middleware: the dynamicTAO Case. In Workshop on Middleware, ICDCS’99, Austin, Texas, May 1999.
Schmidt D., Cleeland C. — Applying Patterns to Develop Extensible ORB Middleware. In IEEE Communications Magazine, 1999. (to appear)
Shapiro M. — Structure and Encapsulation in Distributed Systems: The Proxy Principle. In Proceedings of the 6th International Conference on Distributed Computer Systems, p.198–204, Cambridge, MA, May 1986.
Smith B.C. — Reflection and Semantics in a Procedural Programming Language. PhD thesis, MIT, January 1982.
Sun Microsystems — Java Remote Method Invocation (RMI). At http://java.sun.com/products/jdk/rmi/index.html
Watanabe T., Yonezawa A. — Reflection in an Object-Oriented Concurrent Language. In Proceedings of OOPSLA’88, ACM Sigplan Notices, p.306–315, San Diego, California, September 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ledoux, T. (1999). OpenCorba: a Reflective Open Broker. In: Cointe, P. (eds) Meta-Level Architectures and Reflection. Reflection 1999. Lecture Notes in Computer Science, vol 1616. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48443-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-48443-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66280-8
Online ISBN: 978-3-540-48443-1
eBook Packages: Springer Book Archive