This proposal has been approved and the Eclipse OpenMCx™ project has been created.
Visit the project page for the latest information and development.

Eclipse OpenMCx

Wednesday, October 14, 2020 - 11:42 by Josko Balic
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

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
Scope

“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
Description

"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

Why Here?

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.

Future Work

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.

Project Scheduling

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.

Project Leads
Mentors
Interested Parties

AVL, Andreas Riexinger (BOSCH), Soheila Dehghanzadeh (DENSO), Robin van der Made (Siemens), Christoph Hoffmann (JCIM)

Initial Contribution

The initial code contribution is scheduled for December 2020. The code within the scope of the initial contribution as described previously is prepared to a large extent. Final code check, documentation and simplified modeling, parametrization and plug-ins contribution framework are in the final preparation phase.

Source Repository Type