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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: Wireless Sensor Networks – A Survey. Computer Networks 38, 393–422 (2002)
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)
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)
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)
Bruneton, E., Coupaye, T., Stefani, J.-B.: Recursive and Dynamic Software Composition with Sharing. In: International Workshop on Component-Oriented Programming. Malaga, Spain (2002)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Ierusalimsky, R., Figueiredo, L.H., Celes, W.: Lua – An Extensible Extension Language. Software: Practice and Experience 26, 635–652 (1996)
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)
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)
Kloukinas, C., Issarny, V.: Automating the Composition of Middleware Configurations. In: IEEE International Conference on Automated Software Engineering, Grenoble, France, pp. 241–244 (2000)
Kon, F., Costa, F., Campbell, R., Blair, G.S.: The Case for Reflective Middleware. Communications of the ACM 45(6), 33–38 (2002)
Lagaisse, B., Joosen, W.: True and Transparent Distributed Composition of Aspect-Components. In: Proc. ACM/IFIP Middleware 2006, Melbourne, Australia (2006)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: European Software Engineering Conference. Sitges, Spain, pp. 137–153 (1995)
Monroe, R.T.: Capturing Software Architecture Design Expertise with Armani. Technical Report CMU-CS-98-163, Carnegie-Mellon University, USA (1998)
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)
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)
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)
Oreizy, P., Taylor, R.N.: On the Role of Software Architectures in Runtime System Reconfiguration. IEE Proceedings 145(5), 137–145 (1998)
Pissias, P., Coulson, G., Joolia, A.: Supporting Dynamic Reconfiguration in Multithreaded Component-Based Systems. Technical Report, Lancaster University, UK (2006)
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)
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)
Szyperski, C., Gruntz, D., Murer, S.: Component Software – Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, New York (2002)
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)
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)
Wermelinger, M.: Towards a Chemical Model for Software Architecture Reconfiguration. In: IEE Proceedings - Software, vol. 145, pp. 130–136 (1998)
Author information
Authors and Affiliations
Editor information
Rights 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)