自动生成Simulink到Circus转换的工具链探索
1. 数据类型处理与工具应用
Simulink使用多维数据,如向量和矩阵,在转换时,向量表示为 seq X ,矩阵表示为 seq seq X 。此外,还支持布尔和复数值的转换,并且易于扩展以包含自定义数据类型。
然而,Simulink(mdl)文件中不记录数据类型和维度,为此使用新的Type Extractor工具来提取这些信息。具体操作步骤如下:
1. 该工具在MATLAB环境中运行自定义函数,通过在MATLAB环境内执行,能够提取mdl文件中未存储的图表属性。
2. 工具会遍历图表中的所有块,并生成一个与原始mdl文件结构相同的新文件,该文件包含所有块输入和输出的数据类型和维度。
提取的类型信息会通过新的Merge工具与原始文件合并。Merge工具的作用是将两个mdl文件合并为一个mdlx文件,创建新文件可保持可追溯性,并确保原始图表仍能在Simulink中使用。其操作过程为扫描两个输入文件,在系统、块和子系统的树结构中查找匹配元素,将mdl文件和类型文件中匹配对的属性合并到新的mdlx文件中。
2. ClawCircus工具的使用
大部分转换工作由ClawCircus工具完成,它接收扩展后的Simulink文件和ClawZ输出,生成Circus规范。为了将ClawCircus集成到工具链中(除了修复一些小错误),需要一种无需图形界面驱动它的方法。新的ClawCircus使用配置文件来确定输入图表和所需的转换,这在安全关键行业中有助于确保可追溯性,因为工具链中移除了所有图形界面。
超级会员免费看
订阅专栏 解锁全文
5746

被折叠的 条评论
为什么被折叠?



