Simulink模型转换为UPPAAL模型(2016)

在CoCoSim中,提到支持将Simulink模型转换为Lustre模型。Simulink模型,还能转换为为其他模型检测工具的模型,比如下面提到的UPPAAL模型。

MATLAB/Simulink 作为汽车系统建模的主流工具,虽能通过仿真助力开发,但在复杂系统的形式化验证上仍有局限。而 UPPAAL 统计模型检查器在随机混合系统分析上的优势,为解决这一难题提供了新路径。下面将介绍2016年一项Simulink模型转换为UPPAAL模型的工作。

参考

详细内容,可参考Filipovikj, Predrag & Marinescu, Raluca & Seceleanu, Cristina & Ljungkrantz, Oscar & Lönn, Henrik. (2016). Simulink to UPPAAL Statistical Model Checker: Analyzing Automotive Industrial Systems. 9995. 748-756. 10.1007/978-3-319-48989-6_46.

Simulink本身已具备验证能力(如 Simulink Design Verifier,SDV)。但SDV在可扩展性和需求覆盖方面存在不足。相比之下,UPPAAL SMC的优势能弥补这些不足:

  • 支持随机混合自动机网络建模,能同时刻画连续时间行为、离散逻辑和随机特性。​

  • 基于统计模型检查,可高效分析大型模型。​

  • 支持概率化查询。

Simulink转换为UPPAAL

工作提出了模式化转换与执行顺序保障"方案,换过程中保留Simulink的执行语义,如块的执行顺序、输入输出逻辑,同时适配 UPPAAL的stochastic timed/hybrid automata模型。

从块到自动机的语义映射

Simulink模型的组成是Block,每个块可视为一个原子动态系统;而UPPAAL的组成是自动机网络,每个自动机通过状态、迁移、变量刻画行为。转换是将Simulink块的语义映射到UPPAAL自动机的数学定义上。

分类型设计自动机模式

Simulink块主要分为离散时间块和连续时间块,两者的行为特性差异较大,因此工作设计了两种不同的自动机模式。​

(1)离散时间块的自动机模式

离散块的作用是按固定采样时间执行计算,其自动机包含3个状态:​

  • Start(初始状态):块初始化,加载参数。
  • Offset(延迟状态):通过局部时钟t模拟采样间隔,当t达到ts时,触发迁移到 Operate 状态;
  • Operate(运行状态):执行块的核心计算逻辑,输出结果后,重置局部时钟t,回到Offset状态,进入下一个采样周期。

此外,模式中引入全局时钟记录仿真时间,通过执行顺序编号与块间到达时间计算自动机的启动时间,确保与Simulink的执行节奏一致。

(2)连续时间块的自动机模式

连续块的作用是实时无间断执行,其模式与离散块的关键区别在Operate状态。不依赖固定采样时间,而是通过指数速率刻画连续行为。

连续变量的演化通过UPPAAL的延迟函数F定义,如模拟微分方程,而非离散块的周期性更新。​

两种模式的统一设计,确保了无论Simulink块是离散还是连续类型,都能被UPPAAL自动机刻画。

Simulink的执行顺序不变

Simulink在仿真时,会通过slist函数生成块的执行顺序,编号越小,优先级越高,这直接影响系统的行为正确性。如果转换后UPPAAL自动机的执行顺序错乱,整个模型的语义会完全失真。​

论文通过两个手段解决这一问题:​

(1)自动展平子系统,生成原子块的全局执行顺序​

Simulink模型常包含嵌套的子系统,论文设计了展平算法,递归解析slist输出,将嵌套子系统中的原子块提取出来,并赋予全局唯一的执行顺序编号。​确保无论块嵌套多少层,都能明确其在整个模型中的执行优先级。​

(2)在UPPAAL中通过同步机制强制执行顺序​

转换后的UPPAAL自动机网络中,通过以下规则保障执行顺序:​

  • 初始化阶段:按执行顺序编号依次启动自动机,编号小的先初始化;
  • 运行阶段:当多个自动机同时满足执行条件时,通过执行顺序仲裁,优先触发编号小的自动机;
  • 数据完整性:针对RateTransition块单独设计转换逻辑,避免因执行顺序导致的数据读写冲突。
相关推荐
轻微的风格艾丝凡4 天前
Simulink 在汽车工业中的深度应用与技术实践
matlab·汽车·simulink
可编程芯片开发1 个月前
基于Simulink的混动汽车模型建模与仿真,包含发动机管理,电机,电池管理以及混动汽车物理模型等
汽车·simulink·能量管理·混动汽车·hcu·peu
鼾声鼾语1 个月前
grootN1 grootN1.5 gr00t安装方法以及使用(学习)
学习·angular.js·simulink·isaacsim·isaaclab
硬汉嵌入式1 个月前
Matlab2025b发布,全新的Simulink示波器
matlab·simulink
fdtsaid1 个月前
Simulink模型转换为DIVINE模型(2012)
simulink·模型检测·divine
可编程芯片开发2 个月前
六自由度Stewart并联机器人simulink建模与模拟仿真
机器人·simulink·stewart·并联机器人
凌晨7点3 个月前
拓展:simulink中将仿真环境离散化
matlab·simulink
Dillon Dong4 个月前
Simulink仿真-model Setting关键配置
simulink
微小冷4 个月前
simscape中坐标系和坐标变换Frames and Transforms
matlab·transform·simulink·simscape·multibody