A Model-Based Framework to Design and Debug Safe Component-Based Autonomic Systems

  • Guillaume Waignier
  • Anne-Françoise Le Meur
  • Laurence Duchien
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5581)


Building autonomic applications, which are systems that must adapt to their execution context, requires architects to calibrate and validate the adaptation rules by executing their applications in a realistic execution context. Unfortunately, existing works do not allow architects to monitor and visualize the impact of their rules, nor that they let them adjust these rules easily.

This paper presents a model-based framework that enables architects to design and debug autonomic systems in an iterative and uniformed process. At design-time, architects can specify, using models, the application’s structure and properties, as well as the desired adaptation rules. At debugging-time, the running application and the models coexist such that the models control the application dynamic adaptation, thanks to a control loop that reified runtime events. Each triggered adaptation is first tested at the model level to check that no application property is broken. Furthermore, architects can at any time modify the models in order to adjust the adaptation rules or even parts of the application. All changes at the model level, if checked correct, are directly propagated to the running application. Our solution is generic regarding the underlying platforms and we provide a performance evaluation of our framework implementation.


Autonomic System Object Constraint Language Personal Health Record Eclipse Modeling Framework Adaptation Rule 
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.
    Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  3. 3.
    Batista1, T., Joolia, A., Coulson, G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 1–17. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Wile, D.: Using dynamic acme. In: Proceedings of Working Conference on Complex and Dynamic Systems Architecture (2001)Google Scholar
  5. 5.
    Kephart, J.O.: Research challenges of autonomic computing. In: Proceedings of the 27th international conference on Software engineering (ICSE 2005), pp. 15–22. ACM, New York (2005)Google Scholar
  6. 6.
    Waignier, G., Sriplakich, P., Le Meur, A.F., Duchien, L.: A model-based framework for statically and dynamically checking component interactions. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 371–385. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, 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
  8. 8.
    OMG: CORBA Component Model, v4.0, formal/06-04-01 (April 2006)Google Scholar
  9. 9.
    Coulson, G., Blair, G., Grace, P., Joolia, A., Lee, K., Ueyama, J.: Opencom v2: A component model for building systems software. In: IASTED Software Engineering and Applications (2004)Google Scholar
  10. 10.
    Nunziati, S.: Personal health record,
  11. 11.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., 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
  12. 12.
    OMG: Object Constraint Language (OCL). 2.0 edn. (May 2006)Google Scholar
  13. 13.
    Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Trans. Softw. Eng. 28(11), 1056–1076 (2002)CrossRefGoogle Scholar
  14. 14.
    Waignier, G., Le Meur, A.F., Duchien, L.: Architectural specification and static analyses of contractual application properties. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281, pp. 152–170. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Frolund, S., Koisten, J.: QML: A Language for Quality of Service Specification (1998)Google Scholar
  16. 16.
    IBM: WSLA Language Specification, V1.0. (2003)Google Scholar
  17. 17.
    (OGF), O.G.F.: Web Services Agreement Specification (WS-Agreement) (2007)Google Scholar
  18. 18.
    Paton, N.W., Schneider, F., Gries, D. (eds.): Active Rules in Database Systems (1998)Google Scholar
  19. 19.
    Tombelle, C., Vanwormhoudt, G.: Dynamic and generic manipulation of models: From introspection to scripting. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 395–409. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    BEA, IBM, Interface21, IONA, Oracle, SAP, Siebel, Sybase: Assembly Component Architecture - Assembly Model Specification Version 1.00 (March 2007)Google Scholar
  21. 21.
    David, P.C., Ledoux, T.: Wildcat: a generic framework for context-aware applications. In: Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing, pp. 1–7. ACM, New York (2005)CrossRefGoogle Scholar
  22. 22.
    Cecchet, E., Elmeleegy, H., Layaida, O., Quéma, V.: Implementing probes for j2ee cluster monitoring. In: Proceedings of OOPSLA 2004 Workshop on Component and Middleware Performance (2004)Google Scholar
  23. 23.
    Rouvoy, R., Conan, D., Seinturier, L.: Software architecture patterns for a context-processing middleware framework. IEEE Distributed Systems Online 9(6) (2008)Google Scholar
  24. 24.
    King, T.M., Ramirez, A., Clarke, P.J., Quinones-Morales, B.: A reusable object-oriented design to support self-testable autonomic software. In: Proceedings of the 2008 ACM symposium on Applied computing (SAC 2008), pp. 1664–1669. ACM, New York (2008)CrossRefGoogle Scholar
  25. 25.
    Li, B., Nahrstedt, K.: Dynamic reconfiguration for complex multimedia applications. In: Proceedings of Multimedia Computing and Systems, pp. 165–170 (1999)Google Scholar
  26. 26.
    Zhang, R., Lu, C., Abdelzaher, T., Stankovic, J.: Controlware: A middleware architecture for feedback control of software performance. In: Proceedings of Distributed Computing Systems, pp. 301–310 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Guillaume Waignier
    • 1
  • Anne-Françoise Le Meur
    • 1
  • Laurence Duchien
    • 1
  1. 1.Université Lille 1 - LIFL CNRS UMR 8022 - INRIAVilleneuve d’AscqFrance

Personalised recommendations