Abstract
Constructing and executing distributed systems that can adapt to their operating context in order to sustain provided services and the service qualities are complex tasks. Managing adaptation of multiple, interacting services is particularly difficult since these services tend to be distributed across the system, interdependent and sometimes tangled with other services. Furthermore, the exponential growth of the number of potential system configurations derived from the variabilities of each service need to be handled. Current practices of writing low-level reconfiguration scripts as part of the system code to handle run time adaptation are both error prone and time consuming and make adaptive systems difficult to validate and evolve. In this paper, we propose to combine model driven and aspect oriented techniques to better cope with the complexities of adaptive systems construction and execution, and to handle the problem of exponential growth of the number of possible configurations. Combining these techniques allows us to use high level domain abstractions, simplify the representation of variants and limit the problem pertaining to the combinatorial explosion of possible configurations. In our approach we also use models at runtime to generate the adaptation logic by comparing the current configuration of the system to a composed model representing the configuration we want to reach.
This work was partially funded by the DiVA project (EU FP7 STREP).
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bencomo, N., Blair, G., Flores, C., Sawyer, P.: Reflective Component-based Technologies to Support Dynamic Variability. In: VaMoS 2008: 2nd Int. Workshop on Variability Modeling of Software-intensive Systems, Essen, Germany (January 2008)
Bencomo, N., Grace, P., Flores, C., Hughes, D., Blair, G.: Genie: Supporting the model driven development of reflective, component-based adaptive systems. In: ICSE 2008 - Formal Research Demonstrations Track (2008)
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: The FRACTAL Component Model and its Support in Java. Software Practice and Experience, Special Issue on Experiences with Auto-adaptive and Reconfigurable Systems 36(11-12), 1257–1284 (2006)
Chauvel, F., Barais, O., Jézéquel, J.M., Borne, I.: A Model-Driven Process for Self-Adaptive Software. In: ERTS 2008: 4th European Congress on Embedded Real Time Software, Toulouse, France (2008)
Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: A Component Model for Building Systems Software. In: SEA 2004: IASTED Software Engineering and Applications, Cambridge MA, USA (November 2004)
David, P.C., Ledoux, T.: Safe Dynamic Reconfigurations of Fractal Architectures with FScript. In: Proceeding of Fractal CBSE Workshop, ECOOP 2006, Nantes, France (2006)
Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. Software IEEE 23(2), 62–70 (2006)
Flores-Cortés, C.A., Blair, G., Grace, P.: An Adaptive Middleware to Overcome Service Discovery Heterogeneity in Mobile Ad-hoc Environments. IEEE Dist. Systems Online (2007)
France, R., Fleurey, F., Reddy, R., Baudry, B., Ghosh, S.: Providing Support for Model Composition in Metamodels. In: EDOC 2007: 11th Int. Enterprise Computing Conf. (2007)
Goedicke, M., Köllmann, C., Zdun, U.: Designing runtime variation points in product line architectures: three cases. Science of Computer Programming Special Issue: Software variability management 53(3), 353–380 (2004)
Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic Software Product Lines. IEEE Computer 41(4) (April 2008)
Hallsteinsen, S., Stav, E., Solberg, A., Floch, J.: Using product line techniques to build adaptive systems. In: SPLC 2006: 10th Int. Software Product Line Conf., Washington, DC, USA, pp. 141–150. IEEE Computer Society, Los Alamitos (2006)
Jayaraman, P.K., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model Composition in Product Lines and Feature Interaction Detection Using Critical Pair Analysis. In: MoDELS 2007: 10th Int. Conf. on Model Driven Engineering Languages and Systems, Nashville, USA (October 2007)
Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jézéquel, J.M.: Introducing Variability into Aspect-Oriented Modeling Approaches. In: MoDELS 2007: 10th Int. Conf. on Model Driven Engineering Languages and Systems, Nashville, USA (October 2007)
Morin, B., Barais, O., Jézéquel, J.M.: Weaving Aspect Configurations for Managing System Variability. In: VaMoS 2008: 2nd Int. Workshop on Variability Modelling of Software-intensive Systems, Essen, Germany (January 2008)
Morin, B., Vanwormhoudt, G., Lahire, P., Gaignard, A., Barais, O., Jézéquel, J.M.: Managing Variability Complexity in Aspect-Oriented Modeling. In: Czarnecki, K., et al. (eds.) MoDELS 2008. LNCS, vol. 5301, pp. 797–812. Springer, Heidelberg (2008)
Muller, P.A., Fleurey, F., Jézéquel, J.M.: Weaving Executability into Object-Oriented Meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)
Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-Based Runtime Software Evolution. In: ICSE 1998: 20th Int. Conf. on Software Engineering, Washington, DC, USA (1998)
Posnak, E., Lavender, G.: An adaptive framework for developing multimedia. Communications ACM 40(10), 43–47 (1997)
Svahnbergel, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)
Tamai, T.: Abstraction orientated property of software and its relation to patentability. Information & Software Technology 40(5-6), 253–257 (1998)
Wolfinger, R., Reiter, S., Dhungana, D., Grunbacher, P., Prahofer, H.: Supporting runtime system adaptation through product line engineering and plug-in techniques. In: ICCBSS 2008: 7th Int. Conf. on Composition-Based Software Systems, pp. 21–30 (2008)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Morin, B. et al. (2008). An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability. In: Czarnecki, K., Ober, I., Bruel, JM., Uhl, A., Völter, M. (eds) Model Driven Engineering Languages and Systems. MODELS 2008. Lecture Notes in Computer Science, vol 5301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87875-9_54
Download citation
DOI: https://doi.org/10.1007/978-3-540-87875-9_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87874-2
Online ISBN: 978-3-540-87875-9
eBook Packages: Computer ScienceComputer Science (R0)