The Role of Software Architecture in Constraining Adaptation in Component-Based Middleware Platforms

  • Gordon S. Blair
  • Lynne Blair
  • Valérie Issarny
  • Petr Tuma
  • Apostolos Zarras
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1795)


Future middleware platforms will need to be more configurable in order to meet the demands of a wide variety of application domains. Furthermore, we believe that such platforms will also need to be reconfigurable, for example to enable systems to adapt to changes in the underlying systems infrastructure. A number of technologies are emerging to support this level of configurability and re-configurability, most notably middleware platforms based on the concepts of open implementation and reflection. One problem with this general approach is that widespread changes can often be made to the middleware platform, potentially jeopardizing the integrity of the overall system. This paper discusses the role of software architecture in maintaining the overall integrity of the system in such an environment. More specifically, the paper discusses extensions to the Aster framework to support the re-configuration of a reflective (component-based) middleware platform in a constrained manner. The approach is based on i) the formal specification of a range of possible component configurations, ii) the systematic selection of configurations based on a given set of non-functional properties, and iii) the orderly re-configuration between configurations, again based on formally specified rules.


Software Architecture Idle State Dynamic Reconfiguration Architecture Description Language Software Architecture Community 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [Barbacci93]
    Barbacci, M., C. Weinstock, D. Doubleday, M. Gardner, R. Lichota, “DURRA: A Structure Description Language for Developing Distributed Applications”, Software Engineering Journal, pp 83–94, March 1993.Google Scholar
  2. [Bidan98]
    Bidan, C., V. Issarny, “Dealing with Multi-Policy Security in Large Open Distributed Systems”, Proceedings of the 5th European Symposium on Research in Computer Security, pp 51–66, September 1998.Google Scholar
  3. [Bjorner98]
    Bjorner N., A. Browne, M. Colon, B. Finkbeiner, Z. Manna, M. Pichora, H.B. Sipma, T.E. Uribe, “STeP: The Stanford Temporal Prover Educational Release”, Stanford University, 1.4-a edition, July 1998.Google Scholar
  4. [Blair97]
    Blair, G.S., J.B. Stefani, “Open Distributed Processing and Multimedia”, Addison-Wesley, 1997.Google Scholar
  5. [Blair98]
    Blair, G.S., G. Coulson, P. Robin, M. Papathomas, “An Architecture for Next Generation Middleware”, Proc. IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), Springer, 1998.Google Scholar
  6. [Blair99a]
    Blair, G.S., F. Costa, G. Coulson, H. Duran, N. Parlavantzas, F. Delpiano, B. Dumant, F. Horn, J.B. Stefani, “The Design of a Resource-Aware Reflective Middleware Architecture”, Proc. of the 2nd Int. Conference on Meta-Level Architectures and Reflection (Reflection’99), St-Malo, France, Springer-Verlag, LNCS, Vol. 1616, pp 115–134, 1999.CrossRefGoogle Scholar
  7. [Blair99b]
    Blair, G.S., A. Amdersen, L. Blair, G. Coulson, “The Role of Reflection in Supporting Dynamic QoS Management Functions”, Proceedings of the IEEE/IFIP International Workshop on Quality of Service (IWQoS’99), London, June 1999.Google Scholar
  8. [Costa98]
    Costa, F., G.S. Blair, G. Coulson, “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
  9. [Donaldson98]
    Donaldson, D., M. Faupel, R. Hayton, A. Herbert, N. Howarth, A. Kramer, I. MacMillan, S. Waterhouse, “DIMMA-A Multi-media ORB”, Proc. Middleware ‘98, The Low Wood Hotel, Ambleside, England, September 1998.Google Scholar
  10. [Dumant97]
    Dumant, B., F. Horn, F. Dang Tran, J.B. Stefani, “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
  11. [Edler92]
    Edler, M., J. Wei, “Programming Generic Dynamic Reconfiguration for Distributed Applications”, Proceedings of the International Workshop on Configurable Distributed Systems, pp 68–79, March 1992.Google Scholar
  12. [Fitzpatrick98]
    Fitzpatrick, T., G.S. Blair, G. Coulson, N. Davies, P. Robin, “Supporting Adaptive Multimedia Applications through Open Bindings”, Proceedings of the 4th International Conference on Configurable Distributed Systems, IEEE, 1998.Google Scholar
  13. [Fitzpatrick99]
    Fitzpatrick, T., “Open Multimedia Component Middleware for Adaptive Distributed Applications”, PhD Thesis, Computing Department, Lancaster University, Bailrigg, Lancaster, LA1 4YR, UK, September 1999.Google Scholar
  14. [Hayton97]
    Hayton, R., “FlexiNet Open ORB Framework”, APM Technical Report 2047.01.00, APM Ltd, Poseidon House, Castle Park, Cambridge, UK, 1997.Google Scholar
  15. [Hofmeister93]
    Hofmeister, C., J. Purtilo, “Dynamic Reconfiguration for Distributed Systems, Adapting Software Modules for Replacement”, Proceedings of the 13th IEEE International Conference on Distributed Computing Systems (ICDCS’93), May 1993.Google Scholar
  16. [Issarny96]
    Issarny, V., C. Bidan, “Aster: A Framework for Sound Customization of Distributed Runtime Systems”, Proceedings of the 16th IEEE International Conference on Distributed Computing Systems (ICDCS’96), May 1996.Google Scholar
  17. [Kiczales91]
    Kiczales, G., J. des Rivières, D.G. Bobrow, “The Art of the Metaobject Protocol”, MIT Press, 1991.Google Scholar
  18. [Kiczales97]
    Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J-M. Loingtier, J. Irwin, “Aspect-Oriented Programming”, Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, Lecture Notes in Computer Science, Vol. 1241, Springer-Verlag, June 1997.Google Scholar
  19. [Killijian99]
    Killijian, M.O., J.C. Ruiz-Garcia, J.C. Fabre, “Using Compile-Time Reflection for Objects’ State Capture”, Proceedings of the 2nd International Conference on Meta-Level Architectures and Reflection (Reflection’99), St-Malo, France, Springer-Verlag, LNCS, Vol. 1616, pp 150–152, 1999.CrossRefGoogle Scholar
  20. [Kramer90]
    Kramer, J., J. Magee, “The Evolving Philosophers Problem”, IEEE Transactions on Software Engineering, Vol. 15, No. 1, pp 1293–1306, November 1990.CrossRefGoogle Scholar
  21. [Ledoux97]
    Ledoux, T., “Implementing Proxy Objects in a Reflective ORB”, Proc. ECOOP’97 Workshop on CORBA: Implementation, Use and Evaluation, Jyväskylä, Finland, 1997.Google Scholar
  22. [Li99]
    Li, B. and K. Nahrstedt, “Dynamic Reconfiguration for Complex Multimedia Applications, Proceedings of the IEEE International Conference on Multimedia Computing and Systems (IEEE Multimedia Systems’ 99), Florence, Italy, June 7–11, 1999.Google Scholar
  23. [Magee92]
    Magee, J., N. Dulay, J. Kramer, “Structuring Parallel and Distributed Systems”, Proc. of the International Workshop on Configurable Distributed Systems, March 1992.Google Scholar
  24. [McAffer96]
    McAffer, J., “Meta-Level Architecture Support for Distributed Objects”, In Proceedings of Reflection 96, G. Kiczales (end), pp 39–62, San Francisco; Also available from Department of Information Science, The University of Tokyo, 1996.Google Scholar
  25. [Medvidovic96]
    “ADLs and Dynamic Architecture Changes”, Proceedings of the 2nd ACM SIGSOFT International Software Architecture Workshop (ISAW-2), pp 24–27, October 1996.Google Scholar
  26. [Medvidovic97]
    N. Medvidovic, R. Taylor, “A framework for classifying and comparing architecture description languages”, Proc. of the Joint European Software Engineering-ACM SIGSOFT Symposium on Foundations of Software Engineering, pp 60–76, September 1997.Google Scholar
  27. [Okamura92]
    Okamura, H., Y. Ishikawa, M. Tokoro, “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
  28. [OMG99]
    The Common Object Request Broker: Architecture and Specification versions 3.0., available at
  29. [Perry92]
    D. E. Perry, A. L. Wolf, “Foundations for the Study of Software Architecture”, ACM SIGSOFT Software Engineering Notes, 17(4), pp 40–52, October 1992.CrossRefGoogle Scholar
  30. [Román99]
    Román, M., F. Kon, R. Campbell, “Design and Implementation of Runtime Reflection in Communication Middleware: the dynamicTAO Case”, Proceedings of the ICDCS’99 Workshop on Middleware, Austin, Texas, May–June 1999.Google Scholar
  31. [Saridakis99]
    Saridakis, T., V. Issarny, “Developing Dependable Systems Using Software Architecture”, Proceedings of the 1st Working IFIP Conference on Software Architecture, pp 80–104, February 1999.Google Scholar
  32. [Schmidt97]
    Schmidt, D.C., R. Bector, D. Levine, S. Mungee, G. Parulkar, “An ORB End System Architecture for Statically Scheduled Real-Time Applications”, Proceedings of the Workshop on Middleware for Real-Time Systems and Services”, IEEE, San Francisco, 1997.Google Scholar
  33. [Smith82]
    Smith, B.C., “Procedural Reflection in Programming Languages”, PhD Thesis, MIT, Available as MIT Computer Science Technical Report 272, Cambridge, Mass., 1982.Google Scholar
  34. [Szyperski98]
    Szyperski, C., “Component Software: Beyond Object-Oriented Programming”, Addison-Wesley, 1998.Google Scholar
  35. [Vanegas98]
    Vanegas, R., J. Zinky, J. Loyall, D. Karr, R. Schantz, D. Bakken, “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), Springer, September 1998.Google Scholar
  36. [Watanabe88]
    Watanabe, T., A. Yonezawa, “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
  37. [Zarras98]
    Zarras, A., V. Issarny, “A Framework for Systematic Synthesis of Transactional Middleware”, Proc. IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), pp 257–272, Springer, September 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Gordon S. Blair
    • 1
  • Lynne Blair
    • 1
  • Valérie Issarny
    • 2
  • Petr Tuma
    • 3
  • Apostolos Zarras
    • 2
  1. 1.Distributed Multimedia Research Group, Computing DepartmentLancaster UniversityBailrigg, LancasterUK
  2. 2.Solidor Research GroupINRIA-RocquencourtLe Chesnay CédexFrance
  3. 3.Distributed Systems Research Group, Department of Software Engineering, Faculty of Mathematics and PhysicsCharles UniversityPragueCzech Republic

Personalised recommendations