基于AADL的航电系统可靠性分析工具
2014-09-27刘建军孟海宁
刘建军+孟海宁
摘要: 为了支持航电系统可靠性分析评估过程的自动化,设计并实现了AADL可靠性分析工具RAT。以用例图说明工具的功能需求,以活动图说明工具的功能间交互流程。给出工具的功能模块的划分、部署及实现。通过对机载设备进行可靠性评估,验证了该工具设计思路和方法是有效的,这为航电系统设计方案的检验与评估提供支持,也为系统满足适航标准的开发过程和安全性目标提供证据。
关键词: 航电系统; 结构分析与设计语言; 可靠性分析; 可靠性评估
中图分类号: TN911⁃34; TP311 文献标识码: A 文章编号: 1004⁃373X(2014)08⁃0065⁃04
Tool for reliability analysis of avionics system based on AADL
LIU Jian⁃jun1, MENG Hai⁃ning2
(1. Aeronautics Computing Technique Research Institute, Xian 710068, China;
2. College of Computer Science and Engineering, Xian University of Technology, Xian 710048, China)
Abstract: To support the process automation of reliability analysis and assessment for avionics system, an AADL reliability analysis tool (ARAT) was designed and implemented. The functional requirement for ARAT are illustrated with the use case diagram and the interactive process between two functions is described by the activity diagram. The deployment and implementation of the function modules in the tool are presented. The reliability of the airborne equipment is evaluated to demonstrate the effectiveness of design idea and method of ARAT, which provides a support for evaluating system design schema, and evidence for the development process and safety objectives to meet the airworthiness standards of avionics system.
Keywords: avionics system; AADL; reliability analysis; reliability assessment
0引言
随着微电子技术和信息技术的发展,航电系统经历了从模拟式系统向综合化、智能化系统的巨大转变,目前已经发展成为现代航空器中最为重要的子系统之一。众所周知,飞机一旦发生故障就可能导致国家和人民生命财产的重大损失,因此,航空领域对相关系统的可靠性历来都有着非常严格的要求[1]。此外,随着航空电子系统规模和复杂度的迅速增长,综合化和模块化程度的日益提高,以及软件在系统中所占比重的不断增加,航电系统变成了一个规模庞大、逻辑复杂、软硬件高度集成的系统,传统的可靠性保证手段往往针对特定类型的硬件或者软件。因此,如何保证航电系统的可靠性已经成为了一个备受关注的问题[2]。
可靠性分析为航电系统的结构进行可靠度与成本、功耗、重量的权衡提供了理论依据,同时为系统实现阶段的软件和硬件设计派生安全性需求提供了理论依据。在航电系统开发生命期的设计、实现与验证阶段,都有相关准则或标准规定了保障安全性目标的方法。如DO⁃178B[3]和DO⁃254[4]分别给出了开发系统的软件和硬件满足系统安全性目标的准则,而ARP4761[5]规定了系统开发的设计和验证阶段,实施安全性评估的过程和方法。
此外,随着高度综合化、高度数据融合的系统的发展,应用软件发生了很大的变化,航电系统的规模越来越大、包含的部件也越来越多,分析可靠性单依靠手工计算已无法胜任,必须由计算机辅助进行分析。整个应用软件系统分为多个大的综合区,传统中的“子系统”被集成到多个综合区中。随着系统复杂性不断增加,为了避免整个系统综合的不可预测性、易出错性、费时费工,以及系统前期设计的一些缺陷问题,系统综合人员需要一种快速的方法定性、定量地评估高层决策的效果。这就迫切需要一套支持综合建模、分析、系统集成和验证在一起的全面工具集。通过使用这套工具,能使复杂的嵌入式系统开发得更快、更便宜、更可预测。国内外正在积极地开发AADL[6]工具,推广AADL的使用,如SEI开发的OSATE(the open source AADL tool environment)软件[7]、Honeywell开发的MetaH工具集[8]。目前,国内外已有相对成熟的可靠性分析工具,在采用这些工具对AADL的结构模型进行可靠性分析时,需要系统设计人员花费大量时间,重新建立符合分析工具的可靠性模型,而不能继承已有的设计模型信息。
AADL和各种高级分析工具结合使用,能提高资源的利用率和系统开发效率,并降低设计风险和开发成本[9]。可靠性分析工具是以AADL语言描述的系统结构模型为输入,分析系统由于随机到达的故障事件所引起的失效概率,并自动生成用于可靠性分析的故障树(Fault Tree,FT)[10]或随机Petri网(Stochastic Petri Net, SPN)等度量模型,使得系统设计人员在航电系统的安全评估过程中,能够复用现有的系统模型,对最终系统的可靠性指标进行评估,从而更好地提高系统可靠性和保障系统安全性。
本文针对航电系统的特征,结合AADL系统结构模型和可靠性数据,不依赖系统中的最终实现,研究可靠性分析工具的设计方法、模型和理论,并对被测系统的可靠性进行定性和定量分析,最后计算给出系统可靠性指标。研究该AADL可靠性分析工具的目标是为系统设计方案的检验与评估提供支持,也为航电系统满足适航标准的开发过程和安全性目标提供理论证据。
1ARAT工具需求分析
基于AADL的可靠性分析工具,即ARAT工具,能够使系统设计人员在结构模型的基础上,编辑基于AADL的可靠性分析模型,并根据可靠性分析模型进行SPN分析,进而给出计算结果。分析工具还需要对错误模型进行语义检查和语法解析,以保证错误模型描述符合错误模型附件(Error Model Annex,EMA)[11]的元模型规约。因此,ARAT工具除具有编辑错误模型、编译错误模型和生成报告的功能外,还需具备将基于AADL的可靠性分析模型自动转换为SPN模型的功能。
图1给出了ARAT工具的用例图。分析工具的角色包括系统设计人员和SPNP(Stochastic Petri Net Package)[12]。系统设计人员建立可靠性分析模型并关注分析工具的结果;SPNP是一个辅助分析软件,可靠性分析模型转换到SPN模型后,分析SPN模型并输出计算结果。ARAT工具的用例主要是模型编辑、模型转换和报告生成。模型编辑用例可分为文本方式或图形方式,编辑生成基于AADL的可靠性分析模型;模型转换用例将通过语法和语义检查,将可靠性分析模型转换为可靠性度量模型。报告生成用例,允许系统设计人员设置分析工具输出结果的报告形式和报告数据。
图1 ARAT工具的用例图
图2给出了ARAT工具与角色的交互活动图。首先模型编辑模块生成可靠性分析模型,然后EMA和AADL编译模块检查模型语义和语法的合法性;若可靠性分析模型通过检查,则生成XML文件,存储系统结构模型和错误模型信息,并命名为*.aaxl。之后,可靠性分析模型转换生成由CSPL(基于C语言的随机Petri网语言)描述的SPN模型的文件,作为SPNP软件的输入;SPNP软件的计算输出结果将存储在多个文件中,其中*.out文件存储系统设计人员要求的信息。
图2 ARAT工具的活动图
2ARAT工具设计与实现
2.1ARAT工具设计
ARAT工具是基于Eclipse平台,并依赖于AADL核心开发环境的文本编辑器、编译器和资源管理的插件。ARAT工具应用MDA(Model Driven Architecture)技术[13],将基于AADL的可靠性分析模型转换为SPN模型,然后计算并输出结果。图3说明了ARAT工具的总体框架,图中阴影部分表示该模块有源代码。模型存储支持模块用于说明模型转换模块和报告生成模块,都通过该接口访问可靠性分析模型。由于AADL的编译器不支持AADL的模式转换命名,同时EMA的编译器也不支持模式转换命名的应用与语法检查,需构建新的AADL与EMA编译模块,从而保障ARAT工具的正常运行。文本编辑模块复用AADL的文本编辑功能,编辑可靠性分析模型。
图3 ARAT工具的框架
图3中非阴影部分中,状态监测模块的主要功能是显示可靠性分析的进程,可以实时给出ARAT工具当前运行任务。模型转换规则库为ARAT工具的模型转换提供转换规则。模型转换模块负责合并构件语义信息和与其相关联的错误模型语义信息,生成基于AADL的可靠性模型,然后转换为SPN模型,并存储为CSPL描述的文件。SPNP运行软件模块主要负责SPNP运行环境的配置和SPNP线程的启动。结果获取模块通过名称变换规则的逆变换,从结果中提取表示错误状态或故障事件的标识,将其映射为具体构件的错误状态和故障事件。报告生成模块获取用户的报告配置信息,生成可靠性分析报告,最终显示系统模型的结构以及每个构件的可靠度。
2.2ARAT工具实现
基于Eclipse 3.2平台和集成的OSATA 5.3平台,实现ARAT工具,其应用过程如图4所示。首先,ARAT工具读取可靠性分析模型的存储文件,判断文件中是否缺失可靠性信息。若缺失信息,则提示有误;否则,执行模型转换功能,并生成CSPL文件。其次,通过SPNP编译功能进一步判断,模型中是否有缺失,若有缺失则提示有误;否则说明SPNP能正常执行,输出分析结果,生成分析报告。在模型转换过程中,需首先解析系统结构模型,获取最高层的根构件;然后获取构件关联的错误模型,解析错误模型并根据转换规则生成CSPL_SPN的描述信息,并将该描述信息写入CSPL文件中,最后先序遍历系统结构,解析每个构件的错误模型。
图4 ARAT工具应用流程图
3测试结果与分析
ARAT工具的主要用于整个航电系统安全性评估过程中可靠性指标的分配与验证,在最底层构件的故障事件发生概率已知的条件下,评估构件的可靠度。其应用步骤如下:
(1) 输入基于AADL的可靠性分析模型,对包括4个无区别的通用功能模块(CFM)的某机载设备数据处理模块(DPM)进行可靠性分析,其中三个CFM同时运行,另一个CFM作为备份,如图5所示。
(2) 利用ARAT工具编译可靠性分析模型文件。
(3) 启动ARAT工具的可靠性分析功能。启动方式分为工具栏启动和菜单项启动,图6显示了工具栏启动的方式。首先打开aaxl文件,在视图区选取系统构件,点击工具栏“可靠性分析”按钮,然后ARAT工具对选中的构件及其子构件进行可靠性分析。
图5 DPM的模式转换及CFM的连接关系
图6 工具栏启动ARAT工具
(4) 输入可靠性分析的时间参数和计算精度参数。其中,时间参数为目标构件指定可靠性度量的时间参数——构件工作时间(exposure time);计算精度参数说明用户要求的分析精度。图7给出了该ARAT工具参数输入的对话框。
图7 ARAT工具的参数输入
(5) 生成分析报告。图8显示了在可靠性时间参数输入为3 600 s,构件的SelfCheckedFault事件发生概率为10-4 s-1的条件下,ARAT工具的计算结果。图中每个节点表示一个构件,上半部分显示构件名称,下半部分显示构件的可靠度值。分析结果表明该系统运行1 h后,其组成模块的可靠度均约为0.66,采用冗余加备份的可靠性策略,整个系统的可靠度达0.90左右。
图8 可靠分析结果显示
4结语
采用MDA技术,基于AADL的可靠性分析工具,能够很好地与OSATE环境相融合,为系统设计人员提供模型结构选择和权衡依据。本文以用例图描述基于AADL的可靠性分析工具的功能需求,通过活动图说明该工具功能之间的交互流程,然后对工具功能模块进行划分和部署,并描述了每个模块的功能及其具体实现,最后通过对航空飞行控制系统机载设备的可靠性评估,验证了该工具设计方法的有效性。进一步的工作包括:分析开源的TOPCASED图形编辑方法,以便为基于AADL的可靠性分析模型提供图形编辑方式;将可靠性分析模型转换为故障树规则;完善分析工具实现故障树分析方法与SPN分析方法的自动转换的研究。
参考文献
[1] 涂泽中,雷迅,胡蓉.对新一代综合航电系统发展的探讨[J].航空电子技术,2001,32(4):11⁃18.
[2] 朱力立,李庄生,许宗泽.飞机综合航电系统总体设计综合评估方法[J].航空学报,2007,28(3):685⁃689.
[3] JOHNSON L A. DO⁃178B: software considerations in airborne systems and equipment certification [R]. USA: RTCA, 1992.
[4] RTCA. DO⁃254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real⁃time multi⁃processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real⁃Time Systems. [S.l.]: IEEE, 1997: 11⁃21.
[9] 董云卫,王广仁, 张凡,等.AADL模型可靠性分析评估工具[J].软件学报,2011,22(6):1252⁃1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault⁃tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291⁃307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006⁃06⁃19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003⁃06⁃01]. http://www.omg.org/cgi⁃bin/doc?omg.
[4] RTCA. DO⁃254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real⁃time multi⁃processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real⁃Time Systems. [S.l.]: IEEE, 1997: 11⁃21.
[9] 董云卫,王广仁, 张凡,等.AADL模型可靠性分析评估工具[J].软件学报,2011,22(6):1252⁃1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault⁃tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291⁃307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006⁃06⁃19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003⁃06⁃01]. http://www.omg.org/cgi⁃bin/doc?omg.
[4] RTCA. DO⁃254: Design assurance guidance for airborne electronic hardware [R]. USA: RTCA, 2000.
[5] SAE. Guidelines and methods for conducting the safety assessment process on civil airborne systems and equipment [R]. USA: SAE International, 1996.
[6] SAE. Architecture analysis & design language (AADL) [R]. USA: SAE International, 2004.
[7] FEILER Peter. Open source AADL tool environment (OSATE) [R]. USA: Carnegie Mellon University, 2010.
[8] VESTAL S. MetaH support for real⁃time multi⁃processor avionics [C]// Proceedings of the Joint IEEE Workshop on Parallel and Distributed Real⁃Time Systems. [S.l.]: IEEE, 1997: 11⁃21.
[9] 董云卫,王广仁, 张凡,等.AADL模型可靠性分析评估工具[J].软件学报,2011,22(6):1252⁃1266.
[10] DUGAN J B, BAVUSO S J. Fault trees and Markov models for reliability analysis of fault⁃tolerant digital system [J]. Reliability Engineering and System Safety, 1993, 39: 291⁃307.
[11] SAE. AS5506/1 architecture analysis and design language annex volume 1 [S/OL]. [2006⁃06⁃19]. http:// www.standards.sae.org/as5506/1.
[12] TRIVEDI K S. SPNP users manual version 6.0 [R]. USA: Duke University, 1999.
[13] Object Management Group. MDA guide version 1.0.1 [R/OL]. [2003⁃06⁃01]. http://www.omg.org/cgi⁃bin/doc?omg.