登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
ANSYS 电磁仿真专区
>
HFSS
>
嵌入式系统 | Ansys SCADE在航天自动运载飞船中 ..
发帖
回复
758
阅读
0
回复
[
转载
]
嵌入式系统 | Ansys SCADE在航天自动运载飞船中的应用
离线
amy_wang
微信号:18010874378欢迎加入!
UID :115421
注册:
2015-03-18
登录:
2025-09-30
发帖:
3618
等级:
值班管理员
0楼
发表于: 2020-08-16 14:41:51
嵌入式系统 | Ansys SCADE在航天自动运载飞船中的应用
^Vc(oa&;
原创 Ansys中国 沈轶烨
wwa)VgoS[
1dy"
JRtDjZ4>
近期,嵌入式系统专题中我们对Ansys SCADE应用在航空电传飞控系统、轨交列车控制系统中的应用做了相关介绍。本期将为大家带来航天公司Astrium在自动运载飞船项目上应用SCADE的经验分享,其后Astrium又参与了欧洲旨在探索和研究安全关键领域如何简化形式化方法应用的Hi-Lite项目,进而将SCADE建模技术与Ada SPARK编码技术结合起来,形成了完整的从模型到代码的形式化的开发流程。
pYUQSsqC
LzEH&y_O
1、Astrium背景介绍
mD?={*7%
在2013年前,Astrium是欧洲航空防务与航天公司(EADS: European Aeronautic Defence and Space Company)的一家子公司,主要提供航天民用和军事系统及相关服务。Astrium在法国,德国,英国,西班牙和荷兰都有分部。2012年的营收为58亿欧元。
69odE+-X.
N{Pa&/V
HMKogGTTo
图片:1.webp.jpg
.=Uu{F
图表1: 2013年之前EADS集团和其主要子公司
Te^_gdf
A5ckosYyNA
2013年末,鉴于AIRBUS的品牌知名度极高,EADS集团遂更名为AIRBUS Group。新组建的AIRBUS集团下辖3个业务部门:分别是负责民用飞机业务的Airbus,负责直升机业务的Airbus Helicopters和负责防务和航天业务的Airbus Defence & Space。其中的空客防务和航天分部是由Cassidian与Astrium合并组成。
2,h]Y=.s
图片:2.png
[cfXcl
图表2: 2013年之后AIRBUS集团和其主要子公司
@'J[T: e
>#.du}t
Astrium比较知名的业务有欧洲航天局(ESA: European Space Agency)主持的阿丽亚娜火箭(Ariane)的子系统、卫星、欧洲航天局(ESA)和美国国家航空航天局(NASA: National Aeronautics and Space Administration)联合发起的火星探测车(ExoMars)、国际空间站的哥伦布号实验舱和本篇要着重介绍的自动运载飞船(ATV: Automated Transfer Vehicle)。
m^tf=O<
图片:3.png
{~Q}{ha
图表3: Astrium公司参与研制的部分产品
h?->A#
QbWeQ[V{
2、Astrium 自动运载飞船ATV的SCADE应用
UH5A;SrTqR
z<cPy)F]"
2.1、Astrium 自动运载飞船ATV简介
yOk]RB<'r
自动运载飞船原名阿丽亚娜运载飞船Ariane Transfer Vehicle,是欧洲航天局发起的用于国际空间站(ISS: International Space Station)货物运输的消耗性货运航天器,具有较高的自主性,可自主与国际空间站交会对接。自动运载飞船由阿丽亚娜5号火箭发射到预定轨道,在2008年至2014年共成功运行了5次,五个自动运载飞船名称分别是Jules Verne, Johannes Kepler, Edoardo Amaldi, Albert Einstein和Georges Lemaître。自动运载飞船主要为国际空间站提供如下服务:
]<_v;Q<t
燃料补给
+' .o
货运交付,运输包括推进剂、水、空气、食物和科研设备等各种有效载荷
W{]r_`=:6S
国际空间站的轨道修正
uxW<Eh4H*
国际空间站的垃圾收集与销毁
i$!K{H1{9
k/Ao?R=@gI
图片:4.png
}[;r-5}
图表4: Astrium的自动运载飞船ATV项目
O&dh<
97}l`z;Z
Ff[GR$m
2.2、SCADE开发的ATV软件
"Z-YZ>2
自动运载飞船的安全关键模块的软件开发使用了SCADE,最初是使用版本V3。
2kFP;7FO
图为SCADE中定义的类型、常量、软件架构和可激活块。
xu'b@G}12
t6%zfm
图片:5.png
5~i}!n
图表5: Astrium ATV项目中定义的SCADE类型、常量、软件架构和可激活块
5N2`e3:I
^|cax|>
SCADE定义的状态机层级、子状态机。
_Vt CC/
图片:6.png
EPEn"{;U
图表6: Astrium ATV项目中定义的SCADE状态机层级、子状态机
"@jYZm8
J$yJ2G
建模完毕后,除了传统的验证活动外,Astrium公司还使用了法国国家科研中心(CNRS)以嵌入式系统研究著称的VERIMAG实验室的工具LESAR进行基于SCADE模型的形式化分析。LESAR工作原理同后期SCADE内嵌入的Prover工具一样。(可参考 嵌入式系统 | 基于SCADE模型的形式化方法 一文)。最后将SCADE模型生成代码,在项目中应用。
S<w?,Z
J p0j
图片:7.png
O<?.iF%
图表7: Astrium ATV项目中基于SCADE模型和LESAR引擎的形式化方法工作流
S^5Qhv
J@4 Z+l9
2013年Astrium参与了欧洲启动的旨在探索和研究安全关键领域如何简化形式化方法应用的Hi-Lite项目。在该合作中Astrium重用了ATV项目中的SCADE模型,并结合基于Ada的SPAKR代码的形式化分析方法,进行了技术验证,获取了一定的成果。下面对此进行简要介绍。
0(A&m ,
*Oh]I|?
3、Ada与SPARK语言
ofCN[u
j>hBNz
3.1、Ada背景
92/_!P>
Ada是20世纪70年代末美国国防部为了解决软件危机而研制的通用程序设计语言,它是以Pascal语言为基础开发实现的。Ada既继承了众多优秀高级语言的先进思想与技术,同时又融合了C++等流行语言的功能。Ada广泛应用于安全关键领域的、长生命周期的大型软件研发,在军事、商业、公共交通、金融等领域的核心软件开发中发挥着重要作用。迄今为止,国际标准组织先后确立过Ada 83,Ada 95,Ada 2005和Ada 2012共4个语言标准。取名Ada是为了纪念世界上第一位程序员Augusta Ada Lovelace女士。
_=I&zUF
L^ U.h
3.2、强大的断言与契约
[O3)s] |
20世纪70年代,C.A.R.Hoare提出了著名的Hoare逻辑并由此将断言(Assertion)机制运用在程序设计语言中。断言是指在适当的程序点添加预测语句并保证程序运行时刻预测语句一定成立。断言机制的应用为保障程序正确性与提高程序可维护性提供了重要手段。例如,程序设计语言Euclid为构建可验证的系统程序而设计,其既允许将断言以注释的形式交给验证器进行处理,也允许将断言写成布尔表达式交由编译器进行编译,Euclid中的断言成为验证程序的重要手段。
|q\Rvt$d
% )}rQqQ
随着断言机制在程序设计语言中的成功使用,基于断言而产生的契约式设计思想于20世纪90年代被提出。与断言相比,契约式设计的层次更高,概念也更加完善,可以看作一种软件设计方法,这种方法要求软件设计者为软件组件定义形式化的、精确的、可验证的接口,从而为传统的抽象数据类型又增加了前置条件、后置条件和不变式。
lygv#s-T
)u=a+T
契约式编程是契约式设计在程序设计语言上的应用,不仅为程序正确性和可维护性提供了保障,同时也是减少大型软件开发成本的有效手段。
r{Z4ifSl(
A=wh&X
3.3、SPARK语言
};>~P%u32
SPARK语言是一种基于Ada语言的形式化的计算机编程语言,适用于开发可预测的高可靠性的安全关键软件。20世纪90年代,Praxis公司主持设计了第一个正式将契约机制与Ada程序设计语言进行组合而产生的SPARK程序设计语言。如今,SPARK被应用在空中管制系统等高安全性要求的领域。
^`9O$.'@
i6:O9Km
针对Ada 83,Ada 95和Ada 2005分别对应SPARK 83,SPARK 95和SPARK 2005三个版本。SPARK语言的第四版是基于Ada 2012的SPARK 2014,该版本对语言和支持的验证工具进行了重新设计。SPARK由一种编程语言,一个验证工具集和一种设计方法共同构成,可确保将超低缺陷软件部署在必须确保高可靠性的安全关键应用程序中。
5^{).fig
W3B:)<