Advertisement

Reliable Dynamic Reconfigurations in a Reflective Component Model

  • Marc Léger
  • Thomas Ledoux
  • Thierry Coupaye
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6092)

Abstract

Software engineering must cope with a more and more increasing need for evolutivity of software systems in order to make their administration easier. However, evolution and especially dynamic evolution in a system must not be done at the expense of its reliability, that is to say its ability to deliver the expected functionalities. Actually runtime modifications in a given system may lead to inconsistent states and so it can have an impact on its reliability. The aim of this paper is to guarantee reliability of dynamic reconfigurations used to make component-based systems evolve at runtime while preserving their availability. We propose a definition of consistency for configurations and reconfigurations in Fractal component architectures with a model based on integrity constraints like for example structural invariants. Reliability of reconfigurations is ensured thanks to a transactional approach which allows us both to deal with error recovery and to manage distributed and concurrent reconfigurations in Fractal applications.

Keywords

component-based architectures dynamic reconfigurations reliability transactions integrity constraints 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abowd, G., Allen, R., Garlan, D.: Using style to understand descriptions of software architecture. SIGSOFT Softw. Eng. Notes 18(5) (1993)Google Scholar
  2. 2.
    Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  3. 3.
    Batista, T., Joolia, A., Coulson, G.: Managing dynamic reconfiguration in component-based systems. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527. Springer, Heidelberg (2005)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.): Software Engineering for Self Adaptive Systems. LNCS, vol. 5525. Springer, Heidelberg (2009)Google Scholar
  6. 6.
    Coulson, G., Blair, G., Grace, P., Taiani, F., Joolia, A., Lee, K., Ueyama, J., Sivaharan, T.: A generic component model for building systems software. ACM Trans. Comput. Syst. 26(1), 1–42 (2008)CrossRefGoogle Scholar
  7. 7.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A highly extensible, XML-based architecture description language. In: Proceedings of Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), Amsterdam, Netherlands (2001)Google Scholar
  8. 8.
    David, P.-C., Ledoux, T., Léger, M., Coupaye, T.: FPath and FScript: Language support for navigation and reliable reconfiguration of Fractal architectures. Annals of Telecommunications 64(1), 45–63 (2009)CrossRefGoogle Scholar
  9. 9.
    Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)CrossRefGoogle Scholar
  10. 10.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. In: Foundations of component-based systems, pp. 47–67. Cambridge University Press, New York (2000)Google Scholar
  11. 11.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  12. 12.
    Kephart, J., Chess, D.M.: The vision of autonomic computing. IEEE Computer 36(1), 41–50 (2003)Google Scholar
  13. 13.
    Léger, M., Ledoux, T., Coupaye, T.: Reliable dynamic reconfigurations in the fractal component model. In: Proceedings of Workshop on Adaptive and Reflective Middleware (ARM 2007), pp. 1–6. ACM, New York (2007)Google Scholar
  14. 14.
    Lehman, M.M., Parr, F.N.: Program evolution and its impact on software engineering. In: Proceedings of International Conference on Software Engineering (ICSE 1976), pp. 350–357. IEEE Computer Society Press, Los Alamitos (1976)Google Scholar
  15. 15.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  16. 16.
    Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. SIGSOFT Softw. Eng. Notes 29(6), 127–136 (2004)CrossRefGoogle Scholar
  17. 17.
    Monroe, R.T.: Capturing software architecture design expertise with armani. Technical Report CMU-CS-98-163, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA (January 2001)Google Scholar
  18. 18.
    Moreira, R.S., Blair, G.S., Carrapatoso, E.: Supporting adaptable distributed systems with FORMAware. In: Proceedings of International Conference on Distributed Computing Systems Workshops (ICDCSW 2004), Washington, DC, USA, pp. 320–325. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  19. 19.
    Morin, B., Barais, O., Nain, G., Jezequel, J.-M.: Taming dynamically adaptive systems using models and aspects. In: Proceedings of International Conference on Software Engineering (ICSE 2009), Washington, DC, USA, pp. 122–132. IEEE Computer Society Press, Los Alamitos (2009)Google Scholar
  20. 20.
    OCL 2.0 Specification (2005), http://www.omg.org/docs/ptc/05-06-06.pdf
  21. 21.
    Oreizy, P.: Issues in the runtime modification of software architectures. Technical Report UCI-ICS-TR-96-35, Department of Information and Computer Science University of California, Irvine (August 1996)Google Scholar
  22. 22.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture based runtime software evolution. In: Proceedings of International Conference on Software Engineering (ICSE 1998), Washington, DC, USA, pp. 177–186. IEEE Computer Society, Los Alamitos (1998)CrossRefGoogle Scholar
  23. 23.
    Roshandel, R., Van Der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae — a system model and environment for managing architectural evolution. ACM Trans. Softw. Eng. Methodol. 13(2), 240–276 (2004)CrossRefGoogle Scholar
  24. 24.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  25. 25.
    Traiger, I.L., Gray, J., Galtieri, C.A., Lindsay, B.G.: Transactions and consistency in distributed database systems. ACM Trans. Database Syst. 7(3), 323–342 (1982)zbMATHCrossRefGoogle Scholar
  26. 26.
    Weikum, G., Schek, H.-J.: Concepts and applications of multilevel transactions and open nested transactions, pp. 515–553. Morgan Kaufmann Publishers Inc., San Francisco (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Marc Léger
    • 1
  • Thomas Ledoux
    • 1
    • 2
  • Thierry Coupaye
    • 3
  1. 1.Ascola (EMN-INRIA, LINA), Ecole des Mines de NantesFrance
  2. 2.INRIAFrance
  3. 3.Orange LabsFrance

Personalised recommendations