Functional Mock-up Interface

Functional Mock-up Interface
Status Published
Year started 2010
Latest version 2.0
July 2014
Organization MAP FMI
Related standards Co-simulation
Domain Computer simulation
License CC_BY_SA 3.0
Abbreviation FMI
Website FMI website

The functional mock-up interface (or FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems.

The vision of FMI is to support this approach: if the real product is to be assembled from a wide range of parts interacting in complex ways, each controlled by a complex set of physical laws, then it should be possible to create a virtual product that can be assembled from a set of models that each represent a combination of parts, each a model of the physical laws as well as a model of the control systems (using electronics, hydraulics, digital software, ..) assembled digitally. The FMI standard thus provides the means for model based development of systems and is used for example for designing functions that are driven by electronic devices inside vehicles (e.g. ESP controllers, active safety systems, combustion controllers). Activities from systems modelling, simulation, validation and test can be covered with the FMI based approach.

To create the FMI standard, a large number of software companies and research centers have worked in a cooperation project established through a European consortium that has been conducted by Dassault Systèmes under the name of MODELISAR. The MODELISAR project started in 2008 to define the FMI specifications, deliver technology studies, prove the FMI concepts through Use Cases elaborated by the consortium partners and enable tool vendors to build advanced prototypes or in some cases even products.

The development of the FMI specifications was coordinated by Daimler AG.

After the end of the MODELISAR project in 2011, FMI is managed and developed as a Modelica Association Project (MAP).

The four required FMI aspects of creating models capable of being assembled have been covered in Modelisar project:

In practice, the FMI implementation by a software modelling tool enables the creation of a simulation model that can be interconnected or the creation of a software library called FMU (Functional Mock-up Unit).

[1]

The FMI approach

The typical FMI approach is described in the following stages:

License

The FMI specifications are distributed under open source licenses:

Architecture

Each FMU (functional mock-up unit) model is distributed in a zip file with the extension ".fmu" which contains:[1]

Example

below is an example of an FMI model description issued from Modelica.

<?xml version="1.0" encoding="UTF8"?>
<fmiModelDescription
  fmiVersion="1.0"
  modelName="ModelicaExample"
  modelIdentifier="ModelicaExample_Friction"
...
  <UnitDefinitions>
     <BaseUnit unit="rad">
        <DisplayUnitDefinition displayUnit="deg" gain="23.26"/>
     </BaseUnit>
  </UnitDefinitions>
  <TypeDefinitions>
     <Type name="Modelica.SIunits.AngularVelocity">
        <RealType quantity="AngularVelocity" unit="rad/s"/>
     </Type>
  </TypeDefinitions>
  <ModelVariables>
     <ScalarVariable
        name="inertia1.J"
        valueReference="16777217"
        description="Moment of inertia"
        variability="parameter">
        <Real declaredType="Modelica.SIunits.Torque" start="1"/>
     </ScalarVariable>
...
  </ModelVariables>
</fmiModelDescription>

Comparison to Simulink

FMI proponents explain that FMI models have several advantages over Simulink S-Functions:[2]

Apart from the technological advantages summarized above, the FMI enables tool coupling without having Simulink as an integration/communication platform. Omitting Simulink as integration platform has a positive impact on simulation performance and reduces the administrative burden of keeping the entire tool chain in sync.

Tools support

As of November 2011, FMI is supported on the following simulation frameworks:[1] See full, up-to-date list and details in FMI web pages.

See also

References

  1. 1.0 1.1 1.2 "Functional Mockup Interface (FMI)". modelica.org. January 2010. Retrieved 2011-012-22. On Jan. 26, version 1.0 of the open Functional Mockup Interface was released (FMI for model exchange 1.0). This interface was developed in the ITEA2 MODELISAR project to support the model exchange between modelling and simulation tools. The Modelisar project is coordinated by Dassault Systèmes. The FMI development has been organized by Daimler. Check date values in: |accessdate= (help)
  2. Martin Otter, Hilding Elmqvist, Torsten Blochwitz, Jakob Mauss, Andreas Junghanns, Hans Olsson. "Functional Mockup Interface – Overview". http://synchronics.inria.fr (INRIA). Retrieved 2011-01-23.

External links