Skip to main content

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

  • Chapter
Software Engineering for Self-Adaptive Systems

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5525))

Abstract

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.

This work was partially funded by the Divergent Grid project, an ESPRC funded project and the DiVA project (EU FP7 STREP).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Professional, Reading (2003)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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)

    Article  MATH  MathSciNet  Google Scholar 

  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. 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. 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. Clements, P., Kogut, P.: The software architecture renaissance. Crosstalk - The Journal of Defense Software Engineering 7(11) (1994)

    Google Scholar 

  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. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  14. DiVA. Diva-dynamic variability in complex, adaptive systems (2008), http://www.ict-diva.eu/

  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)

    Article  Google Scholar 

  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. Garlan, D.: Software Architecture: a Roadmap. ACM Press, New York (2000)

    Book  Google Scholar 

  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. 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. 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. 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. 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. 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. Kon, F., Costa, F., Blair, G., Campbell, R.: The case for reflective middleware. Communications of the ACM 45(6), 33–38 (2002)

    Article  Google Scholar 

  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. Kruchten, P., Thompson, C.: An object-oriented, distributed architecture for large scale ada systems. In: Tri-Ada 1994, Baltimore, Maryland (1994)

    Google Scholar 

  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. Lee, J., Muthig, D.: Feature-oriented variability management in product line engineering. Communications of the ACM 49(12) (2006)

    Google Scholar 

  29. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)

    Article  Google Scholar 

  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. van Ommering, R.: Building Product Populations with Software Components. PhD Thesis. PhD thesis, Rijksuniversiteits Groningen (2004)

    Google Scholar 

  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)

    Article  Google Scholar 

  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. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering- Foundations, Principles, and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  35. Posnak, E., Lavender, G.: An adaptive framework for developing multimedia. Communications ACM 40(10), 43–47 (1997)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bencomo, N., Blair, G. (2009). Using Architecture Models to Support the Generation and Operation of Component-Based Adaptive Systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds) Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol 5525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02161-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02161-9_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02160-2

  • Online ISBN: 978-3-642-02161-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics