Functional Mock-up Interface: Difference between revisions

Content deleted Content added
No edit summary
Line 13:
}}
 
The '''functional mock-up interface''' (or '''FMI''') defines a standardized interface to be used in [[computer simulation]]s to develop complex cyberphysical systems.
 
The vision of '''FMI''' is to support this approach: if the real productsproduct is to be assembled from a wide range of parts interacting together in complex ways that, each is 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 representrepresents a combination of parts, interacting using 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 provideprovides the means for '''model based development of systems''', and is used for example for designing functions that are driven by electronic devices inside vehicles (ege.g. ESP controllercontrollers, active safety systems, combustion controllercontrollers).
Activities from systems modelingmodelling, 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 is conducted by [[Dassault Systèmes]] under the name of '''MODELISAR'''.
The [http://www.itea2.org/public/project_leaflets/MODELISAR_profile_oct-08.pdf '''MODELISAR'''] project has been initializedstarted in 2008 to define the FMI specifications, deliver technology studies, and 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]].
 
The [http://www.modelisar.com/fmi.html '''FMI specifications'''] are distributed under open source licencelicences:
* the specifications are licensed under CC-BY-SA (Creative Commons Attribution-Sharealike 3.0 Unported) [[Creative Commons licenses|CC_BY_SA 3.0]]
* the C-header and XML-schema files that accompany this document are available under the [http://www.opensource.org/licenses/bsd-license.html BSD] license with the extension that modifications must be also be provided under the BSD license.
 
The four required FMI aspects of creating models capable of being assembled have been covered in in Modelisar project:
Line 34:
* FMI for [[Product life cycle management (marketing)|PLM]] (integration of models and related data in product life-cycle management).
 
In practice, the FMI implementation by a software modelingmodelling 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)'''.
 
<ref name="modelica_Jan10">{{cite web
Line 45:
 
== The FMI approach ==
The FMI typical FMI approach is described in the following stages:
* a modelingmodelling environment describes a product sub system by differential, algebraic and discrete equations with time, state and step-events. These models can be large for usage in offlineoff-line or onlineon-line simulation or can be used in embedded control systems;
* as an alternative, an engineering tool defines the controller code for controlling a vehicle system ;
* such tools generate and export the component in aan FMU (Functional Mock-up Unit);
* an FMU can then be imported in another environment to be executed ;
* several FMUs can – by this way – cooperate at runtime through a co-simulation environment , thanks to the FMI definitions of their interfaces.
 
==Architecture==
Each FMU (functional mock-up unit) model is distributed in a [[ZIP (file format)|zip filesfile]] with the extension ".fmu" which contains<ref name="modelica_Jan10"/>:
* an XML file containing among other things the definition of the variables used by the FMU;
* all the equations used by the model (defined as a set of [[C (programming language)|C]] functions);
Line 97:
| publisher=http://synchronics.inria.fr ([[National Institute for Research in Computer Science and Control|INRIA]])
| accessdate=2011-01-23}}</ref>:
* S-Functions format is proprietary, whereas the FMI schema is licensed under a [[BSD licenses|BSD license]],.
* The building blocks of S-Functions are much more complex than FMI, making it very difficult to integrate in other simulators other than [[Simulink]] itself.
* Furthermore, the S-Functions format is specific to Simulink.
* S-Functions are not suited for [[embedded system]]s, due to the memory overhead of S-Functions.
 
==Tools support==
As of JulyNovember 2011, FMI is supported on the following simulation frameworks<ref name="modelica_Jan10"/>:
See full, up-to-date list and details in [http://www.modelisar.com/tools.html FMI web pages].
* AMESim – Modelica environment from LMS-Imagine
* ASIM – AUTOSAR Builder from Dassault Systèmes
* Atego Ace – Co-simulation environment with AUTOSAR and HIL support
* 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
* Dymola 7.4 – Modelica environment from Dassault Systèmes
* FMU Trust Centre - 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
* IPG CarMaker – via Modeling and Co-Simulation environment by Modelon
Line 128 ⟶ 132:
* Simulink – via @Source
* Simulink – via [http://www.modelon.com/products/fmi-toolbox-for-matlab/ FMI Toolbox] from Modelon
* 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
* 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 IFP
 
== Application scenarios ==