Abstract
Dynamic reconfigurations that modify the architecture of component-based systems without incurring any system downtime need to preserve the architectural consistency. In this context, we propose a reconfiguration model based on Hoare logic using sequences and (unlike most of the related work on reconfigurations) the alternative and the repetitive constructs.Using primitive reconfiguration operations as building blocks, this model takes advantage of the predicate-based semantics of programming language constructs and weakest preconditions to treat dynamic reconfigurations in a manner that preserves configuration consistency. Then, after enriching the model with interpreted configurations and reconfigurations in a consistency compatible manner, a conformance relation is exploited to validate component systems’ implementations within the environment supporting the Fractal and FraSCAti frameworks. A practical contribution consists of promising experimental results obtained thanks to our implementations, notably on a cloud-based multi-tier hosting environment model managed as a component system.
This work has been partially funded by the Labex ACTION, ANR-11-LABX-0001-01.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
For any \((p,q)\in Parent\), we say that q has a sub-component p, i.e. p is a child of q. Shared components (sub-components of multiple enclosing composite components) can have more than one parent.
- 2.
As in [6], the order in which guarded reconfigurations appear is semantically irrelevant.
- 3.
The normal running of different components also changes the architecture, e.g., by modifying parameter values or stopping components.
- 4.
Viewed as a relation.
- 5.
cbsdr stands for Component-Based System Dynamic Reconfiguration.
- 6.
- 7.
- 8.
FTPL stands for TPL (Temporal Pattern Language) prefixed by ‘F’ to denote its relation to Fractal-like components and to first-order integrity constraints over them.
References
de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013)
Kouchnarenko, O., Weber, J.-F.: Adapting component-based systems at runtime via policies with temporal patterns. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 234–253. Springer, Heidelberg (2014)
Boyer, F., Gruber, O., Pous, D.: Robust reconfigurations of component assemblies. In: International Conference on Software Engineering, ICSE 2013, pp. 13–22. IEEE Press, Piscataway (2013)
Myllärniemi, V., Ylikangas, M., Raatikainen, M., Pääkkö, J., Männistö, T., Aaltonen, T.: Configurator-as-a-service: tool support for deriving software architectures at runtime. In: The WICSA/ECSA 2012 Companion Volume, pp. 151–158. ACM (2012)
Lanoix, A., Dormoy, J., Kouchnarenko, O.: Combining proof and model-checking to validate reconfigurable architectures. ENTCS 279, 43–57 (2011)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18, 453–457 (1975)
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: The fractal component model and its support in java. Soft. Pract. Experience 36, 1257–1284 (2006)
Seinturier, L., Merle, P., Rouvoy, R., Romero, D., Schiavoni, V., Stefani, J.B.: A component-based middleware platform for reconfigurable service-oriented architectures. Softw. Pract. Experience 42, 559–583 (2012)
Dormoy, J., Kouchnarenko, O., Lanoix, A.: Using temporal logic for dynamic reconfigurations of components. In: Barbosa, L.S., Lumpe, M. (eds.) FACS 2010. LNCS, vol. 6921, pp. 200–217. Springer, Heidelberg (2012)
Hamilton, A.G.: Logic for mathematicians. Cambridge University Press, England (1988)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12, 576–580 (1969)
Kouchnarenko, O., Weber, J.F.: Practical Analysis Framework for Component Systems with Dynamic Reconfigurations (2015) Long version of the present paper – https://hal.archives-ouvertes.fr/hal-01135720
Milner, R.: Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River (1989)
Kouchnarenko, O., Weber, J.-F.: Decentralised evaluation of temporal patterns over component-based systems at runtime. In: Lanese, I., Madelaine, E. (eds.) FACS 2014. LNCS, vol. 8997, pp. 108–126. Springer, Heidelberg (2015)
Tretmans, J.: Test generation with inputs, outputs and repetitive quiescence. Softw. Concepts Tools 17, 103–120 (1996)
Chauvel, F., Barais, O., Plouzeau, N., Borne, I., Jézéquel, J.M.: Composition et expression qualitative de politiques d’adaptation pour les composants Fractal. In: Actes des Journées nationales du GDR GPL (2009)
Ma, X., Baresi, L., Ghezzi, C., Panzica La Manna, V., Lu, J.: Version-consistent dynamic reconfiguration of component-based distributed systems. In: The 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of software engineering, pp. 245–255. ACM (2011)
Kramer, J., Magee, J.: The evolving philosophers problem: dynamic change management. IEEE Trans. Software Eng. 16, 1293–1306 (1990)
Vandewoude, Y., Ebraert, P., Berbers, Y., D’Hondt, T.: Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Software Eng. 33, 856–868 (2007)
Le Metayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Software Eng. 24, 521–533 (1998)
Kähkönen, K., Lampinen, J., Heljanko, K., Niemelä, I.: The LIME interface specification language and runtime monitoring tool. In: Bensalem, S., Peled, D.A. (eds.) RV 2009. LNCS, vol. 5779, pp. 93–100. Springer, Heidelberg (2009)
Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using GROOVE. Int. J. Softw. Tools Technol. Transfer 14, 15–40 (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Kouchnarenko, O., Weber, JF. (2015). Practical Analysis Framework for Component Systems with Dynamic Reconfigurations. In: Butler, M., Conchon, S., Zaïdi, F. (eds) Formal Methods and Software Engineering. ICFEM 2015. Lecture Notes in Computer Science(), vol 9407. Springer, Cham. https://doi.org/10.1007/978-3-319-25423-4_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-25423-4_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25422-7
Online ISBN: 978-3-319-25423-4
eBook Packages: Computer ScienceComputer Science (R0)