Digital Thread 第四周周报(Sun)

一、 本周解决了困扰已久的论文《An Integrated Framework for Traceability and Impact Analysis in Requirements Verification of Cyber–Physical Systems》中的算例 HeatedExample 不能正常编译仿真的问题

解决过程记录如下:

运行环境:Windows 10 专业版 21H1 + OpenModelica1.17.0(64bit)

文中的算例 HeatedExample 层级结构如下:

其中 HeatedElement 类在程序中无法正常编译。其组件视图见下图(左),论文中提供的的组件视图见下图(右)。对比二者差异猜测, resistor 组件没有被正确加载。

编译 HeatedElement 模型失败,根据消息浏览器的报错印证了之前的猜测。

追踪到对应的内部代码,应是 OpenModelica 的默认库中 Modelica->Electrical->Analog->Basic 目录下缺少 HeatingResistor 组件。

重新安装 OpenModelica1.17.0(64bit) ,没有解决。
重新安装 OpenModelica1.18.0dev.beta1(64bit) ,没有解决。
重新部署 Windows10 操作系统,没有解决。
重新安装 OpenModelica1.16.0(64bit) ,没有解决。
通过一系列 Google 得知 OpenModelica 默认库为 ModelicaStandardLibrary(MSL) ,在 Github 上查找 MSL 的历史版本,经过测试 MSL v3.2.3 build.4 (2020-06-04更新) 中包含了 HeatingResistor 组件。下载地址:Release MSL v3.2.3+build.4 (2020-06-04) · modelica/ModelicaStandardLibrary · GitHub

使用时需要导入 ModelicaStandardLibrary_v3.2.3->Modelica 3.2.3->Electrical->Analog 目录下的 Basic.mo 文件,再打开 HeatedElement 后可以正常编译。如下图。

二、 图数据库 neo4j 和 GraphDB 初体验

安装图数据库 neo4j 和 GraphDB 。
neo4j 版本:Community Edition 4.3.3
GraphDB 版本: Free 9.9.0

相较于GraphDB而言neo4j国内用户比较多,相关的资源比较丰富,故先行下载体验相关功能。论文中使用GraphDB用于链接各个可视化工件、表示其关系。故未来会转至GraphDB平台。下图是neo4j自带的演示算例的可视化结果。

三、 下周计划

学习 neo4j 和 GraphDB 基本操作,探究 OpenModelica 与 GraphDB 之间的数据传输机制。


2021年8月13日