Abstract
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.
This work was partially funded by the French ANR TL FAROS project.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)
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)
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)
Wile, D.: Using dynamic acme. In: Proceedings of Working Conference on Complex and Dynamic Systems Architecture (2001)
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)
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)
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)
OMG: CORBA Component Model, v4.0, formal/06-04-01 (April 2006)
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)
Nunziati, S.: Personal health record, www.d-m-p.org/docs/EnglishVersionDMP.pdf
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)
OMG: Object Constraint Language (OCL). 2.0 edn. (May 2006)
Plasil, F., Visnovsky, S.: Behavior protocols for software components. IEEE Trans. Softw. Eng. 28(11), 1056–1076 (2002)
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)
Frolund, S., Koisten, J.: QML: A Language for Quality of Service Specification (1998)
IBM: WSLA Language Specification, V1.0. (2003)
(OGF), O.G.F.: Web Services Agreement Specification (WS-Agreement) (2007)
Paton, N.W., Schneider, F., Gries, D. (eds.): Active Rules in Database Systems (1998)
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)
BEA, IBM, Interface21, IONA, Oracle, SAP, Siebel, Sybase: Assembly Component Architecture - Assembly Model Specification Version 1.00 (March 2007)
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)
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)
Rouvoy, R., Conan, D., Seinturier, L.: Software architecture patterns for a context-processing middleware framework. IEEE Distributed Systems Online 9(6) (2008)
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)
Li, B., Nahrstedt, K.: Dynamic reconfiguration for complex multimedia applications. In: Proceedings of Multimedia Computing and Systems, pp. 165–170 (1999)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waignier, G., Le Meur, AF., Duchien, L. (2009). A Model-Based Framework to Design and Debug Safe Component-Based Autonomic Systems. In: Mirandola, R., Gorton, I., Hofmeister, C. (eds) Architectures for Adaptive Software Systems. QoSA 2009. Lecture Notes in Computer Science, vol 5581. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02351-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-02351-4_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02350-7
Online ISBN: 978-3-642-02351-4
eBook Packages: Computer ScienceComputer Science (R0)