Abstract
Architecture-based approaches for runtime evolution enable software systems to dynamically move between consistent architectural variants. Successful runtime evolution must enable the new, replacement variant to be initialized with the data of the replaced one. In distributed systems, however, the initialization is complex and may be time-consuming due to data transfers across sites. Identifying systems’ components subject to change is then critical for planning evolution and reducing replacement actions, avoid unnecessary data transfers, and then, reduce downtime of system services. Addressing this issue, this paper presents an approach to runtime evolution of distributed applications. We present how a development process allows to 1) specify architectural variants of an application and 2) identify components subject to change and operations for transferring data managed by these components. Moreover, the design information is used at runtime to automatically plan evolution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: A research roadmap. In: Software Engineering for Self-Adaptive Systems, pp. 1–26 (2009)
Phung-Khac, A., Beugnard, A., Gilliot, J.M., Segarra, M.T.: Model-driven development of component-based adaptive distributed applications. In: SAC 2008 DADS Track, ACM Press, New York (2008)
Cariou, E., Beugnard, A., Jézéquel, J.M.: An architecture and a process for implementing distributed collaborations. In: EDOC 2002, Lausanne, Switzerland (2002)
Kaboré, E., Beugnard, A.: Implementing a data distribution variant with a metamodel, some models and a transformation. In: Meier, R., Terzis, S. (eds.) DAIS 2008. LNCS, vol. 5053, pp. 224–237. Springer, Heidelberg (2008)
Buisson, J., André, F., Pazat, J.L.: A framework for dynamic adaptation of parallel components. In: ParCo 2005 (2005)
Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.M.: The many faces of publish/subscribe. ACM Computing Surveys 35(2), 114–131 (2003)
Bamberg University, Distributed System Group: Openchord, http://www.uni-bamberg.de/projects/openchord
Druschel, P., Rowstron, A.: PAST: A large-scale, persistent peer-to-peer storage utility. In: HOTOS 2001. IEEE Computer Society, Los Alamitos (2001)
Tarr, P., Ossher, H., Harrison, W., Sutton, S.: N degrees of separation: Multi-dimensional separation of concerns. In: ICSE 1999. ACM Press, New York (1999)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: PESEC 1995. Springer, Heidelberg (1995)
Oquendo, F., Warboys, B., Morrison, R., Dindeleux, R., Gallo, F., Garavel, H., Occhipinti, C.: ArchWare: Architecting Evolvable Software. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 257–271. Springer, Heidelberg (2004)
Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., An, A.L.W.: Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14, 54–62 (1999)
Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)
Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE Software 23(2), 62–70 (2006)
Morin, B., Barais, O., Jézéquel, J.-M., Fleurey, F., Solberg, A.: Models@run.time to support dynamic adaptation. IEEE Computer 42(10), 44–51 (2009)
Cetina, C., Giner, P., Fons, J., Pelechano, V.: Autonomic computing through reuse of variability models at runtime: The case of smart homes. Computer 42(10), 37–43 (2009)
Bencomo, N.: Supporting the Modelling and Generation of Reflective Middleware Families and Applications using Dynamic Variability. PhD thesis, Lancaster University (2008)
The Eclipse Foundation: Eclipse modeling framework (EMF), http://www.eclipse.org/modeling/emf/
IRISA Triskell: Kermeta, http://www.kermeta.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Phung-Khac, A., Gilliot, JM., Segarra, MT., Beugnard, A., Kaboré, E. (2010). Modelling Changes and Data Transfers for Architecture-Based Runtime Evolution of Distributed Applications. In: Babar, M.A., Gorton, I. (eds) Software Architecture. ECSA 2010. Lecture Notes in Computer Science, vol 6285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15114-9_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-15114-9_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15113-2
Online ISBN: 978-3-642-15114-9
eBook Packages: Computer ScienceComputer Science (R0)