Promotion material

eFMI objectives teaser: 2-minutes teaser, summarizing the application domain, motivation and objectives of the eFMI Standard.

eFMI overview teaser: 8-minutes teaser, summarizing the eFMI Standard and its achievements in EMPHYSIS; higly recommended for a short overview.

eFMI vs. FMI overview: 3:26-minutes summary of the relation of eFMI compared to FMI, highlighting the need for another standard.

Final ITEA3 EMPHYSIS review: Excerpt form the presentations given at the final ITEA3 EMPHYSIS review. The slide set is comprehensive, going into the details of EMPHYSIS research results and the eFMI Standard, including motivation, developed tooling and performance assessement.

Conference publications

2021

14th International Modelica Conference, 2021-09-22: Paper at the 14th International Modelica Conference summarizing the research results of EMPHYSIS and the eFMI Standard. The paper is comprehensive and highly recommended for an introductory overview about the eFMI Standard.

Oliver Lenord, Martin Otter, Christoff Bürger, Michael Hussmann, Pierre Le Bihan, Jörg Niere, Andreas Pfeiffer, Robert Reicherdt and Kai Werther.
"eFMI: An open standard for physical models in embedded software".
In: Proceedings of the 14th International Modelica Conference 2021.
Modelica Association, September 2021, pages 57-71.
DOI: 10.3384/ecp2118157.

FMI Industrial User Meeting, 2021-09-23: Video of the eFMI presentation at the FMI Industrial User Meeting at the 14th International Modelica Conference. The video explains how eFMI fits into the standards ecosystem of the Modelica Association and explains the container architecture and workflow of eFMI by the example of existing tooling. A short overview of the Modelica Association Project eFMI and its development processes and release cycle conclude the presentation.

eFMI Standard

eFMI Version 1.0.0-alpha.4: This is the first, publicly available version of the planned Functional Mock-up Interface for embedded systems Standard (eFMI).

Example eFMU

Example eFMU with Algorithm Code, Production Code, Binary Code and Behavioral Model containers for an embedded torque controller.

The Behavioral Model container provides two test scenarios and the original Modelica model defining the controller subject to embedded code generation.

The Algorithm Code container provides GALEC code -- i.e., an algorithmic, causal solution -- for the controller; it has been generated by Dymola (Dassault Systèmes).

Production code for the Algorithm Code container is generated using three different tools: CATIA ESP (Dassault Systèmes), TargetLink (dSPACE GmbH) and SCODA-CONGRA (ETAS GmbH). For each tool two production codes are generated, a 32 Bit and a 64 Bit floating point precision version.

For the 32 Bit production code of ESP, a binary code container with x86 as target architecture has been generated using CATIA ESP (Dassault Systèmes).

TPT (PikeTec) 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. Note that the precision-related issues of 32 Bit compared to 64 Bit are still within the tolerance defined in the scenario description given in the Behavioral Model container's manifest.

Note how 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 specification. 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 an eFMU.