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块单独设计转换逻辑,避免因执行顺序导致的数据读写冲突。
相关推荐
南宫萧幕5 天前
车辆能量管理进阶:从前沿算法 (VMD-PPO-DBO) 机制解析到 MPC 工程建模
人工智能·算法·matlab·simulink·控制
bu_shuo6 天前
MATLABSimulink连接线变为斜线解决方案
matlab·simulink
南宫萧幕9 天前
基于最优控制理论的 HEV 能量管理:从物理建模到 VMD-PPO 强化学习环境构建
开发语言·人工智能·matlab·simulink·控制
南宫萧幕11 天前
从YALMIP工具箱到车辆工况仿真:MATLAB控制策略开发的完整实践指南
开发语言·人工智能·matlab·simulink
南宫萧幕12 天前
自控PID+MATLAB仿真+混动P0/P1/P2/P3/P4构型
算法·机器学习·matlab·simulink·控制·pid
我爱C编程15 天前
基于IEEE802.11g标准的OFDM通信链路信号帧检测simulink建模与仿真
simulink·ieee802.11g·ofdm通信链路·信号帧检测
南宫萧幕15 天前
奈奎斯特判据 + MATLAB建模实现 + 车辆纵向动力学 详细推导笔记
笔记·matlab·simulink
happy_baymax15 天前
Simulink 端口自动生成工具 (v2.1)(EXCEL+m语言)
服务器·matlab·excel·simulink
沅_Yuan21 天前
基于四开关Buck-Boost的Simulink仿真模型(免费下载)【MATLAB】
matlab·仿真·电力电子·simulink·四开关buck-boost
杰杰桀桀桀25 天前
[AC-DC-AC PWM整流]--附simulink仿真文件
电赛·simulink·控制算法·pwm整流·ac-dc-ac