A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
The main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, a...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2019-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/8788514/ |
id |
doaj-0adbaf44932e4ded8151a3b0b0125091 |
---|---|
record_format |
Article |
spelling |
doaj-0adbaf44932e4ded8151a3b0b01250912021-04-05T17:03:09ZengIEEEIEEE Access2169-35362019-01-01710932810933910.1109/ACCESS.2019.29332758788514A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up InterfaceLars Ivar Hatledal0https://orcid.org/0000-0001-6436-7213Arne Styve1Geir Hovland2Houxiang Zhang3Department of Ocean Operations and Civil Engineering, Norwegian University of Science and Technology, Ålesund, NorwayDepartment of ICT and Natural Sciences, Norwegian University of Science and Technology, Ålesund, NorwayDepartment of Engineering Sciences, University of Agder, Grimstad, NorwayDepartment of Ocean Operations and Civil Engineering, Norwegian University of Science and Technology, Ålesund, NorwayThe main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, an FMU can support multiple platforms, but not necessarily in practice. Furthermore, software libraries for interacting with FMUs may not be available in a particular language or platform. Another issue is related to the protection of intellectual property (IP). While an FMU is free to only provide the C-code in its binary form, other resources within the FMU may be unprotected. Distributing models in binary form also opens up the possibility that they may contain malicious code. In order to meet these challenges, this paper presents an open-source co-simulation framework based on FMI, which is language and platform independent thanks to the use of well-established remote procedure call (RPC) technologies. One or more FMUs are wrapped inside a server program supporting one or more language independent RPC systems over various network protocols. Together, they allow cross-platform invocation of FMUs from multiple, including previously unsupported, languages. The client-server architecture allows the effective protection of IP while also providing a means of protecting users from malicious code.https://ieeexplore.ieee.org/document/8788514/Co-simulationdistributed simulationFMIFMUmodel exchangeRPC |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Lars Ivar Hatledal Arne Styve Geir Hovland Houxiang Zhang |
spellingShingle |
Lars Ivar Hatledal Arne Styve Geir Hovland Houxiang Zhang A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface IEEE Access Co-simulation distributed simulation FMI FMU model exchange RPC |
author_facet |
Lars Ivar Hatledal Arne Styve Geir Hovland Houxiang Zhang |
author_sort |
Lars Ivar Hatledal |
title |
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface |
title_short |
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface |
title_full |
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface |
title_fullStr |
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface |
title_full_unstemmed |
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface |
title_sort |
language and platform independent co-simulation framework based on the functional mock-up interface |
publisher |
IEEE |
series |
IEEE Access |
issn |
2169-3536 |
publishDate |
2019-01-01 |
description |
The main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, an FMU can support multiple platforms, but not necessarily in practice. Furthermore, software libraries for interacting with FMUs may not be available in a particular language or platform. Another issue is related to the protection of intellectual property (IP). While an FMU is free to only provide the C-code in its binary form, other resources within the FMU may be unprotected. Distributing models in binary form also opens up the possibility that they may contain malicious code. In order to meet these challenges, this paper presents an open-source co-simulation framework based on FMI, which is language and platform independent thanks to the use of well-established remote procedure call (RPC) technologies. One or more FMUs are wrapped inside a server program supporting one or more language independent RPC systems over various network protocols. Together, they allow cross-platform invocation of FMUs from multiple, including previously unsupported, languages. The client-server architecture allows the effective protection of IP while also providing a means of protecting users from malicious code. |
topic |
Co-simulation distributed simulation FMI FMU model exchange RPC |
url |
https://ieeexplore.ieee.org/document/8788514/ |
work_keys_str_mv |
AT larsivarhatledal alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT arnestyve alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT geirhovland alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT houxiangzhang alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT larsivarhatledal languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT arnestyve languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT geirhovland languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface AT houxiangzhang languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface |
_version_ |
1721540324944248832 |