The Design of a Resource-Aware Reflective Middleware Architecture

Middleware has emerged as an important architectural component in supporting distributed applications. With the expanding role of middleware, however, a number of problems are emerging. Most significantly, it is becoming difficult for a single solution to meet the requirements of a range of application domains. Hence, the paper argues that the next generation of middleware platforms should be both configurable and re-configurable. Furthermore, it is claimed that reflection offers a principled means of achieving these goals. The paper then presents an architecture for reflective middleware based on a multi-model approach. The main emphasis of the paper is on resource management within this architecture (accessible through one of the meta-models). Through a number of worked examples, we demonstrate that the approach can support introspection, and fine- and coarse- grained adaptation of the resource management framework. We also illustrate how we can achieve multi-faceted adaptation, spanning multiple meta-models.

[1]  J. McAffer,et al.  Meta-level architecture support for distributed objects , 1995, Proceedings of International Workshop on Object Orientation in Operating Systems.

[2]  Paul Dourish,et al.  Developing a reflective model of collaborative systems , 1995, TCHI.

[3]  Ramana Rao,et al.  Implementational Reflection in Silica , 1991, ECOOP.

[4]  Calton Pu,et al.  Reflection on a legacy transaction processing monitor , 1996 .

[5]  Gordon S. Blair,et al.  The role of reflection in supporting dynamic QoS management functions , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[6]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[7]  Roy H. Campbell,et al.  Reflective ORBs: Supporting Robust, Time-Critical Distribution , 1997, ECOOP Workshops.

[8]  Satoshi Matsuoka,et al.  An Object-Oriented Concurrent Re ective Language for Dynamic Resource Management in Highly Parallel Computing , 1992 .

[9]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA 1988.

[10]  Guido Rossum,et al.  Internet Programming With Python , 1996 .

[11]  Tatsuo Nakajima,et al.  An approach for constructing mobile applications using service proxies , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[12]  Gordon S. Blair,et al.  A Software Architecture for Adaptive Distributed Multimedia Systems , 1998 .

[13]  George Coulouris,et al.  Dynamically reconfiguring multimedia components: a model-based approach , 1998, ACM SIGOPS European Workshop.

[14]  Brian Cantwell Smith,et al.  Procedural reflection in programming languages , 1982 .

[15]  Gordon S. Blair,et al.  Experiments with Reflective Middleware , 1998, ECOOP Workshops.

[16]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[17]  Mario Tokoro,et al.  Al-1/d: a distributed programming system with multi-model reflection framework , 1992 .

[18]  T. Fitzpatrick,et al.  Software architecture for adaptive distributive multimedia systems , 1998, IEE Proc. Softw..

[19]  Michael Clarke,et al.  A distributed object platform infrastructure for multimedia applications , 1998, Comput. Commun..

[20]  Frank Manola,et al.  MetaObject Protocol Concepts for a RISC Object Model , 1993, GTE Laboratories Incorporated.

[21]  Yasuhiko Yokote,et al.  The Apertos reflective operating system: the concept and its implementation , 1992, OOPSLA.

[22]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA '88.

[23]  Jean-Bernard Stefani,et al.  Jonathan: an open distributed processing environment in Java , 1999, Distributed Syst. Eng..

[24]  M. R. Lightner Distributed Processing Environment , 1990 .

[25]  Robert J. Stroud,et al.  Using Metaobject Protocols to Implement Atomic Data Types , 1995, ECOOP.

[26]  Gul A. Agha,et al.  The Structure and Semantics of Actor Languages , 1990, REX Workshop.

[27]  Akinori Yonezawa,et al.  Hybrid Group Reflective Architecture for Object-Oriented Concurrent Reflective Programming , 1991, ECOOP.

[28]  Jean-Bernard Stefani,et al.  Open Distributed Processing and Multimedia , 1997 .