Structurally adaptive systems
Willem Blokland · 1991
Present process control techniques fall short in modeling fault-tolerant controllers for large processes with unknown or complex dynamics. These processes could be managed better by controllers that can adjust not only the control law's parameters but also the structure of the control law itself. Such controllers can be modeled and implemented with the developed framework for structurally adaptive systems. For example, a reconfigurable controller for a process with complex or dynamic characteristics can be modeled as a combination, over time, of relatively simple control algorithms rather than trying to model one complex and probably unmanageable control algorithm. The structural adaptivity also allows integration with diagnostics by relating the diagnostic results to the structure of the control law. The modeling framework separates the structural and algorithmic aspects by decomposing a system into parts and modeling their interrelations through signal interfaces. The Finite State Machine (FSM) concept is used to explicitly associate different structures with different states of the controller. A transient of the FSM is triggered by an event generated by, e.g., a diagnostics procedure. To maintain correct operation of the system when changing its structure, a dependency model is introduced that describes the relation between input and output signals and assists in generating the requirements that prevent any loss of signals. A graphical modeling environment is available to provide a user-friendly man-machine interface. The graphical declarations are mapped into textual expressions that are interpreted by the Hierarchical Reconfigurable Language (HRL). The HRL is a declarative language implemented in Lisp, extended with an object-oriented paradigm. While the structure is described at the higher levels of the decomposition hierarchy, at the lowest levels, the algorithms are declared which are mapped into the elements of the execution environment, the MultiGraph Architecture, which is a macro-data flow organized environment. Given a state change, reconfiguration takes place by reinterpreting the mapping, leading to the creation or destruction of the execution environment elements. Several implemented examples demonstrate the applicability and operation of this approach.