Available March 2019

Mission Statement

The Modelica Association Project DCP and its members are committed to define the Distributed Co-Simulation Protocol (DCP) and promote it as a Modelica Association standard. The DCP specification, accompanying files and data are provided under open-source licenses. The DCP specification can be downloaded and used without any fees.

Description

The DCP is an application level communication protocol. It is designed to integrate models or real-time systems into simulation environments. It enables exchange of simulation related configuration information and data by use of an underlying transport protocol (such as UDP, TCP, or CAN). At the same time, the DCP supports the integration of tools and real-time systems from different vendors. The DCP is intended to make simulation based workflows more efficient, and to reduce the integration effort.

Applications

The DCP is applied in numerous different domains, like the automotive, aerospace, maritime, or architecture domain. Applications gaining benefit from the DCP are typically found in the fields of distributed simulation, co-simulation, hardware-, software-, or model-in-the-loop testing, and process automation.

Relationship to MAP FMI

The Functional Mock-Up Interface (FMI) standard defines a zip-file container for the description, exchange and storage of simulation artefacts, using a combination of xml-files, static and dynamic linked binaries and/or C-code. FMI specifies a semantic and an application programming interface (API) to execute (or include such artefacts) in simulation applications. Both, model exchange (access to a system of hybrid ODEs) and co-simulation (a solver is part of the artefact) of dynamic models is supported. For example, the FMI for Co-Simulation defines C-functions to initialize a dynamic system, set parameters and input variables, perform one simulation step, and inquire output values.

The DCP was designed with FMI compatibility in mind. Therefore it follows a master-slave communication principle, uses an aligned DCP slave state machine implementing an initialization mechanism, and defines an overall integration process which is driven by standardized XML file formats.