This page provides the by MAP eFMI published material: the eFMI Standard, selected recommended documentation and introductory material (overview papers, teaser videos etc), project reports and forms, and eFMI Standard accompanying documents like crosscheck test cases and example eFMUs. Scientific publications are listed separately on the Publications page. For an overview of third party eFMI tooling, please consult the Tools page.
The resources provided on this page can be categorized in:
eFMI Standard releases
Most recent stable release
There exists no current stable release yet. The first release will be the upcoming eFMI Standard 1.0.0; in the meantime, please see the current candidate-drafts.
Current candidate-drafts
The next major upcoming eFMI Standard release is version 1.0.0; below are the candidate-drafts for it. Please see the release cycle for details about the release schedule and for an estimation of maturity of candidate-drafts.
- eFMI Standard 1.0.0 Beta 1 (2024-07-02):
- eFMI Standard 1.0.0 Alpha 4 (2021-02-22):
Previous stable releases
There are no previous stable releases yet. We are still in the process of finishing the first official release; please see the current candidate-drafts.
MAP eFMI published tooling
MAP eFMI provides a set of open source tools and libraries to foster the eFMI ecosystem. For tooling, including commercial tools, that are not MAP eFMI published, please see the Tools page. For final release distributions of MAP eFMI published tooling, please check each individual tool’s repository; note that we apply a unique versioning scheme such that every tool version can be mapped to the eFMI Standard it supports and vice-versa. The tools published by MAP eFMI are:
- eFMI crosscheck test cases: The official eFMI test cases for demonstrating and evaluating eFMI tooling.
- eFMI Container Manager: A tool for creating, checking, reading and modifying eFMUs and their individual containers.
- eFMI Compliance Checker: A tool for checking eFMUs for conformance with the eFMI Standard.
Project organization
- MAP eFMI bylaws (PDF)
- Membership application guidelines and form (PDF)
- Modelica Association Contributor License Agreement (MA CLA) (PDF)
Annual project reports at Modelica Association assembly meetings
- Annual project report 2024 (PDF)
- Annual project report 2023 (PDF)
- Annual project report 2022 (PDF)
- Annual project report 2021 (PDF)
Recommended documentation and introductory material
Overview and introduction
- eFMI motivation and objectives teaser (mp4):
- A 3:20-minutes video summarizing the application domain, motivation and objectives of the eFMI Standard.
- eFMI overview paper (PDF) at the 14th International Modelica Conference:
- A comprehensive and highly recommended introductory overview paper about eFMI technology and the eFMI Standard.
- eFMI vs. FMI lineup (mp4):
- A 3:32-minutes summary of the relation of eFMI compared to FMI, highlighting the need for another standard.
- eFMI® scope and delimitation (PDF)
- Classification of eFMI w.r.t. related standards and ecosystems in the (physics) simulation and embedded software domain, highlighting its focus on (1) embedded software development, (2) single function-level design not composition & distributed-deployment and (3) non-functional quality criteria. The unique language design characteristics of eFMI GALEC are used to exemplify the focal point of eFMI: bringing acausal physics simulation to the safety-critical and hard real-time world all the way down to actual target hardware and their ecosystems.
eFMI® Tutorial 2025
A comprehensive eFMI tutorial has been presented at the 16th International Modelica & FMI Conference, 8th of September 2025, Lucerne, Switzerland. The tutorial demonstrates the current state-of-the-art of available eFMI tooling in 5 parts (cf. agenda slides (PDF)), including an eFMI overview, motivating example, hands-on, advanced examples and industry use-case:
- Part 1 – eFMI® motivation and overview: High-level overview of the eFMI Standard and workflow from acausal physics models in Modelica® down to embedded target code. (recording (mp4), slides (PDF))
- Part 2 – Running use-case introduction: Comprehensible Modelica® example demonstrating the advantages and beauty of eFMI. The use-case is an electric vehicle drivetrain torque controller to reduce drivetrain vibrations, using a simple inverse model of the elastic drivetrain (virtual sensor) to feed – and thereby improve the behavior of – a from-stock PI controller. (recording (mp4), slides (PDF))
- Part 3 – Hands-on in Dymola and Software Production Engineering: Hands-on experience in Dymola (Dassault Systèmes) and Software Production Engineering (Dassault Systèmes) to generate an eFMU for the example of Part 2. Besides final software-in-the-loop (SiL) and recalibration tests, the generated eFMU and its various intermediate model representations are investigated, focusing on the non-functional quality criteria satisfied by the generated solution, like traceability between eFMU containers, MISRA C:2023 compliance of generated production code and other code quality criteria like static memory allocation and error handling. Also, tooling to import eFMI production code in Simulink® (The MathWorks, Inc.) as C Function blocks or to export production code as Arduino® sketch is presented. (recording (mp4), slides (PDF))
- Part 4 – Advanced demonstrators: Two advanced examples demonstrating how eFMI can help with the development of advanced hard real-time model-predictive control in safety-critical embedded environments. The first example is a battery management system (BMS) where the battery cell model is used as virtual sensor to predict the cell core tempurate, such that power requests can be limited to avoid battery damage due to overheating. The second example is a quarter car vehicle model (QVM), that is a hybrid physics and neural networks (NN) model – a so called physics-enhanced neural ordinary differential equations system (PeN-ODE) – with the unknown non-linear physics of the suspension incorporated by NN surrogate models that are well integrated with known physics of the QVM. (recording (mp4), slides (PDF), battery management system life-demo at Dassault Systèmes booth (mp4))
- Part 5 – Industry case-study: Industry use-case for the eFMI based development of a thermal management system (TMS) for a fuel cell electric vehicle (FCEV). (recording (mp4), slides (PDF))
eFMI® Tutorial 2023
A comprehensive eFMI tutorial has been presented at the 15th International Modelica Conference, 9th of October 2023, Aachen, Germany. The tutorial starts with a general eFMI motivation and overview, proceeds with a running example motivating eFMI, a hands-on to generate eFMUs for the running example with a step-by-step guide in Dymola (Dassault Systèmes) and Software Production Engineering (Dassault Systèmes), followed by a live presentation of TargetLink (dSPACE GmbH) support for eFMI production code generation and system integration in Simulink® (The MathWorks, Inc.) and other dedicated embedded target environments – including harware-in-the-loop simulation and binary code statistics for the running example – and finally finishes with a short summary of further eFMI tooling, like TPT (PikeTec GmbH) and AUTOSAR Builder (Dassault Systèmes):
- eFMI® Tutorial Agenda (slides (PDF))
- Part 1: eFMI® motivation and overview (recording (mp4), slides (PDF))
- Part 2: Running use-case introduction (recording (mp4), slides (PDF))
- Part 3: Hands on demonstration in Dymola and Software Production Engineering (former name CATIA ESP) (recording (mp4), slides (PDF))
- Part 4: Live demonstration in TargetLink (recording (mp4), slides (PDF))
- Part 5: Short presentation of further tooling (recording (mp4), slides (PDF))
Use-cases and industrial applications
- ITEA 3 EMPHYSIS industrial demonstrator report (PDF):
- The final report summarizing the industrial demonstrators developed in the ITEA 3 Call 2 project EMPHYSIS (see the About page for details about the relationship of MAP eFMI with EMPHYSIS). The report explains the used eFMI tooling and tool interactions, the performance assessment conducted to compare eFMI with state-of-the-art embedded software development, the test suite and unit tests to validate eFMI tooling compatibility (crosschecks) and the varying actual industrial demonstrators and their challenges and eFMI-based solution.
Example eFMUs
Drivetrain torque controller with eFMI 1.0.0 Alpha 4
Example eFMU with Algorithm Code, Production Code, Binary Code and Behavioral Model containers for a drivetrain torque controller. The example and its original Modelica model defining the physics of the drivetrain (the plant model) are test case M04 of the eFMI crosscheck test cases. The embedded controller developed in the eFMU is an approximated inverse model of the drivetrain plant model combined with a simple PI controller. The respective Modelica models of the test setup and controller are:
The example eFMU provides the following eFMI containers, each generated by varying eFMI tooling:
- A Behavioral Model container providing two test scenarios and the original Modelica model defining the controller subject to embedded code generation.
- An Algorithm Code container providing GALEC code – i.e., an algorithmic, causal solution – for the controller; it has been generated using Dymola (Dassault Systèmes).
- Four Production Code containers for the Algorithm Code container, generated using two different tools: Software Production Engineering (former name CATIA ESP) (Dassault Systèmes) and TargetLink (dSPACE GmbH). With each tool two production codes are generated, a 32-Bit and a 64-Bit floating point precision version. All 4 production codes pass MISRA C:2012 checks with Cppcheck 2.10.
- A Binary Code container for the 32-Bit floating point precision production code of Software Production Engineering, targeting Windows x86 and generated using Software Production Engineering.
TPT (PikeTec GmbH) has been used to validate each production code against the scenarios of the Behavioral Model container. The respective test results are stored in TestResult
folders of their respective Production Code containers. Minor differences due to floating point precision are visible by the TPT tests; still all 32-Bit compared to 64-Bit floating point precision results are within the tolerances of the test scenarios defined in the Behavioral Model container’s manifest.
The final content of the collaboratively developed eFMU is:
Note that manifests link dependent containers for traceability. Production code manifests, for example, link back to the Algorithm Code container they implement by means of ManifestReference
and individual ForeignVariableReference
for each block-variable of the original GALEC code. eFMU consistency between dependent artefacts is ensured by means of SHA-1 checksums. For example, the GALEC code of an Algorithm Code container is listed as File
element with a mandatory checksum; likewise, the ManifestReference
of a Production Code container’s manifest lists the checksum of the respective Algorithm Code container manifest it implements.
The schemas
folder contains the XSD Schemas for all manifests as defined in the eFMI Standard 1.0.0. The __content.xml
of the eFMU’s root directory lists all containers of the eFMU; it is the unique entry point for reading and working with the eFMU.