A Component-Based Planning Framework for Adaptive Systems

  • Mourad Alia
  • Geir Horn
  • Frank Eliassen
  • Mohammad Ullah Khan
  • Rolf Fricke
  • Roland Reichle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4276)


Recently, many researchers have focused on designing generic and reusable middlewares to overcome the complexity in building adaptive systems. There is a general agreement that the openness provided by component-based approaches coupled with reflection mechanisms is the minimum prerequisites for supporting dynamic reconfigurations. However, this is not sufficient to implement the heart of the adaptation loop namely the decision making on the required reconfiguration that adapts the system in a given context. In this regard, this paper proposes a planning framework that subsumes and automates the adaptation decision-making in reflective component-based adaptive systems. The salient feature of this framework is to model the variability of the adaptive system as a set of variation points at which alternative component compositions and implementations can be selected to form an application configuration. The selection of a feasible configuration in a given context is based on the concept of component wise utility functions that estimates the user benefit of including a specific implementation alternative at a variation point in the composition. We show that the selection problem can be modelled as a multi constraint shortest path that can be found in polynomial time. Our approach is validated through a real world example implementing adaptive scenarios in the domain of mobile computing.


Utility Function Adaptive System Variation Point Autonomic Computing Planning Framework 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Carpa, L., Emmerich, W., et al.: Carisma: Context-aware reflective middleware system for mobile applications. IEEE Transactions on Software Engineering 29(10), 929–945 (2003)CrossRefGoogle Scholar
  2. 2.
    David, P.-C., Ledoux, T.: Towards a framework for self-adaptive component-based applications. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893, pp. 1–14. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Zachariadis1, S., Mascolo, C., Emmerich, W.: Satin: a component model for mobile self-organization. In: Proceedings of CoopIS, DOA and ODBASE (2004)Google Scholar
  4. 4.
    Kephart, J.O.: Research challenges of autonomic computing. In: ICSE 2005: Proceedings of the 27th international conference on Software engineering, pp. 15–22. ACM Press, New York (2005)CrossRefGoogle Scholar
  5. 5.
    Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjrven, E.: Beyond design time: using architecture models for runtime adaptability. IEEE Software (2006)Google Scholar
  6. 6.
    Lundesgaard, S.A., Lund, K., Eliassen, F.: Utilising alternative application configurations in context- and qoS-aware mobile middleware. In: Eliassen, F., Montresor, A. (eds.) DAIS 2006. LNCS, vol. 4025, pp. 228–241. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Bruneton, E., Coupaye, T., Stefani, J.B.: Recursive and dynamic software composition with sharing. In: Proceedings of the International Workshop on Component-Oriented Programming (WCOP 2002) Ecoop (2002)Google Scholar
  8. 8.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: A component model for building systems software. In: Proceedings of IASTED Software Engineering and Applications (SEA 2004), Cambridge, MA, USA (2004)Google Scholar
  9. 9.
    Madam Consortium: Mobility and ADaptation enAbling Middleware. Delivrable are open here: http://www.ist-madam.org/consortium.html
  10. 10.
    Amundsen, S., Lund, K., Halvorsen, P., Griwodz, C., Eliassen, F.: Scenario Description -Video Streaming in the Mobile Domain, Technical report (2005), http://vefur.simula.no:8888/QuA/uploads/2/techVScenA1.1.pdf
  11. 11.
    Poladian, V., Sousa, J., Garlan, D., Shaw, M.: Dynamic configuration of resource-aware services. In: Proceedings of the 26th International Conference on Software Engineering (ICSE) (2004)Google Scholar
  12. 12.
    Dashofy, E.M., der Hoek, A., Taylor, R.N.: Towards architecture-based self-healing systems. In: Proceedings of the first workshop on Self-healing systems, WOSS, pp. 21–26 (2002)Google Scholar
  13. 13.
    Hallsteinsen, S., Stav, E., Floch, J.: Self-adaptation for everyday systems. In: Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems, WOSS 2004, pp. 69–74. ACM Press, New York (2004)CrossRefGoogle Scholar
  14. 14.
    Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. Journal of the Association for Computing Machinery 32, 652–686 (1985)MATHMathSciNetGoogle Scholar
  15. 15.
    Andersen, H., Brseth, A.M., Nytun, J.H.: The knapsack problem: Main project in computer technology. Vestfold University College (2003), http://www-bib.hive.no/tekster/studoppg/ri/2003/andersen.pdf
  16. 16.
    Schrijver, A.: A Course in Combinatorial Optimization. University of Amsterdam (2004)Google Scholar
  17. 17.
    Bellman, R.: On a routing problem. Quarterly of Applied Mathematics 16(1), 87–90 (1958)MATHMathSciNetGoogle Scholar
  18. 18.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Vanderbei, R.J.: Linear Programming: Foundations and Extensions. In: Hillier, F.S. (ed.) International Series in Operations Research Management Science. Springer, Berlin (2001)Google Scholar
  20. 20.
    Cook, W.J., Cunningham, W.H., Pulleyblank, W.R., Schrijver, A.: Combinatorial Optimization. In: Graham, R.L., Lenstra, J.K., Tarjan, R.E. (eds.) Wiley-Interscience Series in Discrete Mathematics and Optimization. John Wiley & Sons, New York (1998)Google Scholar
  21. 21.
    Alia, M., Eliassen, F., Hallsteinsen, S., Stav, E.: Madam: Towards a flexible planning-based middleware. In: Proceedings of the ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, May 21-22, 2006. ACM Press, New York (2006)Google Scholar
  22. 22.
    Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 46–54 (2004)CrossRefGoogle Scholar
  23. 23.
    Huang, A.C., Steenkiste, P.: Building services using service-specific knowledge. In: Proceedings of the 14th IEEE International Symposium on High Performance Distributed Computing, July 2005 (2006)Google Scholar
  24. 24.
    Arshad, N., Heimbigner, D., Wolf, A.L.: Deployment and dynamic reconfiguration planning for distributed software systems. In: Proceedings of the 15th IEEE International Conference on Tools with Artificial Intelligence, Washington, DC, USA, p. 39. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
  25. 25.
    Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Proceedings utility functions in autonomic systems. In: Proceedings of the First International Conference on Autonomic Computing (ICAC 2004) (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Mourad Alia
    • 1
  • Geir Horn
    • 2
  • Frank Eliassen
    • 1
    • 3
  • Mohammad Ullah Khan
    • 5
  • Rolf Fricke
    • 4
  • Roland Reichle
    • 5
  1. 1.Simula Research LabLysakerNorway
  2. 2.SINTEF ICTBlindern, OsloNorway
  3. 3.IFIUniversity of Norway 
  4. 4.Condat AGBerlinGermany
  5. 5.University of KasselGermany

Personalised recommendations