Control and coordination are important aspects of the development of complex machines due to an ever increasing demand for better functionality, quality, and performance. In WP6 of the C4C project we developed a synthesis-centric systems engineering framework suitable for supervisory coordination of complex systems. The framework was employed to synthesize and validate a supervisory coordinator for maintenance procedures for a prototype of a high-tech Océ printer, showing proof of concept and viability of the proposed framework. The supervisor eliminates undesired behavior that could occur as a result of undesired interaction of the distributed printer components. In this chapter, we discuss the model-based systems engineering framework that was employed for synthesis of the supervisor and we illustrate the modeling process.
Background and MotivationIn the last few decades, control software development has taken a more central role due to the ever increasing complexity of the machines, demands for higher quality and performance, and improved safety and ease of use [5]. Traditionally, the control software requirements are formulated informally in some sort of specification documents by domain engineers, to be translated into control software by software engineers. This is a time-consuming and an error prone process, since control requirements are often ambiguous and change frequently, so the produced software needs to be validated against the machine. If validation fails, the code must be rewritten leading to a define-validate-redefine loop. This issue in control software design gave rise to supervisory control theory [11,2,3,6], where models of high-level supervisory controllers, referred to as supervisors, are synthesized automatically based upon a formal model of the uncontrolled system, known as plant, and a model of the control requirements. Supervisory controllers observe the discrete-event behavior of the system and make control decisions based on the observed information. The supervisory controller synthesis problem is to achieve the greatest possible allowed behavior, which is specified by the control requirements, based on a given observable behavior.By applying automated control software generation based upon formal behavioral models, we aim to:1. Shift the focus of software engineers from writing and debugging code to modeling the plant and the control requirements. 2. Increase the use of models. Software engineers need not think in terms of code, since it is generated automatically. Instead, they make the formal models in terms of behavior, thus improving their communication with the domain engineers and other involved parties. 3. Shorten the design loop. Adjustments in the control specifications result in model changes, followed by automated synthesis of control software, which is likely to be less time consuming than directly adapting control code. 4. Use the formal behavioral models for simulation. We can validate the supervisor before expensive prototypes are built increasing confidence ...