- Open Access
Structuring reflective middleware using meta-informationmanagement: The Meta-ORB approach and prototypes
Journal of the Brazilian Computer Societyvolume 10, pages45–61 (2004)
Reflection is now an established technique for achieving dynamic adaptability of middleware platforms. It provides a clean and comprehensive way to access the internals of a platform implementation, allowing its customisation in order to achieve the best performance and adequacy under given operation environments and user requirements. In addition, the use of a runtime component model for the design of the internal platform structure facilitates the identification of the elements to be adapted, as all platform aspects are built in terms of components. The major limitation of this approach, however, is related to the multitude of aspects that make up a middleware platform, together with the requirement of keeping platform consistency after adaptations take place. This paper presents the results of ongoing research contributing to reduce this limitation. The approach is based on the use of a common meta-model, together with meta-information techniques to provide a uniform way to specify and manipulate platform configurations. Both platform configuration and runtime adaptation are always specified using a small number of building blocks defined in the meta-model. The paper also describes the overall architecture of the Meta-ORB platform, which demonstrates this approach, and presents its two implementations: a proof-of-concept prototype written in Python, and a Java-based implementation aimed at supporting mobile devices. The results are also evaluated from a quantitative perspective, according to the requirements of multimedia applications, one of the major areas of application of reflective middleware.
Gordon S. Blair, Fábio M. Costa, Katia Saikoski, and Nikos Parlavantzas Hector Duran Mike Clarke. The design and implementation of Open ORB version 2.IEEE Distributed Systems Online Journal, 2(6), 2001.
Mike Clarke, Gordon S. Blair, and Geoff Coulson. An efficient component model for the construction of adaptive middleware.In Proceedings of the IFIP/ACM International Middleware Conference (Middleware’2001), Heidelberg, Germany, 2001. Springer-Verlag.
Fábio M. Costa.Combining Meta-Information Management and Reflection in an Architecture for Configurable and Reconfigurable Middleware. Ph.D. thesis, University of Lancaster, Lancaster, UK, September 2001. http://www.comp.lancs.ac.uk/computing/users/fmc/pubs/thesis.pdf.
Fábio M. Costa and Gordon S. Blair. Integrating reflection and meta-information management in middleware. InProceedings of the International Symposium on Distributed Objects and Applications (DOA’00), Antwerp, Belgium, 2000. IEEE, IEEE.
Geoff Coulson, Gordon S. Blair, and Paul Grace. On the performance of reflective systems software. InProceedings of the International Workshop on Middleware Performance (IWMP’04), Phoenix, AZ, April 2004. IEEE Computer Society.
Steve Crawley, S. Davies, Jaga Indulska, Simon McBride, and Kery Raymond. Meta-information management. InProceedings of the 2nd IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS’97), Canterbury, UK, 1997. IFIP.
Rui Jorge da Silva Moreira.FORMAware: Framework Of Reflective components for Managing architecture Adaptation. Ph.d. thesis, Computing Department, Lancaster University, Lancaster, UK, March 2004.
Fabio Kon et al. Monitoring, security and dynamic configuration with the DynamicTAO reflective ORB. InProceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’2000), New York, 2000.
H. Mili et al. Metamodelling in OO — workshop summary. InAddendun to the Proceedings of OOPSLA’95, Austin, TX, 1995.
Stephen Crane et al. Configuration management for distributed software services. InProceedings of the IFIP/IEEE International Symposium on Integrated Network Management (ISINM’95), Santa Barbara, CA, 1995. IFIP/IEEE.
Waine Brookes et al. Types and their management in open distributed systems.Distributed Systems Engineering, 4(1):177–190, 1997.
Robert Filman, Michael Haupt, Katharina Mehner, and Mira Mezini, editors.Proceedings of the 2004 Dynamic Aspects Workshop (DAW04), volume 1, Lancaster, UK, March 2004. Research Institute for Advanced Computer Science. RIACS Technical Report 04.01.
Fnorb.Fnorb — release 1.1. CRC for Distributed Systems Technology, University of Queensland, Queensland, Australia, 2000. http://www.fnorb.org.
Brian Foote. Object-oriented reflective metalevel architectures: Pyrite or panacea? InProceedings of ECOOP/OOPSLA’90 Workshop on Reflection and Metalevel Architectures, Ottawa, 1990. ACM.
Paul Grace, Gordon S. Blai, and Sam Samuel. ReMMoC: A reflective middleware to support mobile client interoperability. InProceedings of the International Symposium on Distributed Objects and Applications (DOA’03), Sicily, Italy, 2003. IEEE, IEEE Computer Society.
D. B. Hehnmann, M. G. Salmony, and H. J. Stuttgen. Transport services for multimedia applications on broadband networks.Computer Communications, 13(4):197–203, 1990.
ITU-T/ISO.ITU-T X.901 | ISO/IEC 10746-1 Open Distributed Processing Reference Model — Part 1: Overview, 1995.
Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow.The Art of the Meta-Object Protocol. MIT Press, 1991.
Gregor Kiczales, J. Lamping, C. Maeda A. Mendhekar, C.V. Lopes, J-M. Loingtier, and J. Irwin. Aspect-oriented programming. InProceedings of the 11th European Conference on Object-Oriented Programming (ECOOP’97), number 1241 in Lecture Notes in Computer Science, pages 220–241, Jyvaskila, Finland, June 1997. Springer-Verlag.
Lea Kutvonen. Management of application federations. InProceedings of the International IFIP Workshop on Distributed Applications and Interoperable Systems (DAIS’97), Cottbus, Germany, 1997. IFIP.
Thomas Ledoux. OpenCORBA: A reflective open broker. InProceedings of the 2nd International Conference on Reflection and Meta-level Architectures (Reflection’99), St. Malo, France, 1999. Springer-Verlag.
Patie Maes. Concepts and experiments in computational reflection. InACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’87), Orlando, FL USA, 1987. American Computer Machinery, ACM Press.
Qusay Mahmoud. Advanced MIDP networking, acessing using sockets and RMI for MIDP-enabled devices. Technical report, Sun Microsystems, Inc., January 2002. http://developers.sun.com/techtopics/mobility/midp/articles/socketRMI/.
Jacques Malenfant, M. Jacques, and F. Demers. A tutorial on behavioural reflection and its implementation. InProceedings of Reflection’96, San Francisco, 1996.
Hideaki Okamura, Yasuhiru Ishikawa, and Mario Tokoro. AL-1/D: A distributed programming system with multi-model reflection framework. InProceedings of the International Workshop on New Models for Software Architecture (IMSA’92), 1992.
OMG.The Common Object Request Broker: Architecture and Specification. Object Management Group, Needham, MA, rev. 2.2 edition, 1998.
OMG.Meta Object Facility (MOF). Object Management Group, Needham, MA, 2000. OMG Document formal/2000-04-03.
OMG.The Common Object Request Broker: Architecture and Specification. Object Management Group, Needham, MA USA, rev. 3.0 edition, 2003.
FernandoMagno Pereira, Danielle Gordiano Valente, Geraldo Robson Mateus, and Antonio Alfredo Ferreira Loureiro. Arcademis: A java-based framework for middleware development. InProceedings of the 22nd Brazilian Symposium on Computer Networks (SBRC’2004), Gramado, RS, 2004. SBC.
Douglas Schmidt, D. L. Levine, and S. Mungee. The design of the TAO real-time object request broker.Computer Communications, 21(4):294–324, 2000.
Brian C. Smith.Reflection and Semantics in a Procedural Language. Ph.D. thesis, MIT Laboratory of Computer Science, 1982. MIT Technical Report 272.
Sun.Connected Limited Device Configuration (CLDC). Sun Microsystems, Inc., 2004. http://java.sun.com/products/cldc/index.jsp.
Sun.J2ME Mobile Information Device Profile (MIDP). Sun Microsystems, Inc., 2004. http://java.sun.com/products/midp/index.jsp.
Sun.Java 2 Platform Micro Edition. Sun Microsystems, Inc., 2004. http://java.sun.com/j2me/.
Clemens Szyperski.Component Software: Beyond object-orientation. Addison-Wesley, 1997.
Guido van Rossun.Python Documentation, version 2.3. Python Labs., 2002. http://www.python.org/doc/.
Guido van Rossun and F. L. Drake. Extending and embedding the Python interpreter. Technical report, Python Labs., 2001. http://www.python.org/doc/current/ext/ext.html.
Takuo Watanabe and Akinori Yonezawa. Reflection in an object-oriented concurrent language. InProceedings of ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’88), San Diego, CA, 1988. ACM, ACM Press.