One of the main challenges towards a software-based theory of control consists in finding an effective method for decomposing monolithic event-based interactive applications into modules. The task is challenging since this requires in turn to decompose both the invariants to be maintained as well as the main control loop. We present a formalisms for gathering portion of behaviour by special units, called holons, which are both parts and wholes and which can be arranged into part-whole taxonomies. Each holon hosts a state machine and embodies different invariants which give semantics to its states. Control is achieved by both taking autonomously internal actions by the state machine in order to maintain such state invariants, as well as by having the the state machine move from one invariant to another by actions driven by external events. Such an approach requires to introduce non trivial solutions in order to allow communication among such modules, mainly by implementing control loops among couple of holons. The proposed model consists essentially in shaping each module in order to be both a controller and a controllable entity. Each module may control a definite number of modules and is controlled by a single module. Control is exercised by discrete events which travel through a communication medium. Control actions as well as feedback events travel thus from a module to the another, thus achieving local control loops which, taken globally, decompose the main control loop.
|Data di pubblicazione:||2015|
|Titolo:||Control Theory Meets Software Engineering: The Holonic Perspective|
|Digital Object Identifier (DOI):||10.1145/2804337.2804343|
|Nome del convegno:||ESEC/FSE 15|
|Luogo del convegno:||Bergamo|
|Data del convegno:||31 August 2015|
|Tipologia||Relazione in Atti di Convegno|
File in questo prodotto:
I documenti presenti in Iris Unimore sono rilasciati con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Italia, salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris