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).
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
References
Balasubramanian, K., Gokhale, A., Karsai, G., Sztipanovits, J., Neema, S.: Developing applications using model-driven design environments. IEEE Computer, 33–40 (2006)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Professional, Reading (2003)
Bencomo, N.: Supporting the Modelling and Generation of Reflective Middleware Families and Applications using Dynamic Variability. PhD thesis, Lancaster University (2008)
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)
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)
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)
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)
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)
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)
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)
Clements, P., Kogut, P.: The software architecture renaissance. Crosstalk - The Journal of Defense Software Engineering 7(11) (1994)
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)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)
DiVA. Diva-dynamic variability in complex, adaptive systems (2008), http://www.ict-diva.eu/
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)
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)
Garlan, D.: Software Architecture: a Roadmap. ACM Press, New York (2000)
Garlan, D., Schmerl, B.: Using architectural models at runtime: Research challenges. In: European Workshop on Software Architectures, St. Andrews, Scotland (2004)
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)
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)
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)
Gomaa, H., Hussein, M.: Model-based software design and adaptation. In: Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2007) (2007)
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)
Kon, F., Costa, F., Blair, G., Campbell, R.: The case for reflective middleware. Communications of the ACM 45(6), 33–38 (2002)
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)
Kruchten, P., Thompson, C.: An object-oriented, distributed architecture for large scale ada systems. In: Tri-Ada 1994, Baltimore, Maryland (1994)
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)
Lee, J., Muthig, D.: Feature-oriented variability management in product line engineering. Communications of the ACM 49(12) (2006)
McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)
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)
van Ommering, R.: Building Product Populations with Software Components. PhD Thesis. PhD thesis, Rijksuniversiteits Groningen (2004)
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)
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)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering- Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Posnak, E., Lavender, G.: An adaptive framework for developing multimedia. Communications ACM 40(10), 43–47 (1997)
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)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)