Purpose of the Modelica Association Project Functional Mockup Interface
Development and promotion of the Functional Mock-up Interface (FMI) standard. The intention is to simplify the creation, storage, exchange and (re-) use of dynamic system models of different simulation systems for model/software/hardware-in-the-loop simulation, for cyber physical systems, and other applications.
The FMI specifications are published under the CC-BY-SA 4.0 (Creative Common Attribution-ShareAlike 4.0 International) license. Source code, such as C-header and XML-schema files, that accompany the specification documents, are provided under the 2-Clause BSD License.
Modelica Association Project (MAP) FMI
The development of the FMI Standard is organised as the Modelica Association Project Functional Mock-up Interface under the roof of the Modelica Association. It follows the Project Rules approved by the FMI Steering Committee.
Project Leader and Deputy:
Christian Bertsch (BOSCH) and Torsten Sommer (Dassault Systèmes) projectleader@fmi-standard.org
Members of the Steering Committee:
AVL List, BOSCH, Dassault Systemes, dSPACE, ESI Group, Maplesoft, Modelon, PMSF, Siemens PLM, Synopsys
Further Contributing Members:
Aarhus University, ABB, Altair, Akkodis, AMEPERE, Ansys, Augsburg University, Beckhoff, Boeing, Danfoss, DLR, EKS INTEC, ETAS, Fraunhofer IEM, ITK Engineering, iVH, JuliaComputing, LTX, MachineWare, Renault, Saab Group, Virtual Vehicle Research, Wolfram MathCore AB, TLK Thermo, tracetronic, TU Dresden and all Steering Committee Members
Members of the Advisory Committee: AIRBUS, blue automation, Claytex, COMSOL, Fraunhofer (IIS/EAS First, SCAI), KEB Automation, NVIDIA, Knorr-Bremse Rail Vehicle Systems, MathWorks, Open Modelica Consortium, Samares Engineering, TWT, University of Halle, Volkswagen, VTI, and all Contributing and Steering Committee Members
How to contribute to the development of the FMI standard
There are FMI tracks at other FMI related events like conferences and design meetings. If you believe you could benefit from the standard or if you would like to contribute to the improvement or distribution of it, please contact us at: contact@fmi-standard.org.
All individual contributors have to sign the Corporate Contributor License Agreement (CCLA) or must be corporate contributors that have signed the CLA of the Modelica Association. Therefore, the first step is to get your company to sign the CCLA/CLA. This ensures that all intellectual property (IP) contributed to the FMI Standard will be licensed to the Modelica Association (MA) which will sublicense the FMI Standard to tool vendors implementing it and end users using it.
With the CCLA signed by your company, you will be granted access to our IT infrastructure and GitHub repositories and you will be added to the FMI Design mailing list where you will be invited to our regular FMI Design Meetings. These are the central information hubs for the Modelica Association Project FMI. Here you can also find out which working groups are currently working on FMI Change Proposals (FCPs). You can join a working group by e-mailing the respective working group leader. If you have other ideas, you may propose to start and lead a new working group by searching for collaborators on the FMI Design mailing list and/or present your ideas at an FMI Design Meeting.
Companies that have shown continued commitment and valuable contributions will be invited to join the FMI Advisory Committee. This membership is mostly ceremonial and its most important function is to recognize publicly who is actively helping to develop the FMI standard.
The next level of involvement is membership in the FMI Steering Committee which is the governing body of the Modelica Association Project FMI. You have to formally apply, explaining your past, current and future involvement and plans regarding the FMI Standard. The FMI Steering Committee will vote on your applications.
Meetings
Currently we have biweekly FMI Design Webmeetings, about 2-3 in-person FMI Design Meetings per year, monthly FMI Steering Committee meetings, and other working group meetings on demand (Google Calendar).
Development Process
Today, we largely use github issues and pull requests to technically coordinate our design work.
First version of the FMI Standard
MODELISAR was an European project to improve significantly the design of systems and of embedded software in vehicles. MODELISAR had 29 partners and started in July 2008 and finished, after extension, in December 2011. FMI 1.0 was one of the results of MODELISAR.
MODELISAR partners: ARMINES, AIT, ATB, AVL List, Altran, Daimler, Dassault Systèmes, Dassault Systèmes AB, David, DLR, FhG (First, IIS, EAS, SCAI), Geensoft, Halle University, IFP Energies nouvelles, LMS Imagine, INSPIRE, SIMPACK, ITI, LMS International, QTronic, Trialog, Triphase, TWT, Verhaert, Volkswagen, Volvo
The core MODELISAR development partners agreed to continue FMI specification work under the roof of the Modelica Association as newly created Modelica Association Project Functional Mock-up Interface.
Acknowledgement
The FMI development was partially funded within the ITEA2 project MODELISAR by
BMBF for Daimler AG, DLR e.V., Fraunhofer IIS/EAS, ITI GmbH, Martin-Luther-University Halle-Wittenberg, QTronic GmbH, SIMPACK AG, TWT (BMBF Förderkennzeichen: 01lS08002) | |
DGCIS for Dassault Systèmes, IFPEN, LMS Imagine, Trialog | |
VINNOVA for Dynasim AB, Volvo (funding number: 2008-02291) |
Trademark Guidelines for the Use of the FMI Trademark
Preliminaries
The FMI project and the Modelica Association (MA) are asking all members of the public and the FMI community to follow and respect the following usage guidelines for the use of the FMI und FMU trademarks.
The purpose of the trademark registration is to protect the use of the word-marks FMI
and FMU
in the protected application domains from any usage that is contrary to the mission and values of the trademark owner, the Modelica Association.
The purpose of this guideline is to make sure that any use of the FMI and FMU trademarks agrees with these guidelines and strengthens the brand and value of the FMI standard.
Further, the guidelines will try to make sure that no confusion or misinformation can arise from the use of the FMI and FMU trademarks.
At the same time, the Modelica Association wants to encourage as many commercial companies and open source software developers to support the FMI standard in a high quality of implementation and put as little administrative burden as possible.
The MA encourages to mention the FMI standard with a proper reference. The main reference in any tool documentation should contain a pointer to the official FMI website https://fmi-standard.org.
Trademark Usage Guidelines
The use of the letters FMI
or FMU
in a product name or other relevant reference is allowed when
- The use is clearly a reference to adhering to the standard.
The use of the letters FMI
or FMU
in a product name, reference or other relevant context is not allowed when:
- The use can cause confusion whether the FMI standard is followed (e.g. using
FMI
with a version number that is not released by the FMI project), - The use can be interpreted as a variant, subset or improvement of the original FMI standard (e.g. using a tool name, say
FMIplus
, that can be interpreted as supporting with extensions/improvements with respect to one of the FMI versions), - The use spreads wrong or misleading information about the FMI standard
- The use mocks or degrades the FMI standard
The FMI Steering committee reserves the right to determine whether a use of FMI
or FMU
violates these guidelines and will ask any offender to cease and desist from using the FMI trademark in a non-approved way.
The FMI steering committee also reserves the right to retract the permission of the use of the term FMI in a product name when the product owner when the tool developer does over a longer period not fix known errors in their FMI support.
If you are in doubt about your intended usage of the FMI
or FMU
trademark, please contact contact@fmi-standard.org.
Standardization Projects and Groups Related to FMI
MAP SSP
In many applications there is the need to design, simulate and execute a network of components (simulation models, software, hardware etc.). In order to be able to do this tool independently and seamlessly, the purposes of the “System Structure and Parameterization of Components for Virtual System Design (SSP)” project are:
- Define a standardized way to store and apply parameters to these components.
- Define a standardized format for the connection structure for a network of components.
- The developed standard / APIs should be usable in all stages of development process (architecture definition, integration, simulation, test in MiL, SiL, HiL).
Link to project page.
MAP DCP
The DCP is a platform and communication medium independent standard for the integration of real-time systems into simulation environments. The DCP is standardized by the Modelica Association, where it is maintained as a Modelica Association Project (MAP).
Whereas the FMI standard represents an application programming interface (API), the DCP represents a communication protocol. Therefore, it becomes possible to integrate various kinds of systems. The DCP specification is suitable for a broad range of computing platforms. It may be implemented on hardware as well as in software. Typical examples are middleware, runtime environments, (virtualized) operating systems, electronic control units, FPGAs, and many more.
Link to project page.
ASAM XIL-MA
The ITEA2 project MODELISAR noticed the parallel work of the ASAM XIL standardization group. Both groups came discussed and concluded not to develop a parallel standard but to cooperate. The result of this cooperation is available as ASAM XIL-MA, which is a subset from ASAM XIL standard. XIL-MA is open to public and the documentation of the standard can be obtained from ASAM for free without membership.
Link to specification.
ProSTEP Smart System Engineering
One of the topics of the Smart Systems Engineering project is to find solutions for the cross-disciplinary and cross-enterprise exchange of behavioral models. The Functional Mockup Interface (FMI) is viewed as the basic technology for the exchange.
The FMI 3.0 Implementers’ Guide is a free resource intended to give non-normative recommendations and guidance to implementers of the Functional Mock-up Interface (FMI) standard version 3.0. It has been published jointly by prostep ivip and the Modelica Association Project FMI.
Link to project page.
Project rules
The project rules are according to the rules of the Modelica Association Bylaws.
Project members
Membership in this project is open to companies, institutes, universities and other organizations, which agree to support the purpose of this project and follow the project rules. There is no individual membership for this project. An organizational member has to appoint an individual person affiliated to the organization to represent the organization in all matters related to this project. This person is the organization’s liaison member. The liason member can nominate deputies with voting rights for individual meetings.
Project members are divided into three groups with a hierarchy of duties and rights: “Steering Committee Members” are a subset of “Contributing Members” which are a subset of “Advisory Commitee Members”:
Group 1: Steering Committee
- The members define FMI policy, strategy, feature roadmap, and future FMI Standard releases and other publications such as Layered standards.
- Members are organizations that actively support FMI. For the matter of clarity: A member need not to be a member of the Modelica Association.
- Members have voting rights (one vote for one organization, details see below).
- Members elect a project leader and a deputy project leader for 2 years with qualified majority (see below). The project leader must be an individual member of the Modelica Association, or must be the liaison member of an organizational member of the Modelica Association. Both have to be affiliated with an FMI Steering Committee member. The deputy supports the project leader and takes over the project leader’s duties temporarily when the project leader is not available for a longer period.
- The members decide on the release of new versions of the FMI Standard (published by MA, for major and minor release after confirmation by MA memebers) and the release of Layered Standards.
- The Steering Committee is open for additional members that proved to actively support FMI.
Requirements:- Must have participated at least at two FMI meetings (face to face or via electronic media) in the last 24 months,
- must either provided the FMI standard or part of it in a commercial or open source tool, and/or must actively use FMI in industrial projects,
- must have signed the Corporate Contributor License Agreement (CCLA, see below), (d) the members of the Steering Committee agree with qualified majority (see below).
Group 2: Contributing Members
- Consists of organizational members that have no voting rights and the FMI Steering Committee members.
- Contribute to the design of FMI by participation in working groups and by creating and editing Pull Request for the FMI standard on https://github.com/modelica/fmi-standard (and for layered standards).
- Have access to the internal infrastructure of the FMI design (Github repos, mailing lists, meeting minutes, etc.).
- The Group of Contributing Members is open for additional members that proved to actively support FMI. Requirement: Must have signed the Corporate Contributor License Agreement or Modelica Assocation CLA. No voting is necessary for becoming a Contributing Member.
Group 3: Advisory Committee
- Consists of organizational members that have no voting right and the Steering Committee Members and Contributing Members.
- Contribute to the design of FMI by providing requirements and feedback. This can also be in the form of separate Advisory Board Meetings.
- Have access to the internal infrastructure of the FMI design (Github repos, mailing lists, meeting minutes, etc.).
- The Advisory Committee is open for additional members that proved to actively support FMI. Requirement: Participation in at least two meetings as visitor. The FMI Steering Committee votes on acceptance to the Advisory Committee.
Project members that have not participated in meetings and have not contributed to the project for more than two years and did not react on a four weeks prior notice lose their membership after a vote with qualified majority. These organizations are excluded from the quorum for this decision.
Visitors Organizations that contribute to the FMI Project and are neither in Group 1 or 2 are called “Visitors”. Visitors have no right to access to the internal infrastructure of the FMI project (svn, trac, mailing lists, etc.).
Organizations
An entity and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single organization. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
Voting
Voting is performed by the Steering Committee Members according to § 14 of the MA Bylaws but with a quorum of 66 % of the members. If explicitly decided by the Steering Committee Members, every voting can be performed electronically according to § 14 of the MA Bylaws. New releases of the FMI specification and accompanying source code (like C-header or xml schema files) shall be approved by the Steering Committee Members with a qualified majority of the number of votes submitted.
Meetings
FMI meetings are announced in the respective mailing lists:
- Steering Committee meetings via steering@fmi-standard.org, the announcement must be at least 3 weeks in advance
- all other meetings via the other mailing lists (design@fmi-standard.org, and/or info@fmi-standard.org)
The Steering Committee decides whether a Steering Committee meeting is public or not, the default is private to ensure an efficient procedure. All other meetings are open to the public. The meeting material (minutes, documents, presentations) is available on the FMI-repository. A publication of this material needs approval of all participants.
Development
The development of FMI specifications is organized according to the FMI Development Rules (https://github.com/modelica/fmi-design/tree/master/FMI_DevelopmentProcess). All organizations that contribute to an FMI specification and related works have to sign the Corporate Contributor License Agreement (https://svn.fmi-standard.org/fmi/branches/public/docs/CCLA) by a responsible representative of the company they are affiliated with.
Publications
The FMI Standard is published by the Modelica Association after confirmation by the MA members (vote with simple majority for major and minor releases). Other Publications such as bugfix releases of the FMI standard and Layered Standards can be published by the FMI project.