An Aspect-Oriented Approach for Developing Self-Adaptive Fractal Components

  • Pierre-Charles David
  • Thomas Ledoux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4089)


Nowadays, application developers have to deal with increasingly variable execution contexts, requiring the creation of applications able to adapt themselves autonomously to the evolutions of this context. In this paper, we show how an aspect-oriented approach enables the development of self-adaptive applications where the adaptation code is well modularized, both spatially and temporally. Concretely, we propose SAFRAN, an extension of the Fractal component model for the development of the adaptation aspect as reactive adaptation policies. These policies detect the evolutions of the execution context and adapt the base program by reconfiguring it. This way, SAFRAN allows the modular development of adaptation policies and their dynamic weaving into running applications.


Base Program Adaptation Policy Fractal Component Primitive Action Reactive Rule 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dey, A.K., Abowd, G.D.: Towards a better understanding of context and context-awareness. In: Workshop on The What, Who, Where, When, and How of Context-Awareness, as part of CHI 2000, The Hague, The Netherlands (2000)Google Scholar
  2. 2.
    Kephart, J.: A vision of autonomic computing. In: Gabriel, R.P. (ed.) Onward! proceedings from an OOPSLA 2002 track, Seattle, WA, USA, pp. 13–36. ACM, New York (2002)Google Scholar
  3. 3.
    Dowling, J., Cahill, V.: The K-Component architecture meta-model for self-adaptive software. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  5. 5.
    Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.B.: An open component model and its support in java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: An annotated bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)CrossRefGoogle Scholar
  7. 7.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. In: Workshop on Advanced Separation of Concerns, Minneapolis (2000)Google Scholar
  9. 9.
    Douence, R., Fradet, P., Südholt, M.: A framework for the detection and resolution of aspect interactions. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 173–188. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  10. 10.
    David, P.C.: Développement de composants Fractal adaptatifs : un langage dédié á l’aspect d’adaptation. PhD thesis, Université de Nantes / École des Mines de Nantes (2005)Google Scholar
  11. 11.
    Aldrich, J., Chambers, C., Notkin, D.: Architectural reasoning in ArchJava. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 334. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Redmond, B., Cahill, V.: Supporting unanticipated dynamic adaptation of application behaviour. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 205–230. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    World Wide Web Consortium: XML path language (XPath) version 1.0. W3C Recommendation (1999),
  14. 14.
    David, P.C., Ledoux, T.: WildCAT: a generic framework for context-aware applications. In: Proceeding of MPAC 2005, the 3rd International Workshop on Middleware for Pervasive and Ad-Hoc Computing, Grenoble, France (2005)Google Scholar
  15. 15.
    Dittrich, K.R., Gatziu, S., Geppert, A.: The active database management system manifesto: A rulebase of a ADBMS features. In: Sellis, T.K. (ed.) RIDS 1995. LNCS, vol. 985, pp. 3–20. Springer, Heidelberg (1995)Google Scholar
  16. 16.
    McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)Google Scholar
  17. 17.
    Chefrour, D., André, F.: Développement d’applications en environnements mobiles à l’aide du modèle de composant adaptatif ACEEL. In: LMO 2003, Vannes, Hermès (2003)Google Scholar
  18. 18.
    Layaïda, O., Hagimont, D.: Designing self-adaptive multimedia applications through hierarchical reconfiguration. In: Kutvonen, L., Alonistioti, N. (eds.) DAIS 2005. LNCS, vol. 3543, pp. 95–107. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Cilia, M., Haupt, M., Mezini, M., Buchmann, A.: The convergence of AOP and active databases: Towards reactive middleware. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 169–188. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Pessemier, N., Seinturier, L.: Components, ADL & AOP: Towards a common approach. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086. Springer, Heidelberg (2004)Google Scholar
  21. 21.
    Fakih, H., Bouraqadi, N.: Les aspects et les composants logiciels: Etude de cas avec le modèle de composant Fractal. Numéro spécial de la revue L’Objet sur les aspects, 11(3), 1–17 (2005) (in French)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Pierre-Charles David
    • 1
  • Thomas Ledoux
    • 2
  1. 1.France Télécom, Recherche & DéveloppementMeylan
  2. 2.OBASCO Group, EMN / INRIA, Lina, École des Mines de NantesNantes

Personalised recommendations