A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface

被引:22
作者
Hatledal, Lars Ivar [1 ]
Styve, Arne [2 ]
Hovland, Geir [3 ]
Zhang, Houxiang [1 ]
机构
[1] Norwegian Univ Sci & Technol, Dept Ocean Operat & Civil Engn, N-6009 Alesund, Norway
[2] Norwegian Univ Sci & Technol, Dept ICT & Nat Sci, N-6009 Alesund, Norway
[3] Univ Agder, Dept Engn Sci, N-4879 Grimstad, Norway
关键词
Co-simulation; distributed simulation; FMI; FMU; model exchange; RPC;
D O I
10.1109/ACCESS.2019.2933275
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:109328 / 109339
页数:12
相关论文
共 33 条
  • [1] Andersson C., 2016, 2 LUND U FAC ENG CTR
  • [2] [Anonymous], 2018, JNA FAQ
  • [3] [Anonymous], 2019, AP COMM MATH3
  • [4] [Anonymous], 2013, WORKSH MOD SIM CYBC
  • [5] [Anonymous], 2017, FMPY
  • [6] [Anonymous], 2008, Protocol Buffers-Google's data interchange format
  • [7] Apache Foundation, 2019, AP COMM MATH3
  • [8] Apache Software Foundation, 2019, AP THRIFT
  • [9] Bertsch C., 2014, P 10 INT MODELICA C, V96, P27, DOI [10.3384/ECP1409627, DOI 10.3384/ECP1409627]
  • [10] Blochwitz T, 2012, Proceedings of the 9th International Modelica Conference, P173, DOI DOI 10.3384/ECP12076173