Using Architecture Models to Support the Generation and Operation of Component-Based Adaptive Systems

  • Nelly Bencomo
  • Gordon Blair
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5525)


Modelling architectural information is particularly important because of the acknowledged crucial role of software architecture in raising the level of abstraction during development. In the MDE area, the level of abstraction of models has frequently been related to low-level design concepts. However, model-driven techniques can be further exploited to model software artefacts that take into account the architecture of the system and its changes according to variations of the environment. In this paper, we propose model-driven techniques and dynamic variability as concepts useful for modelling the dynamic fluctuation of the environment and its impact on the architecture. Using the mappings from the models to implementation, generative techniques allow the (semi) automatic generation of artefacts making the process more efficient and promoting software reuse. The automatic generation of configurations and reconfigurations from models provides the basis for safer execution. The architectural perspective offered by the models shift focus away from implementation details to the whole view of the system and its runtime change promoting high-level analysis.


software architecture dynamic adaptation model-driven engineering middleware dynamic variability 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Balasubramanian, K., Gokhale, A., Karsai, G., Sztipanovits, J., Neema, S.: Developing applications using model-driven design environments. IEEE Computer, 33–40 (2006)Google Scholar
  2. 2.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Professional, Reading (2003)Google Scholar
  3. 3.
    Bencomo, N.: Supporting the Modelling and Generation of Reflective Middleware Families and Applications using Dynamic Variability. PhD thesis, Lancaster University (2008)Google Scholar
  4. 4.
    Bencomo, N., France, R., Blair, G.: 2nd international workshop on models@run.time. In: Giese, H. (ed.) MODELS 2007. LNCS, vol. 5002, pp. 206–211. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Bencomo, N., Grace, P., Flores, C., Hughes, D., Blair, G.: Genie: Supporting the model driven development of reflective, component-based adaptive systems. In: ICSE 2008 - Formal Research Demonstrations Track (2008)Google Scholar
  6. 6.
    Berry, D.M., Cheng, B.H.C., Zhang, P.J.: The four levels of requirements engineering for and in dynamic adaptive systems. In: 11th International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ 2005), Porto, Portugal (2005)Google Scholar
  7. 7.
    Beuche, D., Papajewski, H., Schröder-Preikschat, W.: Variability management with feature models. Science of Computer Programming. Special issue: Software variability management 53(3), 333–352 (2004)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Blair, G., Coulson, G., Robin, P., Papathomas, M.: An architecture for next generation middleware. In: Seitz, J., Davies, N.A.J., Raymond, K. (eds.) IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 1998), The Lake District, UK, pp. 91–206 (1998)Google Scholar
  9. 9.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: The fractal component model and its support in java. Software: Practice and Experience 36(11), 1257–1284 (2006)Google Scholar
  10. 10.
    Burmester, S., Giese, H., Hirsch, M., Schilling, D., Tichy, M.: The fujaba real-time tool suite: model-driven development of safety-critical, real-time systems. In: ICSE (2005)Google Scholar
  11. 11.
    Clements, P., Kogut, P.: The software architecture renaissance. Crosstalk - The Journal of Defense Software Engineering 7(11) (1994)Google Scholar
  12. 12.
    Coulson, G., Blair, G.S., Grace, P., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Transactions on Computer Systems (February 2008)Google Scholar
  13. 13.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)Google Scholar
  14. 14.
    DiVA. Diva-dynamic variability in complex, adaptive systems (2008),
  15. 15.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. Software IEEE 23(2), 62–70 (2006)CrossRefGoogle Scholar
  16. 16.
    France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: Briand, L., Wolf, A. (eds.) FoSE. IEEE-CS Press, Los Alamitos (2007)Google Scholar
  17. 17.
    Garlan, D.: Software Architecture: a Roadmap. ACM Press, New York (2000)CrossRefGoogle Scholar
  18. 18.
    Garlan, D., Schmerl, B.: Using architectural models at runtime: Research challenges. In: European Workshop on Software Architectures, St. Andrews, Scotland (2004)Google Scholar
  19. 19.
    Goedicke, M., Pohl, K., Zdun, U.: Domain-specific runtime variability in product line architectures. In: 8th International Conference on Object-Oriented Information Systems, pp. 384–396 (2002)Google Scholar
  20. 20.
    Gokhale, A., Balasubramanian, K., Lu, T.: Cosmic: addressing crosscutting deployment and configuration concerns of distributed real-time and embedded systems. In: OOPSLA 2004 Companion Book, NY, USA, pp. 218–219. ACM, New York (2004)Google Scholar
  21. 21.
    Goldsby, H.J., Sawyer, P., Bencomo, N., Hughes, D., Cheng, B.H.C.: Goal-based modeling of dynamically adaptive system requirements. In: 15th Annual IEEE International Conference on the Engineering of Computer Based Systems (ECBS) (2008)Google Scholar
  22. 22.
    Gomaa, H., Hussein, M.: Model-based software design and adaptation. In: Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2007) (2007)Google Scholar
  23. 23.
    Hughes, D., Greenwood, P., Coulson, G., Blair, G., Pappenberger, F., Smith, P., Beven, K.: Gridstix: Supporting flood prediction using embedded hardware and next generation grid middleware. In: 4th International Workshop on Mobile Distributed Computing (MDC 2006), Niagara Falls, USA (2006)Google Scholar
  24. 24.
    Kon, F., Costa, F., Blair, G., Campbell, R.: The case for reflective middleware. Communications of the ACM 45(6), 33–38 (2002)CrossRefGoogle Scholar
  25. 25.
    Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: FoSE 2007: 2007 Future of Software Engineering, pp. 259–268. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  26. 26.
    Kruchten, P., Thompson, C.: An object-oriented, distributed architecture for large scale ada systems. In: Tri-Ada 1994, Baltimore, Maryland (1994)Google Scholar
  27. 27.
    Lawson, H., Kirova, V., Rossak, W.: A refinement of the ecbs architecture constituent. In: International Symposium and Workshop on Systems Engineering of Computer Based Systems, Tucson, Arizona (1995)Google Scholar
  28. 28.
    Lee, J., Muthig, D.: Feature-oriented variability management in product line engineering. Communications of the ACM 49(12) (2006)Google Scholar
  29. 29.
    McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)CrossRefGoogle Scholar
  30. 30.
    Morin, B., Fleurey, F., Bencomo, N., Jezequel, J.-M., Solberg, A., Dehlen, V., Blair, G.: An aspect-oriented and model-driven approach for managing dynamic variability. In: MODELS 2008 Conference, France (2008)Google Scholar
  31. 31.
    van Ommering, R.: Building Product Populations with Software Components. PhD Thesis. PhD thesis, Rijksuniversiteits Groningen (2004)Google Scholar
  32. 32.
    Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intelligent Systems and Their Applications 14(3), 54–62 (1999)CrossRefGoogle Scholar
  33. 33.
    Oreizy, P., Rosenblum, D.S., Taylor, R.N.: On the role of connectors in modeling and implementing software architectures. Technical Report 98-04, University of California, Irvine (1998)Google Scholar
  34. 34.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering- Foundations, Principles, and Techniques. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  35. 35.
    Posnak, E., Lavender, G.: An adaptive framework for developing multimedia. Communications ACM 40(10), 43–47 (1997)CrossRefGoogle Scholar
  36. 36.
    Sora, I., Cretu, V., Verbaeten, P., Berbers, Y.: Managing variability of self-customizable systems through composable components. Software Process: Improvement and Practice 10(1), 77–95 (2005)CrossRefGoogle Scholar
  37. 37.
    Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)Google Scholar
  38. 38.
    Taylor, R.N., van der Hoek, A.: Software design and architecture the once and future focus of software engineering. In: International Conference on Software Engineering, ICSE 2007 (FoSE 2007) (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Nelly Bencomo
    • 1
  • Gordon Blair
    • 1
  1. 1.Computing Department, InfoLab21Lancaster UniversityUnited Kingdom

Personalised recommendations