The Role of Reflective Middleware in Supporting the Engineering of Dynamic Applications
The increasing complexity of building distributed applications has positioned middleware as a critical part of complex systems. However, current middleware standards do not address properly the highly dynamic and diverse set of requirements posed by important classes of applications, such as those involving multimedia and mobility. It is clear that middleware platforms need to be more flexible and adaptable and we believe that an open engineering approach is an essential requirement. More specifically, we propose the use of object oriented reflection based on a multi-model reflection framework as a principled way to achieve such openness. This leads to middleware that is flexible, adaptable and extensible, and, in consequence, capable of supporting applications with dynamic requirements.
KeywordsAddress Space Object Management Group Object Graph Common Object Request Broker Architecture Meta Object Facility
Unable to display preview. Download preview PDF.
- 1.Gordon Blair, Fábio Costa, Geoff Coulson, Fabien Delpiano, Hector Duran, Bruno Dumant, François Horn, Nikos Parlavantzas, and Jean-Bernard Stefani. The Design of a Resource-Aware Reflective Middleware Architecture. In Second International Conference on Reflection and Meta-level architectures (Reflection’99), pages 115–134, St. Malo, France, July 1999.Google Scholar
- 2.Gordon Blair and Jean-Bernard Stefani. Open Distributed Processing and Multimedia. Addison-Wesley, 1997.Google Scholar
- 3.Gordon S. Blair, Lynne Blair, Valérie Issarny, and Apostolos Zarras Petr Tuma. The Role of Software Architecture in Constraining Adaptation in Component-based Middleware Platforms. In IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware2000), IBM Palisades Executive Conference Center, Hudson River Valley, New York, USA, April 2000.Google Scholar
- 4.Microsoft Corporation. Microsoft COM Technologies-DCOM. Internet Publication-http://www.microsoft.com/com/tech/dcom.asp, March 1998.
- 5.Microsoft Corporation. Microsoft COM Technologies-COM+. Internet Publication-http://www.microsoft.com/com/tech/complus.asp, May 1999.
- 6.Hector Duran and Gordon Blair. A Resource Management Framework for Adaptive Middleware. In 3th IEEE International Symposium on Object-oriented Real-time Distributed Computing (ISORC’2K), Newport Beach, California, USA, March 2000.Google Scholar
- 7.Dawson Engler, M. Frans Kaashoek, and James W. O’Toole. Exokernel: An Operating System Architecture for Application-Level Resource Management. In 15th ACM Symposium on Operating System Principles, pages 251–266, December 1995.Google Scholar
- 8.Sally Floyd, Van Jacobson, Ching-Gung Liu, Steven McCanne, and Lixia Zhang. A Reliable Multicast Framework for Light-weight Session and Application Level Framing. IEEE/ACM Transactions on Networking, pages 342–356, December 1995.Google Scholar
- 9.Object Management Group. CORBA Object Request Broker Architecture and Specification-Revision 2.2, February 1998.Google Scholar
- 10.Object Management Group. XML Metadata Information (XMI), October 1998.Google Scholar
- 11.Object Management Group. CORBA Components Final Submission. OMG Document orbos/99-02-05, February 1999.Google Scholar
- 12.Object Management Group. Meta Object Facility (MOF) Specification, Version 1.3 RTF, September 1999.Google Scholar
- 13.Richard Hayton. FlexiNet Open ORB Framework. Technical Report 2047.01.00, APM Ltd., Poseidon House, Castle Park, Cambridge, CB3 ORD, UK, October 1997.Google Scholar
- 14.Akihiro Hokimoto, K. Kurihara, and Tatsuo Nakajima. An Approach for Constructing Mobile Applications Using Service Proxies. In ICDCS’96; Proceedings of the 16th International Conference on Distributed Computing Systems; May 27–30, 1996, Hong Kong, pages 726–733, Washington-Brussels-Tokyo, May 1996. IEEE.Google Scholar
- 15.Thomas Ledoux. OpenCorba: A Reflective Open Broker. In Pierre Cointe, editor, Proceedings of the 2nd International Conference on Reflection’99, LNCS 1616, pages 197–214, Saint-Malo, France, July 1999. Springer-Verlag.Google Scholar
- 16.Orlando Loques, Alexandre Sztajnberg, Julius Leite, and Marcelo Lobosco. On the Integration of Configuration and Meta-Level Programming Approaches. In Walter Cazzola, Robert J. Stroud, and Francesco Tisato, editors, Reflection and Software Engineering, Lecture Notes in Computer Science 1826. Springer-Verlag, June 2000.CrossRefGoogle Scholar
- 17.Pattie Maes. Concepts and Experiments in Computational Reflection. In Norman K. Meyrowitz, editor, Proceedings of the 2nd Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’87), volume 22 of Sigplan Notices, pages 147–156, Orlando, Florida, USA, October 1987. ACM.Google Scholar
- 18.Jeff McAffer. Meta-Level Programming with CodA. In Walter Olthoff, editor, Proceedings of the 9th European Conference on Object-Oriented Programming (ECOOP’95), LNCS 952, pages 190–214. Springer-Verlag, 1995.Google Scholar
- 19.Sun Microsystems. Enterprise JavaBeans Specification Version 1.1. Internet Publication-http://java.sun.com/products/ejb/index.html.
- 20.SUN Microsystems. Java Remote Method Invocation-Distributed Computing for Java. Internet Publication-http://www.sun.com, 1998. White Paper.
- 21.Hideaki Okamura, Yutaka Ishikawa, and Mario Tokoro. AL-1/D: A Distributed Programming System with Multi-Model Reflection Framework. In Proceedings of International Workshop on New Models for Software Architecture (IMSA’92), Tokyo, Japan, November 1992.Google Scholar
- 22.Manuel Román, Fabio Kon, and Roy Campbell. Design and Implementation of Runtime Reflection in Communication Middleware: the dynamicTAO Case. In ICDCS’99 Workshop on Middleware, Austin, Texas, June 1999.Google Scholar
- 23.Ashish Singhai, Aamod Sane, and Roy Campbell. Reflective ORBs: Supporting Robust, Time-critical Distribution. In Proceedings of ECOOP’97-Workshop on reflective Real-Time Object-Oriented Programming and System, Finland, June 1997.Google Scholar
- 24.Takuo Watanabe and Akinori Yonezawa. Reflection in an Object-Oriented Concurrent Language. In Norman K. Meyrowitz, editor, Proceedings of the 3rd Conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA’88), volume 23(11) of Sigplan Notices, pages 306–315, San Diego, California, USA, September 1988. ACM.Google Scholar