Reactive Model-Based Control of Reconfiguration in the Fractal Component-Based Model [chapter]

Gwenaël Delaval, Eric Rutten
<span title="">2010</span> <i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2w3awgokqne6te4nvlofavy5a4" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
We present a technique for designing reconfiguration controllers in the Fractal component-based framework. We obtain discrete control loops that automatically enforce safety properties on the interactions between components, concerning, e.g., mutual exclusions, forbidden or imposed sequences. We use a reactive programming language, with a new mechanism of behavioural contracts. Its compilation involves discrete controller synthesis, which automatically generates the correct adaptation
more &raquo; ... s. We apply our approach to the problem of adaptive ressource management, illustrated by the example of a HTTP server. 1 Motivation and example application 1.1 Model-based control for Fractal The Fractal component-based approach Fractal [4] is a modular component model that can be used with various programming languages, to design, implement, deploy and reconfigure systems and applications, from operating systems to middleware platforms and to graphical user interfaces. It is equipped with a hierarchical structure, and puts an emphasis on reflexivity, in order to support adaptation and reconfiguration. Components are the basic construct enabling the separation of interface and implementation. They support the explicit representation of the software architecture, which is essential for adaptivity and manageability. It is the basis for performing run-time software reconfiguration and system supervision. Management of components then consists of monitoring, control and dynamical reconfiguration of the architecture. The composite structure offers a uniform construct for this: introspection functionalities enable monitoring the state of system, while re-configuration actions allow to change it. A whole range of levels of control is supported, from black box with no control, to full fledged introspection. A lifecycle controller defines the adaptive behavior of components. ⋆ This work is partially supported by the Minalogic MIND project. Adaptive systems and resource management Computing systems are proliferating, in a great variety of environments, typically embedded systems. They have to be more and more adaptive: they must perform reconfigurations in reaction to changes in their environment concerning e.g., power supply, communication bandwidth, quality of service, or also typically dependability and fault tolerance for a safe execution. Another motivation for adaptative and autonomic systems is the complexity of administration, and the need for automated techniques replacing manual or ad hoc management [16] . The run-time management of this dynamical adaptivity is the object of research on ways to design and implement adaptation strategies. One approach is autonomic computing [15] , where functionalities are defined at operating system or middleware level, for sensing the state of a system, deciding upon and performing reconfiguration actions. The management of dynamical adaptivity can be considered as a closed control loop, on continuous or discrete criteria. Figure 1(a) shows how, on the basis of monitor information and of an internal representation of the system, a control component enforces the adaptation policy, by taking decisions w.r.t. the reconfiguration actions to be executed [16] . The design of control loops with known behaviour and properties is the classical object of control theory. Applications of continuous control theory to computing systems have been explored quite broadly [14] . In contrast, logical aspects, as addressed by discrete control theory, or even by hybrid systems combining continuous and discrete dynamics, have been considered only recently for adaptive computing systems [23] . Even if qualitative aspects are considered for long e.g., in quality of service issues (QoS) [17], the technical approach did not involve the benefits of control techniques. representation system system managed decision policy / strategy monitor execute (a) Adaptive system. model automaton system managed BZR program execute monitor DCS ctrlr (b) BZR controller.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-642-13238-4_6">doi:10.1007/978-3-642-13238-4_6</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/dxpfcewiynbpbfh76peypvje5y">fatcat:dxpfcewiynbpbfh76peypvje5y</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20110331235118/http://pop-art.inrialpes.fr/people/delaval/pub/delaval-cbse10.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/51/18/5118c57ef0caad5e3c6297ea2ed20a98664243bf.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-642-13238-4_6"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>