在构建嵌入式系统(更具体地说是控制器)时,基于模型的设计如今已不可避免。在可用的模型语言中,同步数据流范式(如 MATLAB Simulink 或 ANSYS SCADE 等语言中实现的)已成为关键嵌入式系统行业的主流。这两个框架都用于设计控制器本身,但也提供代码生成方法,从而能够更快地部署到目标,并在设计过程的早期阶段(模型级别)更轻松地执行 V&V 活动。同步模型还通过使用同步观察器简化了正式规范的定义,使用工程师掌握的同一种语言将需求附加到模型上,并使用模拟方法或代码生成工具。然而,很少有研究涉及从较低级别的模型或代码自动合成 MATLAB Simulink 注释。本文介绍了从 Lustre 模型到真正的 MATLAB Simulink 的编译过程,无需依赖外部 C 函数或 MATLAB 函数。此转换基于 Lustre 到命令式代码的模块化编译,并在生成的 Simulink 模型中保留输入 Lustre 模型的层次结构。我们实施了该方法并使用它来验证编译工具链,将 Simulink 映射到 Lustre,然后映射到 C,这要归功于等效性测试和检查。从 Lustre 到 Simulink 的反向编译还提供了自动生成 S
主要关键词