Skip to main content
QUICK REVIEW

[论文解读] From Design to Implementation: an Automated, Credible Autocoding Chain for Control Systems

Timothy C. Wang, Romain Jobredeaux|arXiv (Cornell University)|Jul 10, 2013
Real-time simulation and control systems被引用 4
一句话总结

本文提出了一种自动化、可信的自编码链,可将控制系统设计自动转换为经过形式化验证的C代码,利用领域特定知识与形式化方法。通过在图形化建模语言(如Simulink)中嵌入李雅普诺夫稳定性证明和性能保证作为注解,该框架自动生成带注解的代码及机器可检查的证明证书,利用定理证明器确保所有执行路径的正确性,实现形式化验证。

ABSTRACT

This article describes a fully automated, credible autocoding chain for control systems. The framework generates code, along with guarantees of high level functional properties which can be independently verified. It relies on domain specific knowledge and fomal methods of analysis to address a context of heightened safety requirements for critical embedded systems and ever-increasing costs of verification and validation. The platform strives to bridge the semantic gap between domain expert and code verification expert. First, a graphical dataflow language is extended with annotation symbols enabling the control engineer to express high level properties of its control law within the framework of a familiar language. An existing autocoder is enhanced to both generate the code implementing the initial design, but also to carry high level properties down to annotations at the level of the code. Finally, using customized code analysis tools, certificates are generated which guarantee the correctness of the annotations with respect to the code, and can be verified using existing static analysis tools. Only a subset of properties and controllers are handled at this point.

研究动机与目标

  • 通过使领域专家能够在熟悉的设计器工具中直接表达高层次功能属性,弥合控制工程师与形式化验证专家之间的语义鸿沟。
  • 自动化实现从高层次控制系统设计到经形式化验证的生产级C代码的端到端转换,并附带形式正确性证书。
  • 将形式化验证集成到控制系统开发生命周期中,确保安全关键属性(如李雅普诺夫稳定性)在代码层面得以保留并可形式化证明正确。
  • 通过利用控制理论证明作为自动化代码分析的输入,降低安全关键嵌入式系统中验证与确认的成本与复杂度。

提出的方法

  • 扩展一种图形化数据流语言(如Simulink),加入领域特定注解,以表达高层次控制属性,如李雅普诺夫稳定性与向量裕量。
  • 增强现有自编码器,将这些注解从模型层级向下传播至生成的C代码,保持语义一致性。
  • 使用定制的静态分析流水线,结合Why3、PVS和proveit定理证明器,从代码注解生成并求解验证条件。
  • 采用PVS插件(pvs-ellipsoid)对与椭球不变量相关的矩阵不等式进行形式化验证,确保在浮点数算术下的正确性。
  • 通过基于验证条件分析动态生成并引导定理证明策略,实现证明链的自动化。
  • 在PVS原生能力不足时,集成外部工具(如INTLAB)进行矩阵正定性数值检查。

实验结果

研究问题

  • RQ1是否可以系统性地将控制理论证明(如李雅普诺夫稳定性)从高层模型编码并传播至低层代码?
  • RQ2如何在不需控制工程师掌握形式化方法的前提下,实现形式化验证的自动化,同时尊重其领域特定知识?
  • RQ3能否直接从带注解的模型生成机器可检查的控制系统属性证明证书?
  • RQ4在控制系统的不变量形式证明中,如何可靠地处理浮点数算术误差?
  • RQ5该框架在多大程度上可扩展以支持当前范围之外更广泛的控制器类型与属性?

主要发现

  • 该框架成功实现了将带有控制语义的Simulink模型自动转换为带注解的C代码,并为关键属性(如李雅普诺夫稳定性)生成形式化证书。
  • 证明链完全自动化:验证条件被提取,经由Why3处理,并利用PVS和proveit定理证明器求解,同时获得动态策略引导。
  • pvs-ellipsoid插件可实现对与椭球不变量相关的矩阵不等式的可靠验证,即使在浮点数算术环境下亦成立。
  • 最终的验证条件(即状态保持在初始椭球内)通过PVS与外部数值工具(如INTLAB)的结合得以成功求解。
  • 原型在质量-弹簧-阻尼系统上验证了可行性,实现了开环稳定性的形式化保证。
  • 该方法通过将领域专业知识(控制设计)与形式化验证专业知识(证明生成)分离,实现了代码正确性的独立验证。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。