Skip to main content

Architecting Dynamic Reconfiguration in Dependable Systems

  • Chapter
Architecting Dependable Systems IV

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

Abstract

The need for dynamic reconfiguration is a complicating factor in the design of dependable systems, as it demands from software architects both rigour and planning. Although recent research has shown that systematic and integrated “specification-to-deployment” environments are promising approaches to architecting dependable systems, few proposals have yet considered dynamic reconfiguration, and then only in specific situations. In this paper, we propose a generic approach to supporting dynamic reconfiguration in dependable systems. The proposed approach is built on our view that dynamic reconfiguration in such systems needs to be causally connected at runtime to a corresponding high-level software architecture specification. In more detail, we propose two causally-connected models: an architecture-level model and a runtime-level model. Dynamic reconfiguration can be applied either through an architecture specification at the architecture level, or through reconfiguration primitives at the runtime level. Both foreseen and unforeseen reconfigurations are supported. We discuss the issues involved in handling these two types of reconfiguration at both levels and the mapping between them. We also discuss an implementation of our approach that evaluates its main benefits.

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. Abi-Antoun, M., Aldrich, J., Garlan, D., Schmerl, B., Nahas, N., Tseng, T.: Improving System Dependability by Enforcing Architectural Intent. In: Workshop on Architecting Dependable Systems. St. Louis (MO), USA (2005)

    Google Scholar 

  2. Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless Sensor Networks – A Survey. Computer Networks 38, 393–422 (2002)

    Article  Google Scholar 

  3. Batista, T., Joolia, A., Coulson, G.: Managing Dynamic Reconfiguration in Component-Based Systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005)

    Google Scholar 

  4. Blair, G., Coulson, G., Grace, P.: Research Directions in Reflective Middleware: the Lancaster Experience. In: RM 2004. Proc. 3rd Workshop on Reflective and Adaptive Middleware co-located with Middleware 2004, Toronto, Ontario – Canada pp. 262–268 (2004)

    Google Scholar 

  5. Blair, G.S., Blair, L., Issarny, V., Tuma, P., Zarras, A.: The Role of Software Architecture in Constraining Adaptation in Component-Based Middleware Platforms. In: IFIP/ACM International Conference on Middleware. Hudson River Valley (NY), USA (2000)

    Google Scholar 

  6. Bruneton, E., Coupaye, T., Stefani, J.-B.: Recursive and Dynamic Software Composition with Sharing. In: International Workshop on Component-Oriented Programming. Malaga, Spain (2002)

    Google Scholar 

  7. Cheng, S-W., Garlan, D., Schmerl, B., Sousa, J.P., Spitznagel, B., Steenkiste, P., Hu, N.: Using Architectural Style as the Basis for Self-Repair. In: Working IEEE/IFIP Conference on Software Architecture, Montreal, Canada (2002)

    Google Scholar 

  8. Costa, P., Coulson, G., Mascolo, C., Picco, G.P., Zachariadis, S.: The RUNES Middleware – a Reconfigurable Component-Based Approach to Networked Embedded Systems. In: Annual International Symposium on Personal Indoor and Mobile Radio Communications. Berlin, Germany (2005)

    Google Scholar 

  9. Coulson, G., Blair, G.S., Clarke, M., Parlavantzas, N.: The Design of a Highly Configurable and Reconfigurable Middleware Platform. ACM Distributed Computing Journal 15, 109–126 (2002)

    Article  Google Scholar 

  10. Coulson, G., Blair, G.S., Grace, P., Joolia, A., Lee, K., Ueyama, J.: OpenCOM v2: A Component Model for Building Systems Software. In: IASTED Software Engineering and Applications. Cambridge, MA, USA (2004)

    Google Scholar 

  11. Coulson, G., Blair, G.S., Hutchison, D., Joolia, A., Lee, K., Ueyama, J., Gomes, A.T.A., Ye, Y.: NETKIT: A Software Component-Based Approach to Programmable Networking. ACM SIGCOMM Computer Communications Review 33, 55–66 (2003)

    Article  Google Scholar 

  12. Dashfoy, E.M., van der Hoek, A., Taylor, R.N.: A Highly-Extensible, XML-Based Architecture Description Language. In: Working IEEE/IFIP Conference on Software Architecture, pp. 28–31. Amsterdam, The Netherlands (2001)

    Google Scholar 

  13. Garlan, D., Allen, R.J., Ockerbloom, J.: Exploiting Style in Architectural Design. In: SIGSOFT Symposium on the Foundations of Software Engineering. New Orleans, LA, USA (1994)

    Google Scholar 

  14. Garlan, D., Monroe, R., Wile, D.: Acme: Architectural Description of Component-Based Systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  15. Georgas, J.C., van der Hoek, A., Taylor, R.N.: Architectural Runtime Configuration Management in Support of Dependable Self-Adaptive Software. In: Workshop on Architecting Dependable Systems. St. Louis (MO), USA (2005)

    Google Scholar 

  16. Georgiadis, I., Magee, J., Kramer, J.: Self-organising Software Architectures for Distributed Systems. In: First Workshop on Self-healing Systems. Charleston, USA, pp. 33–38 (2002)

    Google Scholar 

  17. Gomes, A.T.A., Coulson, G., Blair, G.S., Soares, L.F.G.: A Component-Based Approach to the Creation and Deployment of Network Services in the Programmable Internet. Technical Report MCC-42/03, PUC-Rio, Brazil (2003)

    Google Scholar 

  18. Gomes, A.T.A., Ziviani, A., de Souza e Silva, N.A., Feijoo, R.A.: Towards a ubiquitous healthcare system for acute myocardial infarction patients in Brazil. In: Pervasive Computing and Communications Workshops. Pisa, Italy (2006)

    Google Scholar 

  19. Ierusalimsky, R., Figueiredo, L.H., Celes, W.: Lua – An Extensible Extension Language. Software: Practice and Experience 26, 635–652 (1996)

    Article  Google Scholar 

  20. Joolia, A., Batista, T., Coulson, G., Gomes, A.T.A.: Mapping ADL Specifications to an Efficient and Reconfigurable Runtime Component Platform. In: Working IEEE/IFIP Conference on Software Architecture. Pittsburgh (MA), USA, pp. 131–140 (2005)

    Google Scholar 

  21. Kirby, G.N.C., Connor, R.C.H., Cutts, Q.I., Dearle, A., Farkas, A.M., Morrison, R.: Persistent Hyper-Programs. In: Albano, A., Morrison, R. (eds.) Persistent Object Systems, Workshops in Computing, pp. 86–106. Springer, Heidelberg (1992)

    Google Scholar 

  22. Kloukinas, C., Issarny, V.: Automating the Composition of Middleware Configurations. In: IEEE International Conference on Automated Software Engineering, Grenoble, France, pp. 241–244 (2000)

    Google Scholar 

  23. Kon, F., Costa, F., Campbell, R., Blair, G.S.: The Case for Reflective Middleware. Communications of the ACM 45(6), 33–38 (2002)

    Article  Google Scholar 

  24. Lagaisse, B., Joosen, W.: True and Transparent Distributed Composition of Aspect-Components. In: Proc. ACM/IFIP Middleware 2006, Melbourne, Australia (2006)

    Google Scholar 

  25. Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: European Software Engineering Conference. Sitges, Spain, pp. 137–153 (1995)

    Google Scholar 

  26. Monroe, R.T.: Capturing Software Architecture Design Expertise with Armani. Technical Report CMU-CS-98-163, Carnegie-Mellon University, USA (1998)

    Google Scholar 

  27. Moreira, R., Blair, G.S., Carrapatoso, E.: FORMAware – Framework of Reflective Components for Managing Architecture Adaptation. In: International Symposium on Distributed Objects and Applications. Rome, Italy (2001)

    Google Scholar 

  28. Morrison, R., Kirby, G., Balasubramaniam, D., Mickan, K., Oquendo, F., Cimpan, S., Warboys, B., Snowdon, B., Greenwood, R.M.: Support for Evolving Software Architectures in the ArchWare ADL. In: Working IEEE/IFIP Conference on Software Architecture. Oslo, Norway, pp. 69–78 (2004)

    Google Scholar 

  29. Oreizy, P., Gorlic, M., Taylor, R., Medvidovick, N., et al.: An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14, 54–62 (1999)

    Article  Google Scholar 

  30. Oreizy, P., Taylor, R.N.: On the Role of Software Architectures in Runtime System Reconfiguration. IEE Proceedings 145(5), 137–145 (1998)

    Article  Google Scholar 

  31. Pissias, P., Coulson, G., Joolia, A.: Supporting Dynamic Reconfiguration in Multithreaded Component-Based Systems. Technical Report, Lancaster University, UK (2006)

    Google Scholar 

  32. Reid, A., Flatt, M., Stoller, L., Lepreau, J., Eide, E.: Knit: Component Composition for Systems Software. In: Symposium on Operating Systems Design and Implementation. San Diego (CA), USA, pp. 347–360 (2000)

    Google Scholar 

  33. Roshandel, R., van der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae – A System Model and Environment for Managing Architectural Evolution. ACM Transactions on Software Engineering and Methodology 3, 240–276 (2004)

    Article  Google Scholar 

  34. Szyperski, C., Gruntz, D., Murer, S.: Component Software – Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, New York (2002)

    Google Scholar 

  35. Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead, E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component- and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22, 390–406 (1996)

    Article  Google Scholar 

  36. van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33, 85–87 (2000)

    Google Scholar 

  37. Wermelinger, M.: Towards a Chemical Model for Software Architecture Reconfiguration. In: IEE Proceedings - Software, vol. 145, pp. 130–136 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rogério de Lemos Cristina Gacek Alexander Romanovsky

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gomes, A.T.A., Batista, T.V., Joolia, A., Coulson, G. (2007). Architecting Dynamic Reconfiguration in Dependable Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems IV. Lecture Notes in Computer Science, vol 4615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74035-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74035-3_11

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-74035-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics