High-Level Language Support for Reconfiguration Control in Component-Based Architectures

  • Frederico AlvaresEmail author
  • Eric Rutten
  • Lionel Seinturier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9278)


Architecting in the context of variability has become a real need in todays software development. Modern software systems and their architecture must adapt dynamically to events coming from the environment (e.g., workload requested by users, changes in functionality) and the execution platform (e.g., resource availability). Component-based architectures have shown to be very suited for self-adaptation especially with their dynamical reconfiguration capabilities. However, existing solutions for reconfiguration often rely on low level, imperative, and non formal languages. This paper presents Ctrl-F, a domain-specific language whose objective is to provide high-level support for describing adaptation behaviours and policies in component-based architectures. It relies on reactive programming for formal verification and control of reconfigurations. We integrate Ctrl-F with the FraSCAti Service Component Architecture middleware platform, and apply it to the self-adaptive case study.


Temporal Constraint Server Interface Choice Point Input Event Finite State Automaton 
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.
    Alvares, F., Rutten, E., Seinturier, L.: Behavioural model-based control for autonomic software components. In: Proc. 12th Int. Conf. Autonomic Computing (ICAC 2015), Grenoble, France. (extended version available as a Research Report:, July 2015
  2. 2.
    Arshad, N., Heimbigner, D.: A Comparison of Planning Based Models for Component Reconfiguration. Research Report CU-CS-995-05, U. Colorado, September 2005Google Scholar
  3. 3.
    Batista, T.V., 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.
    Becker, S., Dziwok, S., Gerking, C., Heinzemann, C., Schäfer, W., Meyer, M., Pohlmann, U.: The mechatronicuml method: model-driven software engineering of self-adaptive mechatronic systems. In: Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pp. 614–615. ACM, New York (2014).
  5. 5.
    Boyer, F., Gruber, O., Pous, D.: Robust reconfigurations of component assemblies. In: Proc. 2013 Int. Conf. on Software Engineering, ICSE 2013, pp. 13–22 (2013)Google Scholar
  6. 6.
    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
  7. 7.
    Cheng, S.W., Garlan, D., Schmerl, B.: Evaluating the effectiveness of the rainbow self-adaptive system. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2009, pp. 132–141, May 2009Google Scholar
  8. 8.
    David, P.C., Ledoux, T., Léger, M., Coupaye, T.: FPath & FScript: Language support for navigation and reliable reconfiguration of Fractal architectures. Annals of Telecommunications: Special Issue on Software Components (2008)Google Scholar
  9. 9.
    Delaval, G., Gueye, S.M.K., Rutten, E., De Palma, N.: Modular coordination of multiple autonomic managers. In: Proc. 17th Int. ACM Symp. on Component-based Software Engineering, CBSE 2014, pp. 3–12 (2014)Google Scholar
  10. 10.
    Delaval, G., Marchand, H., Rutten, E.: Contracts for modular discrete controller synthesis. In: ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2010), Stockholm, Sweden, April 2010Google Scholar
  11. 11.
    Delaval, G., Rutten, E.: Reactive model-based control of reconfiguration in the fractal component-based model. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 93–112. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  12. 12.
    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
  13. 13.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press (2000)Google Scholar
  14. 14.
    Haugen, O., Wasowski, A., Czarnecki, K.: Cvl: common variability language. In: Proceedings of the 17th International Software Product Line Conference, SPLC 2013, pp. 277–277. ACM, New York (2013)Google Scholar
  15. 15.
    Jacobson, I., Griss, M., Jonsson, P.: Software reuse: architecture process and organization for business success. ACM Press books, ACM Press (1997)Google Scholar
  16. 16.
    Kouchnarenko, O., Weber, J.-F.: Adapting component-based systems at runtime via policies with temporal patterns. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 234–253. Springer, Heidelberg (2014) Google Scholar
  17. 17.
    Luckey, M., Nagel, B., Gerth, C., Engels, G.: Adapt cases: extending use cases for adaptive systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 30–39. ACM, New York (2011).
  18. 18.
    Morin, B., Barais, O., Nain, G., Jezequel, J.M.: Taming dynamically adaptive systems using models and aspects. In: Proc. 31st Int. Conf. on Software Engineering, ICSE 2009, pp. 122–132. IEEE (2009)Google Scholar
  19. 19.
    Pascual, G.G., Pinto, M., Fuentes, L.: Run-time support to manage architectural variability specified with CVL. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 282–298. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  20. 20.
    Seinturier, L., Merle, P., Rouvoy, R., Romero, D., Schiavoni, V., Stefani, J.B.: A component-based middleware platform for reconfigurable service-oriented architectures. Software: Practice and Experience 42(5), 559–583 (2012)Google Scholar
  21. 21.
    da Silva, C.E., de Lemos, R.: Dynamic plans for integration testing of self-adaptive software systems. In: Proc. 6th Int. Symp. on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 148–157 (2011)Google Scholar
  22. 22.
    Tichy, M., Klöpper, B.: Planning self-adaption with graph transformations. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 137–152. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  23. 23.
    Xing, Z., Stroulia, E.: Umldiff: an algorithm for object-oriented design differencing. In: Proc. 20th IEEE/ACM Int. Conf. on Automated Software Engineering, ASE 2005, pp. 54–65 (2005)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Frederico Alvares
    • 1
    Email author
  • Eric Rutten
    • 1
  • Lionel Seinturier
    • 2
    • 3
  1. 1.INRIA GrenobleMontbonnot-saint-martinFrance
  2. 2.University of Lille 1Villeneuve D’ascqFrance
  3. 3.INRIA LilleLilleFrance

Personalised recommendations