Eclipse OpenMCx™ is an open, tool-neutral co-simulation middleware based upon Modelica [1] simulation standards, such as Functional Mock-up Interface (FMI) [2] and Distributed-Co-Simulation-Protocol (DCP) [3], aiming to support advanced simulation applications with a heterogenous toolchain in a distributed collaborative development process. Both co-simulation Functional Mock-up Units (FMUs) and model-exchange FMUs are supported, while the configuration and parameterization of an OpenMCx co-simulation models and components is based on Modelica System-Structure and Parameterization (SSP) standard [4].
OpenMCx enables its users to combine various simulation models from different vendors and sources, using standardized interfaces, into one co-simulation model and run it in a scalable computing environment. The general idea of the co-simulation model is to provide a virtual validation framework for ADAS/AD function development but is not restricted to this use-case only.
In addition to Modelica standard interfaces, the middleware provides interfaces to other ADAS/AD related standards like ROS2 [5], ASAM OSI [6] and open source projects like CARLA [7] or SUMO [8]. OpenMCx with its open and modular architecture provides a framework for the users to implement their own interfaces for their own simulation models and integrate them into the co-simulation middleware. Besides that, OpenMCx allows for adopting the existing or adding new methods for data exchange, co-simulation synchronization, scheduling and job execution management.
References:
[1] Modelica - https://modelica.org
[2] FMI - https://fmi-standard.org
[3] DCP - https://dcp-standard.org
[4] SSP - https://ssp-standard.org
[5] ROS2 - https://github.com/ros2
[6] ASAM OSI - https://www.asam.net/standards/detail/osi
[7] CARLA - https://github.com/carla-simulator/carla
[8] SUMO - https://github.com/eclipse/sumo