Simulink模型转换为DIVINE模型(2012)

在CoCoSim中,提到将Simulink模型转换为Lustre模型。除了这种方式外,Simulink模型还能转换为其他模型检测工具的输入模型,比如DIVINE。下面将介绍2012年的一份相关工作。

在面对复杂的系统行为和时序属性验证时,单纯依靠Simulink自身的功能难以实现全面深入的验证。DIVINE是一款用于离散分布式系统的显式状态LTL线性时序逻辑模型检查和可达性分析工具。相较于符号模型检查工具,显式状态模型检查在分布式内存环境中具有更好的可扩展性。

参考

详细内容,可参考Barnat, Jiri & Beran, Jan & Brim, Luboš & Kratochvíla, Tomas & Ročkai, Petr. (2012). Tool Chain to Support Automated Formal Verification of Avionics Simulink Designs. 10.1007/978-3-642-32469-7_6.

将Simulink模型转换为DIVINE模型主要包括中间语言转换、生成符合CESMI接口的代码以及与DIVINE工具集成等步骤:

中间语言转换

为了实现Simulink模型到DIVINE模型的转换,首先需要将Simulink模型转换为一种特定的中间语言。这种中间语言是一种适用于描述同步数据电路的EDS嵌入式领域特定编程语言,基于C++实现。

在转换过程中,会由专门的编译器处理Simulink设计,生成中间语言的代码。该中间语言支持创建块和块之间的连接,其中块分为原子块和复合块。原子块的实现需要用C++代码编写基本操作。

复合块则对应实际的数据流程序或子程序,并且复合块可以作为构建更复杂复合块的基础,从而轻松实现模块化设计。在Simulink模型转换中,复合块自然对应 Simulink中的子系统以及整个系统设计,很好地保留了Simulink模型的层级结构和功能模块划分。

生成符合CESMI接口的代码

生成中间语言代码后,下一步是将其编译为符合 CESMI(Common Explicit-State Model Interface,通用显式状态模型接口)规范的共享对象。这一步骤通过标准的C++编译器完成。CESMI接口对于DIVINE工具来说,它定义了模型检查工具与待验证模型之间的交互方式。​

CESMI接口要求在二进制文件中定义一系列必要的函数,以支持DIVINE对模型的解读和验证。这些函数包括:​

  • 初始状态函数:一个无参函数,用于提供模型的初始状态,是DIVINE进行状态搜索的起点。
  • 后继状态函数:一个从状态到状态集合的函数,能够根据当前状态计算出所有可能的后续状态,为DIVINE遍历系统状态空间提供支持。
  • 接受状态和目标状态判断函数:两个一元布尔函数,分别用于判断一个状态是否为接受状态和目标状态,这服务于LTL模型检查中确定系统是否满足特定属性。

此外,如果要在LTL验证中让DIVINE内部计算属性自动机,还需要扩展基本的 CESMI接口,增加用于评估LTL公式中使用的原子命题在各个系统状态下有效性的函数。通过生成符合CESMI接口的代码,确保了转换后的模型能够被DIVINE工具正确识别和处理,为后续的验证工作提供基础。

与DIVINE工具集成

在获得符合CESMI接口的共享对象后,就可以将其与DIVINE工具进行集成,开展模型验证工作。

相关推荐
沅_Yuan20 小时前
基于四开关Buck-Boost的Simulink仿真模型(免费下载)【MATLAB】
matlab·仿真·电力电子·simulink·四开关buck-boost
杰杰桀桀桀5 天前
[AC-DC-AC PWM整流]--附simulink仿真文件
电赛·simulink·控制算法·pwm整流·ac-dc-ac
可编程芯片开发6 天前
基于EKF扩展卡尔曼滤波的四旋翼飞行器状态估计simulink建模与仿真
ekf·simulink·状态估计·扩展卡尔曼滤波·四旋翼飞行器
youcans_7 天前
【FOC-MBD】(19)反 Park 坐标变换链路
stm32·单片机·嵌入式硬件·simulink·代码生成
ltqshs7 天前
Maltab Simulink常用模块位置
simulink
Amanda1m18 天前
理解ePWM的工作原理和配置方法
matlab·simulink
沉沙丶25 天前
模型预测控制专题(十二)—— 基于高阶扩展状态观测器HESO的MPFCC
simulink·电机控制·foc·永磁同步电机·pmsm·无模型预测·电流预测控制
沉沙丶1 个月前
模型预测控制专题(七)—— 无模型电流预测参数影响分析
simulink·电机控制·foc·永磁同步电机·无模型预测·电流预测控制·电流预测
bu_shuo1 个月前
二维数据使用To Workspace输出到工作空间并绘制图像
matlab·simulink·to workspace
可编程芯片开发2 个月前
基于GA遗传优化PI控制器的无刷直流电机最优控制系统simulink建模与仿真
simulink·最优控制·ga遗传优化·pi控制器·无刷直流电机·ga-pi