Simulation of Distributed Control Applications in Dynamic Environments (Simulatie van gedistribueerde controle applicaties in dynamische omgevingen)
Author:
Abstract:
Distributed control applications are software systems designed to coordinate and control the operation of several distributed devices. An example of a distributed control application is a software system that controls production machines in a manufacturing environment. The environment in which a distributed control application operates is typically dynamic.In a dynamic environment the operating conditions of the control application are continuously changing. For example, in a manufacturing environment new materials and product orders may arrive; other machines, vehicles and/or humans are operating, etc. It is essential that a distributed control application takes into account the dynamic environment in which it operates.Simulation is imperative for the development of distributed control applications. Simulation offers a safe and cost-effective way for studying,evaluating and configuring the behavior of a distributed control application in a simulated environment before it is deployed in the real world. In this dissertation, we focus on software-in-the-loop simulation of distributed control applications in dynamic environments. Software-in-the-loop simulation means that the software of the real distributed controlapplication is embedded in the simulation, i.e. the control software itself is part of the simulation loop. Existing approaches to support thisfamily of simulations either rely on (1) general-purpose modeling constructs that are formally specified, but offer no support specifically targeted at this family of simulations, or on (2) informal abstractions that offer support specifically targeted at this family of simulations, butof which the meaning is implicit and coupled to the implementation of aparticular simulation platform.We put forward a formally founded modeling framework for software-in-the-loop simulations of distributed control applications in dynamic environments. The constructs of the modeling framework offer support that is specifically aimed at this family of simulations. Moreover, the modeling constructs are formally specified, which is crucial to decouple the simulation model from the simulation platform to execute the model. The modeling framework captures core characteristics of this family of simulations in a first-class manner. The modeling framework comprises an environment part and a control application part. The environment part offers special-purpose modeling constructs for dynamic environments. These modeling constructs capture (1) the structure of the environment, (2) dynamism in the environment, (3) the way dynamism is affected by the sources of dynamism and (4) the way dynamism can interact. The control application part offers special-purpose modeling constructs for integrating the software of a real distributed control application in the simulation model. These modeling constructs capture (1) the execution time of the control software and (2) the interface of the control software for interacting with the environment.To validate the modeling constructs, we developed a simulation platformthat supports the constructs in an executable simulation, and we used the constructs to underpin a simulator for an industrial case, i.e. a distributed control application controlling unmanned vehicles in a warehouse environment. The simulator comprises a simulation model that is decoupled from the simulation platform to execute it. This enables customizingthe simulation model, which is paramount to support the study and evaluation of different functionalities of the distributed control application.