Modern warehouse with pallet rack storage system, © 2010, Axisadman, Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

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.

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:

Project organization

Annual project reports at Modelica Association assembly meetings

Overview and introduction

eFMI® Tutorial

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 (former name CATIA ESP) (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):

Use-cases and industrial applications

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:

M04-torque-controller

The example eFMU provides the following eFMI containers, each generated by varying eFMI tooling:

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:

M04-torque-controller

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.