SCADE 6: 面向高安全软件开发的基于模型的解决方案

在2008年,Esterel(注1)首发SCADE 6的同时期,Esterel方面在ERTS 2008上发表了《SCADE 6 A Model Based Solution For Safety Critical Software Development》以介绍 Scade 6 相比前一代 Scade 5的改进。后文将复述其中若干摘要。

注1: Esterel 于2012年被ANSYS收购,2008年SCADE 6由Esterel发布。

简介

SCADE是一种专为描述和实现高安全应用而开发的编程语言及工具套件。其理论基础源自实时应用领域的同步语言理论。

SCADE填补了控制工程与软件工程之间的鸿沟,它为这两个领域提供了一种统一且严谨的图形化与文本化语言,这种语言体现了控制工程的核心理念:
• 其数据流结构与控制工程的方框图方法高度契合
• 其时序运算符对应控制工程中的z变换算子。例如控制工程中的z-1算子(表示单位延迟),在SCADE中就有名为"pre"的等效运算符。

SCADE的建模能力涵盖三大领域:复杂算法设计验证与优化、控制密集型应用开发,以及图形界面实现。

SCADE 6 自身的功能安全

功能安全框架

SCADE 6 是一个基于模型的框架,由多个工具组成,专门用于开发高安全系统。本节将探讨确保整个工具链安全性的关键要素。

我们在此要回答的问题是:“什么样的特性能使工具链适用于高安全场景?” 首先,语言(或形式化方法)是核心要素之一。本文第一部分已介绍过 SCADE 语言,这里再回顾其主要特点:

  • 形式化、确定性且文档完备
  • 图形化与文本化(二者可相互映射)
  • 简洁而强大
  • 精确且简明

基于这些原则,SCADE 6 进一步规定:

  • 每个变量在每个周期内仅允许一次赋值
  • 每个状态机在每个周期内仅允许一个活跃状态
  • 每个状态机在每个周期内仅允许触发一次状态迁移
  • 语义错误应在编译时检测,以避免绝大多数运行时错误

在语言形式化地定义后,该方法的核心目标是从系统描述(模型)中生成代码。目前最适用的方法是遵循 DO-178B、IEC 61508 和 EN 50128 等标准进行认证。

代码生成器的输入文件需符合 SCADE 语言的具体语法描述模型。图形化编辑器必须生成这些存储文件,并严格区分 图形数据语义数据。图形数据仅包含绘制信息(如位置、大小等),不得影响语义逻辑。

标准符合性

工具链必须满足与目标应用相同的安全标准。因此,SCADE 6 的代码生成器遵循 DO-178B、EN 50128 和 IEC 61508 等标准开发。

设计与开发

SCADE 6 已被用于建模和编码 SCADE 6 仿真器的某些复杂模块,进一步验证了其在实际工程中的可靠性。

特别感谢

诚挚感谢下面这些人

  • SCADE 6 语言作者 Jean Louis Colaco 和 Bruno Pagano。
  • 奠定 SCADE 6 同步基础的Lustre 与 Esterel 中的主要人物:Gerard Berry, Nicolas Halbwachs, Paul Caspi。
  • SCADE 6 团队。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值