支撑 SCADE 同步方法论的四项核心技术

Gerard Berry 在 2007 年《SCADE: Synchronous design and validation of embedded control software》(ISBN: 978-1-4020-6253-7) 中介绍了 SCADE 技术。

接下来将描述专用于航空电子、铁路、汽车、和工业应用的基于模型的嵌入式软件设计、验证和实现的 SCADE 同步方法和工具集。该方法的总体思想是从高级可执行的形式化规约去生成正确的嵌入式实现,从而提高软件质量,同时降低设计和验证成本。由于规约是可执行的,因此可以在将规约对应的实现嵌入具体实现之前,对规约进行透彻的模拟和验证。由于实现代码是自动生成的,因此在实现阶段不会引入错误。

同步方法论根植于近 25 年的科学研究和近 20 年在工业领域的成功应用。它基于由四项技术核心支撑的对嵌入式计算的概念模型

  • 专用的高级抽象层次的、具备严格定义的图形化语言和文本语言。
  • 形式化的语义。
  • 用于实现“通过构建确保正确性”(correct-by-construction)的编译算法实现。
  • 形式化测试与形式化验证技术。

SCADE 演化自 Schneider Electric 在 1986 年为核电站功能安全系统开发的 SAGA 工具。SAGA 可以认为是 Caspi 和 Halbwachs 的 Lustre 同步语言的图形化版本。随后,该工作进一步发展,逐渐取代了空中软件的空客 SAO 内部工具。目前,SCADE 被大量的航空电子、铁路、工业和汽车公司用于飞控、发动机控制、制动控制、功能安全控制、电力控制、报警处理等方面。SCADE 包含了从高级抽象层次设计到 C 语言的 KCG 编译器。该编译器本身符合航空电子 DO-178B 标准的最高级别 A 的认证要求。也具备适用于汽车行业的 TUV 认证。

在SCADE中,对源代码层次的研发,是以对控制工程师熟悉的 Scade 图形块图标记法为基础的。此外,还辅以描述面向状态或面向模式计算的分层安全状态机。这些规约层次的符号表达具有精确的数学语义。除了使软件开发更加严格外,它们还简化了工程师之间的沟通,以及供应商和客户之间的沟通。功能验证通过两种方式进行:

  • 对图形化的设计进行传统仿真,以及模型覆盖分析
  • 以及通过模型检查或抽象解释进行功能安全属性的形式化验证。

功能验证只需要在块图级别进行,因为由经过认证的 KCG 编译器生成的可嵌入的 C 代码能被确保是正确的。

更多内容可参考《SCADE: Synchronous design and validation of embedded control software》。其中会进一步讨论同步方法对嵌入式控制系统中并发与确定性的计算模型抽象、Scade 图形化形式、形式化的同步语义(SCADE 5)、使用SCADE 进行软件研发过程中的设计与验证流程等讨论。

关键字:SCADE Suite, ANSYS SCADE, MBSE, 同步语言,Lustre,高安全嵌入式软件

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值