An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability

  • Brice Morin
  • Franck Fleurey
  • Nelly Bencomo
  • Jean-Marc Jézéquel
  • Arnor Solberg
  • Vegard Dehlen
  • Gordon Blair
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5301)

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.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    David, P.C., Ledoux, T.: Safe Dynamic Reconfigurations of Fractal Architectures with FScript. In: Proceeding of Fractal CBSE Workshop, ECOOP 2006, Nantes, France (2006)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Hallsteinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic Software Product Lines. IEEE Computer 41(4) (April 2008)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    Posnak, E., Lavender, G.: An adaptive framework for developing multimedia. Communications ACM 40(10), 43–47 (1997)CrossRefGoogle Scholar
  20. 20.
    Svahnbergel, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)CrossRefGoogle Scholar
  21. 21.
    Tamai, T.: Abstraction orientated property of software and its relation to patentability. Information & Software Technology 40(5-6), 253–257 (1998)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Brice Morin
    • 1
  • Franck Fleurey
    • 2
  • Nelly Bencomo
    • 3
  • Jean-Marc Jézéquel
    • 1
  • Arnor Solberg
    • 2
  • Vegard Dehlen
    • 2
  • Gordon Blair
    • 3
  1. 1.IRISA/INRIA Rennes, Equipe TriskellRennes CedexFrance
  2. 2.SINTEFOsloNorway
  3. 3.Computing department, InfoLab21Lancaster UniversityUnited Kingdom

Personalised recommendations