Abstract
Software systems operating in unpredictable environments must be self-adaptive. Unfortunately, there is no agreed foundational model for adaptation. Already in 1963 Lofti Zadeh claimed that “it is very difficult—perhaps impossible—to find a way of characterizing in concrete terms the large variety of ways in which adaptive behavior can be realized”. His pessimism was due to the inherent difficulty of subsuming both the external manifestations of adaptive systems (black-box adaptation) and the internal mechanisms that realize adaptation (white-box adaptation) in a coherent view.
Generally speaking, a program is considered to be adaptive if it modifies its own behavior in response to changes in its operating environment. According to the traditional view, a program is made of control (i.e. algorithms) and data. A change in the behavior implies a change in the data. The identification of suitable control data leads to an unambiguous definition of adaptation: the run-time modification of such data [1].
The above view can be elegantly formalized in variants of game models for open systems such as Interface Automata [3] enriched with formal counterparts of control data [2]. We argue that such formalization may help to reconcile black- and white-box approaches to adaptation, and may enable the use of Interface Automata both as a component-based design framework and as a verification framework for adaptive systems. For instance, model checking techniques for game models can be used to decide to which extent a system is able to adapt in order to satisfy its requirements despite of changes in the environment.
Generally speaking, a program is considered to be adaptive if it modifies its own behavior in response to changes in its operating environment. According to the traditional view, a program is made of control (i.e. algorithms) and data. A change in the behavior implies a change in the data. The identification of suitable control data leads to an unambiguous definition of adaptation: the run-time modification of such data [1].
The above view can be elegantly formalized in variants of game models for open systems such as Interface Automata [3] enriched with formal counterparts of control data [2]. We argue that such formalization may help to reconcile black- and white-box approaches to adaptation, and may enable the use of Interface Automata both as a component-based design framework and as a verification framework for adaptive systems. For instance, model checking techniques for game models can be used to decide to which extent a system is able to adapt in order to satisfy its requirements despite of changes in the environment.
Original language | English |
---|---|
Title of host publication | Tiny Transactions on Computer Science |
Volume | 2 |
Publication date | 2013 |
Publication status | Published - 2013 |
Externally published | Yes |