Skip to main content

The K-Component Architecture Meta-Model for Self-Adaptive Software

  • Conference paper
  • First Online:
Metalevel Architectures and Separation of Crosscutting Concerns (Reflection 2001)

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

Included in the following conference series:

Abstract

Software architectures have recently emerged as a level of design concerned with specifying the overall structure of a system. Traditionally, software architectures only provide static descriptions of the participants and interaction structures in a system. Dynamic software architectures, however, can be reconfigured at runtime and therefore provide support for building dynamically adaptable applications. Software architectures can be specified using architectural reflection. In this paper we introduce an architecture meta-model that realises a dynamic software architecture. The architecture meta-model reifies the configuration graph of the architecture and is automatically generated from our component definitions and implementation language sourcecode. We show how graph transformations that re-write the architecture’s configuration graph can be implemented as reflective programs, called adaptation contracts. Adaptation contracts are written in a separate programming language, thus cleanly separating the adaptation code from the computational code. Adaptation contracts can even be replaced at run-time. They are deployed in a run-time meta-level architecture that addresses issues of system safety, integrity and overhead during graph transformation. The paper also describes a prototype implementation of our model called K-Components.

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. Carnegie Mellon Software Institute, Architecture Description Languages, URL = http://www.sei.cmu.edu/str/descriptions/adl_body.html.

  2. Robert J. Allen, Remi Douence, and David Garlan, “Specifying and Analyzing Dynamic Software Architectures”, Conference on Fundamental Approaches to Software Engineering, March 1998.

    Google Scholar 

  3. Gordon Blair et Al., “The Design and Implementation of Open ORB v2”, DS Online Vol. 2, No. 6 2001.

    Google Scholar 

  4. Walter Cazzola, Andrea Savigni, Andrea Sosio, and Francesco Tisato, “Explicit Architecture and Architectural Reflection”. In Proceedings of the 2nd International Workshop on Engineering Distributed Objects (EDO 2000), LNCS. Springer-Verlag.

    Google Scholar 

  5. OMG, The CORBA Component Model, orbos/99-07-01.

    Google Scholar 

  6. Guy and Henry Eddon, Inside COM+ Base Services, Mircosoft Press, 1999.

    Google Scholar 

  7. A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, M. Loewe, “Algebraic Approaches to Graph Transformation, Part I: Basic Concepts and Double Pushout Approach”, Technical Report: TR-96-17, University of Pisa, 1996.

    Google Scholar 

  8. Carlos E. Cuesta, Pablo de la Fuenta and Manuel Barrio Solrazano, “Dynamic Coordination Architecture through the use of Reflection”, Coordination Models, Languages and Applications Special Track of ACM SAC, 2001.

    Google Scholar 

  9. Krzysztof Czarnecki and Ulrich W. Eisenecker, Generative Programming, Ad. Wesley 2000.

    Google Scholar 

  10. J. Magee, N. Dulay, S. Eisenbach and J. Kramer, “Specifying Distributed Software Architectures”, In Proceedings of 5th European Software Engineering Conference, Sept. 1995.

    Google Scholar 

  11. Jim Dowling, Tilman Schaefer, Vinny Cahill, “Using Reflection to Support Dynamic Adaptation of System Software: A Case Study Driven Evaluation”, In Proceedings of Software Engineering and Reflection 2000, LNCS 1826.

    Chapter  Google Scholar 

  12. Jim Dowling and Vinny Cahill, “Building a Dynamically Reconfigurable minimumCORBA Platform with Components, Connectors and Language-Level Support”, In IFIP/ACM Middleware’2000 Workshop on Reflective Middleware,New York, USA, April 2000.

    Google Scholar 

  13. Gregor Kiczales et Al., “Open Implementation Guidelines”, 19th International Conference on Software Engineering (ICSE), ACM Press, May 1997.

    Google Scholar 

  14. Jeff Kramer and Jeff Magee, “Analysing Dynamic Change in Distributed Software Architectures”, IEEE Proceedings-Software, 145(5):146–154, October 1998.

    Article  Google Scholar 

  15. Fabio Kon, Tomonori Yamane, Christopher K. Hess, Roy H. Campbell and M. Dennis Mickunas, “Dynamic Resource Management and Automatic Configuration of Distributed Component Systems”, USENIX COOTS’2001.

    Google Scholar 

  16. D. Le Metayer, “Describing software architecture styles using graph grammars”, IEEE Transactions on Software Engineering, 24(7):521–553, July 1998.

    Article  Google Scholar 

  17. Kaveh Moazami-Goudarzi, Consistency Preserving Dynamic Reconfiguration of Distributed Systems. PhD Thesis, Imperial College London, March 1999.

    Google Scholar 

  18. Nenad Medvidovic, Peyman Oreizy, Richard Taylor, Rohit Khare, and Michael Guntersdorfer, “An Architecture-Centered Approach to Software Environment Integration”, Tech Report UCI-ICS-00-11, Dept. of Info. and Computer Science, University of California, Irvine, March 2000.

    Google Scholar 

  19. Nenad Medvidovic and Richard N. Taylor, “A Classification and Comparison Framework for Software Architecture Description Languages”, IEEE Transactions on Software Engineering, January 2000.

    Google Scholar 

  20. Peyman Oreizy et Al., “An Architecture-Based Approach to Self-Adaptive Software”, IEEE Intelligent Systems, May/June 1999.

    Google Scholar 

  21. Pal PP, Loyall JP, Schantz RE, Zinky JA, Shapiro R, Megquier J., “Using QDL to Specify QoS Aware Distributed Application Configuration”, In Proceedings of ISORC 2000, March 2000.

    Google Scholar 

  22. David C. Luckham and James Vera, “An Event-Based Architecture Definition Language”, IEEE Transactions on Software Engineering, Vol 21, No 9, pp.717–734. Sep. 1995.

    Article  Google Scholar 

  23. M. Shaw and D. Garlan, Software Architecture: Perspecitves on an Emerging Discipline. Prentice Hall, Englewood Cliffs, NJ, 1996.

    Google Scholar 

  24. Francisco Jose da Silva, M. Endler, F. Kon, Roy Campbell and Dennis Mickunas, “Modeling Dynamic Adaptation of Distributed Systems”, UIUCDCS-R-2000-2196, December 2000.

    Google Scholar 

  25. Michel Wermelinger, Specification of Software Architecture Reconfiguration, PhD Thesis Universidade Nove de Lisboa, 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dowling, J., Cahill, V. (2001). The K-Component Architecture Meta-Model for Self-Adaptive Software. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-45429-2_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42618-9

  • Online ISBN: 978-3-540-45429-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics