Formal Aspects of Computing

, Volume 28, Issue 1, pp 21–43 | Cite as

Synthesizing structural and behavioral control for reconfigurations in component-based systems

  • Narges KhakpourEmail author
  • Farhad Arbab
  • Eric Rutten
Original Article


Correctness of the behavior of an adaptive system during dynamic adaptation is an important challenge to realize correct adaptive systems. Dynamic adaptation refers to changes to both the functionality of the computational entities that comprise a composite system, as well as the structure of their interconnections, in response to variations in the environment, e.g., the load of requests on a server system. In this research, we view the problem of correct structural adaptation as a supervisory control problem and synthesize a reconfiguration controller that guides the behavior of a system during adaptation. The reconfiguration controller observes the system behavior during an adaptation and controls the system behavior by allowing/disallowing actions in a way to ensure that a given property is satisfied and a deadlock is avoided. The system during adaptation is modeled using a graph transition system and properties to be enforced are specified using a graph automaton. We adapt a classical theory of supervisory control for synthesizing a controller for controlling the behavior of a system modeled using graph transition systems. This theory is used to synthesize a controller that can impose both behavioral and structural constraints on the system during an adaptation. We apply a tool that we have implemented to support our approach on a case study involving https servers.


Dynamic reconfiguration Synthesis Control theory Adaptive systems Correct-by-construction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. AFI+06.
    Autili M, Flammini M, Inverardi P, Navarra A, Tivoli M (2006) Synthesis of concurrent and distributed adaptors for component-based systems. In: Third European workshop on software architecture, LNCS, vol 4344. Springer, pp 17–32Google Scholar
  2. AMNT08.
    Autili M, Mostarda L, Navarra A, Tivoli M (2008) Synthesis of decentralized and concurrent adaptors for correctly assembling distributed component-based systems. J Syst Softw 81(12): 2210–2236CrossRefGoogle Scholar
  3. BCL+06.
    Bruneton E, Coupaye T, Leclercq M, Quéma V, Stefani J-B (2006) The fractal component model and its support in java. Softw Pract Exp 36(11-12): 1257–1284CrossRefGoogle Scholar
  4. BK08.
    Biyani KN, Kulkarni SS (2008) Assurance of dynamic adaptation in distributed systems. J Parallel Distrib Comput 68(8): 1097–1112CrossRefzbMATHGoogle Scholar
  5. BSDR11.
    Bouhadiba T, Sabah Q, Delaval G, Rutten É (2011) Synchronous control of reconfiguration in fractal component-based systems—a case study. In: Proceedings of the ACM conference on embedded software, EMSOFT, Taiwan, Oct 2011Google Scholar
  6. CdAHM02.
    Chakrabarti A, de Alfaro L, Henzinger TA, Mang FYC (2002) Synchronous and bidirectional component interfaces. In: Computer aided verification, LNCS, Copenhagen, Denmark, vol 2404, pp 414–427Google Scholar
  7. DBK+14.
    D’Ippolito N, Braberman V A, Kramer J, Magee J, Sykes D, Uchitel S (2014) Hope for the best, prepare for the worst: multi-tier control for adaptive systems. In: 36th international conference on software engineering, ICSE ’14, pp 688–699Google Scholar
  8. DRM13.
    Delaval G, Rutten E, Marchand H (2013) Integrating discrete controller synthesis into a reactive programming language compiler. Discrete Event Dyn Syst 23(4): 385–418CrossRefzbMATHGoogle Scholar
  9. FHM14.
    Filieri A, Hoffmann H, Maggio M (2014) Automated design of self-adaptive software with control-theoretical formal guarantees. In: Proceedings of the 36th international conference on software engineering, ICSE 2014. ACM, New York, pp 299–310Google Scholar
  10. GGM12.
    Ghezzi C, Greenyer J, Manna VPL (2012) Synthesizing dynamically updating controllers from changes in scenario-based specifications. In: 2012 ICSE workshop on Software engineering for adaptive and self-managing systems (SEAMS), pp 145–154Google Scholar
  11. GMW12.
    Gierds C, Mooij AJ, Wolf K (2012) Reducing adapter synthesis to controller synthesis. IEEE Trans Serv Comput 5(1): 72–85CrossRefGoogle Scholar
  12. GN12.
    Gaudin B, Nixon P (2012) Supervisory control for software runtime exception avoidance. In: Proceedings of the fifth international C* conference on computer science and software engineering, C3S2E ’12. ACM, New York, pp 109–112Google Scholar
  13. GRP.
    Graphviz-graph visualization software.
  14. GVNH11.
    Gaudin B, Vassev E I, Nixon P, Hinchey M (2011) A control theory based approach for self-healing of un-handled runtime exceptions. In: Proceedings of the 8th ACM international conference on Autonomic computing, ICAC ’11. ACM, New York, pp 217–220Google Scholar
  15. HH11.
    Heinzemann C, Henkler S (2011) Reusing dynamic communication protocols in self-adaptive embedded component architectures. In: Proceedings of the 14th international ACM sigsoft symposium on component based software engineering, CBSE ’11. ACM, New York, pp 109–118Google Scholar
  16. HHG08.
    Hirsch M, Henkler S, Giese H (2008) Modeling collaborations with dynamic structural adaptation in mechatronic uml. In: Proceedings of the 2008 international workshop on software engineering for adaptive and self-managing systems, SEAMS ’08. ACM, New York, pp 33–40Google Scholar
  17. Job07.
    Jobstmann B (2007) Applications and Optimizations for LTL Synthesis. Ph.D. thesis, IST—Institute for Software Technology, TU GrazGoogle Scholar
  18. KAR14.
    Khakpour N, Arbab F, Rutten E (2014) Supervisory controller synthesis for safe software adaptation. In: Proceedings of the 12th IFAC workshop on discrete event systemsGoogle Scholar
  19. KB04.
    Kulkarni SS, Biyani KN (2004) Correctness of component-based adaptation. In: Component-based software engineering, LNCS, vol 3054/2004. Springer, pp 48–58Google Scholar
  20. Koe04.
    Koenig B (2004) Analysis and verification of systems with dynamically evolving structure. Ph.D. thesis, Universitat StuttgartGoogle Scholar
  21. RW87.
    Ramadge PJ, Murray Wonham W (1987) Supervisory control of a class of discrete event processes. SIAM J Control Optim 25(1): 206–230MathSciNetCrossRefzbMATHGoogle Scholar
  22. TFGG07.
    Tivoli M, Fradet P, Girault A, Gößler G (2007) Adaptor synthesis for real-time components. In: Tools and algorithms for the construction and analysis of systems, LNCS, vol 4424. Springer, pp 185–200Google Scholar
  23. WGT14.
    Winetzhammer S, Greenyer J, Tichy M (2014) Integrating graph transformations and modal sequence diagrams for specifying structurally dynamic reactive systems. In: Amyot D, Fonseca~i Casas P, Mussbacher G (eds) System analysis and modeling: models and reusability, Lecture notes in computer science, vol 8769. Springer International Publishing, Berlin, pp 126–141Google Scholar
  24. ZC06.
    Zhang J, Cheng BHC (2006) Model-based development of dynamically adaptive software. In: Proceedings of the 28th international conference on Software engineering, ICSE ’06. ACM, New York, pp 371–380Google Scholar

Copyright information

© British Computer Society 2015

Authors and Affiliations

  1. 1.Department of Computer ScienceLinnaeus UniversityVäxjöSweden
  2. 2.Leiden Institute of Advanced Computer ScienceLeiden UniversityLeidenThe Netherlands
  3. 3.CWIAmsterdamThe Netherlands
  4. 4.INRIAGrenobleFrance

Personalised recommendations