The aim of the Darwin project, is to improve system evolvability. It is a consortium of industrial and academic partners with Philips Healthcare (MR division) as carrying industrial partner.
An MR scanner consists of physical components (hardware) and control systems. The physical components, typically sensors, actuators and main structure, provide the means of the machine. The interactions between the physical components result in the so-called uncontrolled behavior of the machine. The control systems interact with the sensors and actuators to employ the means of the machine, which results in the controlled behavior of the machine. The controlled behavior should be such that the machine fulfills its functions, i.e. meets its pre-defined requirements.
Supervisory control assures that a machine performs its function correctly by determining and executing allowed sequences of tasks on mutually (in)dependent resources. This includes planning, scheduling and dispatching functions. Currently, supervisory controllers are designed and implemented by hand. Creating and changing requirements, a design and/or an implementation can be time consuming and error-prone.
A new, alternative approach is to ‘automatically synthesize’ the supervisory controller. First, the uncontrolled behavior of the machine to control is modeled precisely (by hand). Secondly, the requirements on the function of the machine (with respect to supervisory control) are modeled in detail (by hand). This includes safety and functional requirements. Out of these formal requirements and the model of the uncontrolled system, executable code of the supervisory controller can be automatically generated. This supervisory controller is proven correct by construction. This means that the controlled system behaves according to the prescribed requirements on the function of the machine and that the system is deadlock and lifelock free. If the supervisor is automatically synthesized, the design process of a controller is changed from implementing and debugging code to designing and debugging requirements. For evolving systems this could result in requirement tracking, i.e. updating the requirements, instead of redesigning the control system when the requirements have changed.
For publications on supervisory control synthesis and simulation in the Darwin project, see publications on supervisory control, and see publications on the Compositional Interchange Format (CIF).