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 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
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 overview presentation (mp4) at the “FMI Industrial User Meeting” at the 14th International Modelica Conference:
- A video explaining how eFMI fits into the standards ecosystem of the Modelica Association – in particular compared to the FMI Standard – how eFMI containers look like and how the development of embedded solutions from high-level physics models is fostered by the eFMI workflow and accompanying existing tooling. A short overview of the MAP eFMI and its development process and release cycle conclude the presentation.
- eFMI vs. FMI comparison (mp4):
- A 3:26-minute’s summary of the relation of eFMI compared to FMI, highlighting the need for another standard.
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: 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 production code of CATIA ESP, targeting Windows x86 and generated using CATIA ESP (Dassault Systèmes).
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.