Skip to main content

The Design of a Resource-Aware Reflective Middleware Architecture

  • Conference paper
  • First Online:

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

Abstract

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.

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   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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. Agha, G., “The Structure and Semantics of Actor Languages”, Lecture Notes in Computer Science, Vol. 489, pp 1–59, Springer-Verlag, 1991.

    Article  Google Scholar 

  2. Barga, R., Pu, C., “Reflection on a Legacy Transaction Processing Monitor”, In Proceedings of Reflection 96, G. Kiczales (ed), pp 63–78, San Francisco; Also available from Dept. of Computer Science and Engineering, Oregon Graduate Institute of Science and Technology, P.O. Box 91000, Portland, OR 97291-1000, 1996.

    Google Scholar 

  3. Blair, G.S., Stefani, J.B., “Open Distributed Processing and Multimedia, Addison-Wesley, 1997.

    Google Scholar 

  4. Blair, G.S., Coulson, G., Robin, P., Papathomas, M., “An Architecture for Next Generation Middleware”, Proc. IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), pp 191–206, Springer, 1998.

    Google Scholar 

  5. Blair, G.S., Andersen, A., Blair, L., Coulson, G., “The Role of Reflection in Supporting Dynamic QoS Management Functions”, Internal Report MPG-99-03, Computing Department, Lancaster University, Bailrigg, Lancaster, LA1 4YR, U.K., 199 January 1999.

    Google Scholar 

  6. Costa, F., Blair, G.S., Coulson, G., “Experiments with Reflective Middleware”, Proceedings of the ECOOP’98 Workshop on Reflective Object-Oriented Programming and Systems, ECOOP’98 Workshop Reader, Springer-Verlag, 1998.

    Google Scholar 

  7. Coulson, G., “A Distributed Object Platform Infrastructure for Multimedia Applications”, Computer Communications, Vol. 21, No. 9, pp 802–818, July 1998.

    Article  Google Scholar 

  8. Dourish, P., “Developing a Reflective Model of Collaborative Systems”, ACM Transactions on Computer Human Interaction, Vol. 2, No. 1, pp 40–63, March 1995.

    Article  Google Scholar 

  9. Dumant, B., Horn, F., Dang Tran, F., Stefani, J.B., “Jonathan: An Open Distributed Processing Environment in Java”, Proc. IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), Springer, September 1998.

    Google Scholar 

  10. Hayten, R., “FlexiNet Open ORB Framework”, APM Technical Report 2047.01.00, APM Ltd, Poseidon House, Castle Park, Cambridge, UK, October 1997.

    Google Scholar 

  11. Hokimoto, A., Nakajima, T., “An Approach for Constructing Mobile Applications using Service Proxies”, Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS’96), IEEE, May 1996.

    Google Scholar 

  12. Fitzpatrick, T., Blair, G.S., Coulson, G., Davies N., Robin, P., “A Software Architecture for Adaptive Distributed Multimedia Systems”, IEE Proceedings on Software, Vol. 145, No. 5, pp 163–171, October 1998.

    Article  Google Scholar 

  13. Kiczales, G., des Rivières, J., and Bobrow, D.G., “The Art of the Metaobject Protocol”, MIT Press, 1991.

    Google Scholar 

  14. Ledoux, T., “Implementing Proxy Objects in a Reflective ORB”, Proc. ECOOP’97 Workshop on CORBA: Implementation, Use and Evaluation, Jyväskylä, Finland, June 1997.

    Google Scholar 

  15. Manola, F., “MetaObject Protocol Concepts for a “RISC” Object Model”, Technical Report TR-0244-12-93-165, GTE Laboratories, 40 Sylvan Road, Waltham, MA 02254, USA, December 1993.

    Google Scholar 

  16. Masuhara, H., Matsuoka, S., Yonezawa, A., “An Object-Oriented Concurrent Reflective Language for Dynamic Resource Management in Highly Parallel Computing”, IPSJ SIG Notes, Vol. 94-PRG-18 (SWoPP’94), pp. 57–64, July 1994.

    Google Scholar 

  17. Matsuoka, S., Watanabe, T., and Yonezawa, A., “Hybrid Group Reflective Architecture for Object-Oriented Concurrent Reflective Programming”, In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’91), Geneva, Switzerland, LNCS 512, pp 231–250, Springer-Verlag, 1991.

    Chapter  Google Scholar 

  18. McAffer, J., “Meta-Level Architecture Support for Distributed Objects”, In Proceedings of Reflection 96, G. Kiczales (ed), pp 39–62, San Francisco; Available from Dept of Information Science, Tokyo University, 1996.

    Google Scholar 

  19. Mitchell, S., Naguib, H., Coulouris, G., Kindberg, T., “Dynamically Reconfiguring Multimedia Components: A Model-based Approach”, Proc. 8th ACM SIGOPS European Workshop, Lisbon, Sep. 1998.

    Google Scholar 

  20. Okamura, H., Ishikawa, Y., Tokoro, M., “AL-1/d: A Distributed Programming System with Multi-Model Reflection Framework”, Proceedings of the Workshop on New Models for Software Architecture, November 1992.

    Google Scholar 

  21. Rao, R., “Implementational Reflection in Silica”, Proceedings of ECOOP’91, Lecture Notes in Computer Science, P. America (Ed), pp 251–267, Springer-Verlag, 1991.

    Google Scholar 

  22. ReTINA, “Extended DPE Resource Control Framework Specifications”, ReTINA Deliverable AC048/D1.01xtn, ACTS Project AC048, January 1999.

    Google Scholar 

  23. Schmidt, D.C., Bector, R., Levine, D.L., Mungee, S., Parulkar, G., “Tao: A Middleware Framework for Real-time ORB Endsystems”, IEEE Workshop on Middleware for Real-time Systems and Services, San Francisco, Ca, December 1997.

    Google Scholar 

  24. Singhai, A., Sane, A., Campbell, R., “Reflective ORBs: Supporting Robust, Time-critical Distribution”, Proc. ECOOP’97 Workshop on Reflective Real-Time Object-Oriented Programming and Systems, Jyväskylä, Finland, June 1997.

    Google Scholar 

  25. Smith, B.C., “Procedural Reflection in Programming Languages”, PhD Thesis, MIT, Available as MIT Laboratory of Computer Science Technical Report 272, Cambridge, Mass., 1982.

    Google Scholar 

  26. Stroud, R.J., Wu, Z., “Using Metaobject Protocols to Implement Atomic Data Objects”, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’95), pp 168–189, Aarhus, Denmark, August 1995.

    Google Scholar 

  27. Vanegas, R., Zinky, J., Loyall, J., Karr, D., Schantz, R., Bakken, D., “QuO’s Runtime Support for Quality of Service in Distributed Objects”, Proc. IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), pp 207–222, Springer, 1998.

    Google Scholar 

  28. Watanabe, T., Yonezawa, A., “Reflection in an Object-Oriented Concurrent Language”, In Proceedings of OOPSLA’88, Vol. 23 of ACM SIGPLAN Notices, pp 306–315, ACM Press, 1988; Also available as Chapter 3 of “Object-Oriented Concurrent Programming”, A. Yonezawa, M. Tokoro (eds), pp 45–70, MIT Press, 1987.

    Google Scholar 

  29. Watters, A., van Rossum, G., Ahlstrom, J., “Internet Programming with Python”, Henry Holt (MIS/M&T Books), September 1996.

    Google Scholar 

  30. Yokote, Y., “The Apertos Reflective Operating System: The Concept and Its Implementation”, In Proceedings of OOPSLA’92, ACM SIGPLAN Notices, Vol. 28, pp 414–434, ACM Press, 1992.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Blair, G.S. et al. (1999). The Design of a Resource-Aware Reflective Middleware Architecture. 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_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-48443-4_9

  • 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

Publish with us

Policies and ethics