Eclipse OpenMCx™ is an open, tool-neutral co-simulation middleware based upon Modelica  simulation standards, such as Functional Mock-up Interface (FMI)  and Distributed-Co-Simulation-Protocol (DCP) , 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 .
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 , ASAM OSI  and open source projects like CARLA  or SUMO . 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.
 Modelica - https://modelica.org
 FMI - https://fmi-standard.org
 DCP - https://dcp-standard.org
 SSP - https://ssp-standard.org
 ROS2 - https://github.com/ros2
 ASAM OSI - https://www.asam.net/standards/detail/osi
 CARLA - https://github.com/carla-simulator/carla
 SUMO - https://github.com/eclipse/sumo
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.