Functional mock-up interface

from Wikipedia, the free encyclopedia
Functional mock-up interface
Basic data

developer Modelica Association
Publishing year 2010
Current  version 2.0
(July 2014)
Current preliminary version -
(-)
programming language C.
category Library
License CC-BY-SA (XML files), BSD (C header )
www.fmi-standard.org

The Functional Mock-up Interface ( FMI ) defines a standardized interface that can be used to couple different simulation software.

description

The idea behind FMI is as follows: If the real product is made up of a multitude of components that interact in a complex way and are controlled by a number of complex physical laws, then it should also be possible to create a virtual product , consisting of a number of different physical (software) models. An example model based on a vehicle could look like this:

  • Software A supplies the motor
  • Software B supplies the gearbox
  • Software C provides the control elements
  • Software D delivers ...

With FMI, these models from different software can be easily coupled and combined to form an overall model.

To create the FMI standard, a large number of software companies and research centers worked together in a cooperation project within the framework of a European consortium, which was carried out by Dassault Systèmes under the name MODELISAR. The MODELISAR project began in 2008 by defining the FMI specifications, providing technology studies, proving the FMI concept through use cases elaborated by consortium partners, and enabling tool vendors to create advanced prototypes or, in some cases, even marketable products .

The four aspects required to create FMI-compatible models were defined in the Modelisar project as follows:

  • FMI for model exchange,
  • FMI for co-simulation,
  • FMI for applications,
  • FMI for PLM (integration of models and associated data in product life cycle management).

In practice, the implementation of FMI with the help of a software modeling tool allows the creation of simulation models that can be coupled with one another. Another option is to create a software library called FMU (Functional Mock-up Unit).

License

The FMI specifications are made available as open source licenses:

  • The specifications are licensed under CC-BY-SA (Creative Commons Attribution-Share Alike 4.0 Unported)
  • The C header and XML schema files are available under the BSD license .

architecture

Each FMU model (FMU = functional mock-up unit) is provided as a .zip file with the extension ".fmu" which contains the following:

  • an XML file that describes, among other things, the definition of the variables used by the FMU;
  • all formulas used in a model (defined as C functions);
  • Optional additional data such as parameter tables, the user interface, documentation required by the model, etc.

example

Here is an example of an FMI model description in 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>

software

FMI is supported by the following software:

  • Adams - High end multibody dynamics simulation software from MSC Software
  • AMESim - Simulation software for the modeling and analysis of multi-domain systems from Siemens
  • ASIM - AUTOSAR Builder from Dassault Systèmes
  • Atego Ace - Co-simulation environment with AUTOSAR and HIL support
  • CANoe - Comprehensive software tool for development, test and analysis of entire ECU networks and individual ECUs
  • CarMaker - Simulation software for virtual test driving from IPG Automotive
  • CATIA V6R2012 - Environment for Product Design and Innovation, including systems engineering tools based on Modelica, by Dassault Systèmes
  • Cybernetica CENIT - Industrial product for nonlinear Model Predictive Control (NMPC) from Cybernetica
  • Cybernetica ModelFit - Software for model verification, state and parameter estimation, using logged process data. By Cybernetica
  • Control Build - Environment for IEC 61131-3 control applications from Dassault Systèmes
  • CosiMate - Co-simulation Environment from ChiasTek
  • DSHplus - Fluid power simulation software from FLUIDON
  • dSPACE VEOS (offline simulation platform from dSPACE )
  • Dymola 7.4 - Modelica environment from Dassault Systèmes
  • DYNA4 - Simulation framework for managing and running virtual test drive simulation models from TESIS DYNAware
  • Eclipse 4diac - open source environment for control applications according to IEC 61499
  • FMI Add-In for Excel - Batch simulation of FMUs in Microsoft Excel
  • FMI Library - C library for importing FMUs in custom applications
  • FMU compliance checker - Software for verifying FMI standard compliance of FMUs
  • FMU Trust Center - cryptographic protection and signature of models including their safe PLM storage; secure authentication and authorization for protected (co-) simulation
  • FMU SDK - FMU Software Development Kit from QTronic
  • GT-SUITE - Multi-Physics Simulation Platform for Powertrain and Vehicle Systems
  • Hopsan - Distributed system simulation tool using the TLM method
  • ICOS Independent Co-Simulation - independent co-simulation environment from Virtual Vehicle Research Center
  • ISOLAR-EVE - Software tool from ETAS for creation and test of virtual ECUs
  • JModelica.org - Open source Modelica environment from Modelon
  • LabVIEW - Graphical programming environment for measurement, test, and control systems from National Instruments
  • MapleSim - via the MapleSim Connector for FMI from Maplesoft
  • MasterSim - Open-source reference implementation of an FMI Co-Simulation master supporting version 2.0 rollback functionality ( webpage / project page )
  • Matlab - via FMI Toolbox from Modelon or via the FMU Export from Simulink from Dassault Systèmes or via the (free) Simulink support package in Simulink 18B
  • Model.CONNECT - neutral model integration and co-simulation platform from AVL List GmbH
  • MWorks 2.5 - Modelica environment from Suzhou Tongyuan
  • NI VeriStand - Real-Time Testing and Simulation Software from National Instruments
  • OpenModelica - Open source Modelica environment from OSMC
  • OPTIMICA Studio - Modelica environment from Modelon
  • Scilab - Open Source Matlab alternative
  • Python - via PyFMI from Modelon, also available as part of JModelica.org
  • Silver 2.0 - Virtual integration platform for software in the loop from QTronic
  • SIMPACK 9 - High end multi-body simulation software from SIMPACK AG
  • SimulationX - Modelica environment from ITI
  • Simulink - via Dymola 7.4 using Real-Time Workshop
  • Simulink - via @Source
  • Simulink - via FMI Toolbox from Modelon
  • Simulink - as an FMU target for the Simulink code generator
  • TISC - Co-simulation environment from TLK-Thermo
  • TWT Co-Simulation Framework - Communication layer tool to flexibly plug together models for performing a co-simulation; front-end for set-up, monitoring and post-processing included
  • TWT Matlab / Simulink FMU Interface - FMI-compatible plug-and-play interface to Matlab / Simulink, available as an integrated block
  • Vertex - Modelica environment from deltatheta
  • Virtual.Lab Motion - Virtual.Lab Motion is a high end multi body software from LMS International
  • xMOD - Heterogeneous model integration environment & virtual instrumentation and experimentation laboratory from IFPEN distributed by D2T.

Accompanying standards and recommendations

In May 2014, the Smart Systems Engineering (SmartSE) project group of the ProSTEP iViP Association issued the PSI 11 recommendation for the cross-company exchange of behavioral models. FMI represents the technological basis. PSI 11 specifies interaction scenarios, use cases, a reference process and templates that are intended to facilitate practical application in industry. At the end of 2016, the group also published a film that is intended to clearly explain the advantages of the FMI application on this basis.

Web links

Individual evidence

  1. BSD license at opensource.org
  2. Martin Otter: Functional Mockup Interface (FMI) . modelica.org. Retrieved March 3, 2014.
  3. FMI Toolbox .
  4. urn : nbn: de: bsz: ch1-qucosa-119975
  5. ProSTEP iViP Recommendation PSI 11, Smart Systems Engineering, Behavior Model Exchange, V 1.0 , May 2014.
  6. Industrial advantages of using FMI when exchanging behavioral models across companies , as of February 2017