Supporting, shaping and promoting software standards which allow compatibility, interconnectivity and reusability of advanced simulation models and methods from different origins is crucial for enhancing virtualization and digitalization of the development process in automotive industry and increasing its efficiency.
Our initiative intends to follow this strategy also for ADAS/AD (Advanced Driver Assistance Systems / Autonomous Driving) system development and validation by providing an open source middleware co-simulation platform under the name of “OpenMCx”, based upon the following standards: FMI, SSP, DCP, OSI, ROS, etc., as well as an open interface for extending the platform with user-defined interfaces to open-source and proprietary software tools, process scheduling, distributed computing methods and data exchange.
By doing so, “OpenMCx” aims at the following goals:
- Reduce creation costs and increase quality of the co-simulation engine related to the open standards
- Promote modular and integrated solutions by ensuring compatibility of small and large vendors of specialized ADAS/AD software solutions alike
- Encourage end-users, software vendors and the academic to develop plug-ins for the integration of their own simulation models with OpenMCx
- Extending solution area, performance and efficiency of the platform by the contribution of different stakeholders
- Actively work with the OpenADx members and beyond on concrete ADAS/AD development problems, developing sustainable solution methods and strengthening R&D and business relationships
- Reducing the costs and increasing efficiency of virtualized ADAS/AD development, verification and validation process
“Eclipse OpenMCx” provides a co-simulation middleware to run simulations combining physical, control and environment models and featuring:
- general co-simulation and ADAS/AD related standards support
- modular interface concept for commercial, open-source and user defined models
- extendable plug-ins for process scheduling, data exchange and distributed computing
"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 background and designated concept of “OpenMCx” fits perfectly to the framework of Eclipse OpenADx Working group as defined at https://wiki.eclipse.org/OpenADx. Another strong motivation is the expected synergy with other complementary projects from the OpenADx working groups such as Eclipse Cloe.
The intention of AVL is that the code contributed within “OpenMCx” project can be integrated in various R&D and commercial project and tools. This should be explicitly possible by the selected license model without the whole integration environment or possible changes and add-ons being subject to open source licensing model.
Given the project approval, the initial code contribution is planned for October 2020. Initial contribution will include general co-simulation engine, FMU&SSP support and modular interfacing framework for further simulation tools and models. Interface support for selected tools and user-code (SUMO, CARLA, python etc.) will follow thereafter.
The “OpenMCx” co-simulation framework will be extended to interact with upcoming standards like e.g. FMI 3.0, DCP 1.0, SSP 2.0, etc.
Further tool- or use-case specific interfaces will be added based on the response and demand from the OpenADx community.
After reaching a stable status of co-simulation capabilities, more effort will be invested into graphical and scripting support for user interaction interface.
Strong focus will be on using the code to interact with OpenADx and other open source projects and build ADAS/AD virtual validation related simulation demonstrators. The expectation is that this activity will result in more clear demands and interest for code contribution in terms of dedicated tool interfaces and computing features (scheduling, distributed computing etc.)
Another important activity will be reaching out to the academic community for defining joint use-cases and R&D activities.