第42卷第3期 2015年3月 计算机科学 Vo1.42 No.3 Mar 2O15 Computer Science 基于模型驱动的航电系统安全性分析技术研究 谷青范 王国庆 。 张丽花 翟鸣 (中国航空无线电电子研究所 上海200233) (西北工业大学计算机学院 西安710072) 摘要针对综合化航空电子系统安全性分析存在的失效模式完备性和动态失效问题以及数据一致性问题,将航电 系统分为3个层次:应用操作层、功能层和资源层,采用形式化方法分剐对每个层次进行建模,利用模型转换技术实现 3个层次之间的语义转换,确保语义的一致性。利用Event-B语言对系统应用操作和功能层建模,实现对应用操作模 式完备性的检查,利用AltaRica语言能够对系统的异常行为建模,实现对系统动态失效问题的分析。以飞机自动飞 行控制系统为例,利用Event—B建模工具Rodin实现对应用操作模式的分析,借助基于AltaRica语言的SimFia工具 对其安全性进行分析,结果验证了所提方法的有效性和实用性。 关键词模型驱动方法,航空电子系统,安全性分析 TP393 文献标识码A DOI 10.11896/j.issn.1002—137X.2015.3.025 中图法分类号Research on Model Based Safety Analysis Technology for Avionics System GU Qing-fan WANG Guo-qing ZHANG Li—hua ' ZHAI Ming (China National Aeronautical Radio Electronics Research Institute,Shanghai 200233,China) (School of Computer Science and Engineering,Northwestern Polytechnical University,Xi’an 710072,China) Abstract This paper introduced a new model based method for safety analysis to address the problem of failure modes integrity,dynamic failure and data consistency currently encountered in safety assessments for integrated avionics sys tern.The method models integrated avionics system hierarchically with layers of application operation,function and re— source.It simplifies a large part of the analysis,the development of fault trees,and can guarantee the consistency of re sults.Event—B language is used to model application layer to check the integrity of operations modes and AltaRica is used to model dysfunction of system to solve the problem of dynamic failure.The efficiency and practice of the method are illustrated by analyzing safety of auto pilot system through Rodin tool which is used for analyzing operational modes of application and Simfia tool which is used for safety analysis. Keywords Model based method,Avionics system,Safety analysis 1 引言 综合化航空电子系统的综合体现在系统资源、功能综合 和任务合成3个方面,资源综合的对象主要是具有并发、共享 合后形成自动驾驶功能,通过将无线电高度表、GPS、惯性导 航(INs)的信息进行融合,能够获得更精确的飞机位置信息。 功能综合的同时,又需要增加一部分功能(如信息融合)来利 用综合的收益。随着综合化程度增加,飞行员的工作角色从 飞行管理者向任务管理者转变,而随着飞行操作需求的增加, 特性的部件(硬件、软件),即多道资源。多道资源综合指的是 能够通过时分多路、空分多路等方式来实现资源的共享和重 用,从而减少资源配置,提高资源的效能。资源综合的表现形 式有物理空间综合(共享相同位置)、电气综合(共享电源)、逻 辑综合(共享地址空间)等。资源综合的主要特征是基于模块 化的功能设计,随着硬件计算能力的提高,越来越多的功能通 过嵌入式软件来实现,使得相同的硬件平台能够加载多重功 能模块,如显示处理功能、飞行管理数据处理功能。功能综合 为了提高任务执行能力,需要将一些任务通过自动控制系统 来执行。任务合成就是基于当前系统能力状态和探测到的外 部环境参数完成一部分决策的自动化,从而减轻飞行员的T 作负荷。综合化在带来上述收益的同时,也增加了系统复杂 性,如功能交联、软件与硬件交互、系统与飞行员交互增加,使 得系统故障在综合、融合和合成过程中的蔓延、混沌和不确定 性对系统安全性产生很大的影响。传统的安全性分析方法 (如FTA、FMEA)主要依赖于工程经验,并且与系统设计不 的主要特征是利用不同子系统/功能之间的动态协作(信息共 享/控制信号交换)提高系统执行任务(应用)的能力,降低机 组人员的_丁作负载,例如通过将导航功能和飞行控制功能综 到稿日期:201 4一O4—23返修日期:2014—08—01 是同步进行的,随着系统复杂程度的提高,很难列举出系统所 有的失效模式和影响,同时由于系统设计的迭代,很难保证失 本文受航空基金(20125552053),国家重点基础研究计划(973)(2014CB744900)资助。 谷青范(1974~),男,博士,副教授,主要研究方向为系统安全性、计算机理论、航空电子技术。E—mail:guqingfan@careri.corn;王国庆(1956一), 男,博士,教授,博士生导师,主要研究方向为航空电子技术、复杂系统、计算机技术等;张丽花(1981一),女,博士生,主要研究方向为航空电子技 术、安全性分析、数据挖掘等;翟・鸣(1979一),男,博士,主要研究方向为人机功效、飞行管理设计、数据融合等。 124・ 图3基于模型驱动的安全性分析流程 3综合化航空电子系统MBSA实现 综合化航空电子系统安全性分析的目标是确保系统功能 执行能够“正确无误”地满足应用操作需求。考虑到综合化分 为任务、功能和资源3个层次的综合,在进行安全性分析时关 键是确保资源能够“正确无误”地支持功能层的需求,而功能 综合层具有确定的能够“正确无误”执行任务层的操作需求, 从系统工程角度来看,也就是要求系统实现、设计和需求保持 一致性和完整性。目前基于UMI /SysMI 的系统设计建模 方法已成为实际的工业标准,而安全性建模方法如FTA、 Markov链、随机Petri网属于低级建模语言,对于系统设计来 说,一方面比较难以理解,另一方面难以实现完整建模和数据 维护。进一步地考虑到复杂航电系统的开发过程(包括安全 性分析过程)是一个迭代的过程,我们采用Event B形式化语 言对系统设计进行建模,采用AltaRica语言进行安全性描 述,其中Event B既能够支持逐步迭代的设计方法,又能够和 UMI /SysMI 相结合(如UMI,B),而AItaRica语言能够支 持分层的安全性分析。利用AltaRica[42模型能够生成导致功 能故障的失效事件序列,这样就可以实现从资源层到操作层 的故障传播分析。并且已在空客和波音公司得到了应用(Ce cilia OCAS 1=具对Falcon 7X的飞控系统进行安全性建模分 析)。下面用AltaRicaE“ ]和Event—BE 语言来对综合化航空 电子系统的3个层次进行建模_】 。 3.1 形式化建模语言AltaRica和Event-B AltaRica语言是由LaBRI(Laboratoire Bordelais de Re— cherche en Informatique)开发的用于实现对系统功能和异常 行为的建模,每个系统功能组件由一个Node表示,每个Node 的定义包含3个部分。 第一个部分是对Node参数的不同类别进行定义,包括 state,flow和event,其中state表示当前功能节点状态(失效 或正常)的内部变量;flow表示节点的输入/输出,state和 flow的数据类型可以是integer,enumeration和boolean; event是引起Node由一个内部状态变迁到另一个内部状态的 事件,利用event可以对飞行员行为或失效发生以及对某个 输入条件的确定性响应行为进行建模。 第二个部分描述自动变迁,首先利用init定义初始状态 的值,变迁可以用一个三元组g e进行表示,其中g是变 迁发生的门限条件,evt是事件名称,e是变迁的结果,其中门 限是关于state和flow的布尔逻辑算子,它定义了事件P优发 生的条件。事件发生的结果e是关于状态变量的值列表。因 此,变迁部分描述了功能或失效状态是如何传播的。最后,可 ・ ]26 ・ 以通过向事件添加发生的概率规则,实现对事件发生概率特 征的刻画。需要注意的是Dirac(X)概率规则建模的是在X时 间单位内对于输入条件的确定性响应,因此由Dirac(0)用于建 模立即发生的事件,只要弓l起变迁发生的条件满足,就即刻引 起变迁的发生。 第三个部分是断言集合,断言是一个原子等式或由多个 case构造而成的结构化等式。断言建立了组件state和flow 之间的固有关系,描述了组件的输出如何由其输入和当前的 功能模式所确定。在SimFia工具中,一个组件或节点用一个 块图(block)表示,并且一个block可以嵌套另外一个block, 每个block有输入、输出接口(分别用。和・表示,见图4)。 图4基于AltaRica的FGS安全性模型与故障树 Event-B扩展了B形式化方法 ,用于实现对复杂系统 的设计,它是基于经典逻辑_ 】]和集合理论利用证据的方法来 对系统的属性进行验证,比较适合应用于机载系统安全性架 构的验证。根据Event-B,每个不连续转换系统可以通过两 种组件进行建模:machine和context组件。一个context组 件包含所有常量、集合和与这些常量、集合有关的公理,其刻 画了系统的静态特征;相反,machine组件表示系统的行为或 动态方面,其随着context的增加而不断进行扩展,一个n-la— chine组件包括: variables或state variables:具有相应的类型(enumera— ted,integer或free sets),在使用前需要初始化; invariants:与state variables相关联,表示其必须满足的 约束条件或属性; events:表示与系统有关的操作或变迁,通常一个事件包 含一个“guard”(门限,表示事件发生的条件)和“action”部分 (可以是确定或非确定,表示事件发生的结果或影响)。 3.2应用操作层建模 综合化航空电子系统应用操作层体现的是系统与外部环 境的交互,即飞行员根据指令或所处环境选择执行相应的操 作(任务),应用操作层模型包含系统状态(用machine组件表 示)、外部环境条件(含人为因素,用context组件表示),基于 Event—B构建应用操作模式与任务合成模式。下面以飞机自 动飞行控制系统(AFCS)的应用为例进行说明_3](见图5),飞 行员根据外部环境(如飞行高度超过400英尺才能使用自动 驾驶仪)和飞行阶段选择人工驾驶(MP)或自动驾驶(AP),其 中MP进一步分解为接收飞行员指令,并产生作动器动作, AP是执行自动驾驶功能,需要进一步从通信、导航系统获取 精确的飞机姿态、位置信息,飞机控制模型计算,并产生精确 的控制指令,这就要求AFCS采用分层的逻辑控制架构,并根 据外部环境与自动驾驶系统的交互定义系统边界。根据 SAE ARP4761,对于AF℃S的安全性分析需要考虑从飞机发 动、起飞到降落的整个过程的功能危害及失效条件,首先需要 在应用操作层考虑操作模式的失效对系统的影响分析。 ・Env ・Arcs statusAfcs Attributes Attributes 。p・modeSelected haseAllowed / \ ・a。prevMode pStatus ・selectMode ~ / ・StatusAfcs ・selectMode Events solectMode Events ・setMode ‘b) 图5 自动飞行控制系统应用操作示例 将AFCS中的模式转换用Event—B中的event表示,利用 Event-B建模工具Rodin将其操作模式建模如下: MACHINE MComp) VARIABLES phaseAllowed Physical Unit:Inferred Physical Unit:) modeSelected Physical Unit:Inferred Physical Unit:) prevMode Physical Unit:Inferred Physical Unit:) statusAfcs Physical Unit:Inferred Physical Unit:) INVARIANTS invl:phaseAllowed∈BOOL theorem) inv2:statusAfcs∈B00I theorem> inv3:modeSelected∈N not theorem) inv4:prevMode∈N not theorem> inv5:(prevMode≠modeSelected)V(prevMode=2 A modeSe— leeted=0)not theorem> inv6:phaseAllowed=TRUE= statusAfcs—TRUE not theorem) EVENTS INITIAI ISAT10N:not extended ordinary) END selectMode:not extended ordinary standard) ANY selectVal> WHERE gM1:MComp=env not theorem> grd2:phaseAllowed=TRUE not theorem) grd3:modeSelected=0 not theorem> grd4:preMode=0 not theorem) THEN actl:MComp。一arcs) act2:modeSelected:一selectVa1> END setMode:not extended ordinary standard> ANY setVal> WHERE grdl:MComp=afcs not theorem) grd2:preMode≠modeSelected theorem> grd3:phaseAllowed=FALSE not theorem) THEN actl:Mcomp:一env> act2:statusAfcs:一FALSE> act3:modeSelected:一setVa1) act4:preMode:=modeSelected) END EIND 其中inv5定义了AFCS模式转换处理逻辑,而inv6描述 了理想情况。通过上述建模方式,可以枚举出所有飞行员操 作模式,通过定义INVARIANTS属性描述操作,通过 Proof Obligations来进行模型验证约束条件是否满足和一 致。操作模式分析的结果作为设计约束传递到AFCS的实现 上,接下来就可以地对AFCS进行功能层的建模。 3.3功能层建模 Event-B支持refine的方式对系统进行迭代设计,利用状 态图实现对功能内部建模,通过接口实现功能之间交互的建 模,对于正常交互行为的建模这里不再赘述,对于异常交互的 行为我们可以利用AltaRica进行建模。图6是AFCS中FGS 的功能架构与利用SimFia对其安全性建立的模型。 图6 FGS功能架构 对分解后的每个分系统进行功能建模,确立功能组织的 失效模式(如着陆功能失效、指示功能失效等)。通过将一个 block转换为AltaRiea Node,一个function转换为AttaRiea Component,将sysML模型转换为AltaRica模型(可以通过 工具SimFia自动转换),然后在部件层次将AltaRica模型自 动转换为故障树(见图4),故障传播在AltaRica中通过Corn— ponent的输入/输出来实现。 最后,通过故障树可以计算出功能失效概率。注意:这里 仅阐述了系统开发的一次迭代过程,在实际中,可以根据需要 对模型进行修改,这些修改通过模型可以自动反映到最终的 结果中。 3.4资源层建模 利用AltaRica模型对AFCS的应用操作层、功能层和资 源层进行统一描述,形成如下层次架构(见图7),操作层同功 能层进行交互,功能层根据操作性的模式操作指令进行相应 功能的执行。 操作模 式管理 失效模式 资源的可用 性和完整性 图7基于AltaRica的航电系统架构 航空电子系统的资源综合实现体现在电气/集成电路/可 编程电子、OSC(System on-a—Chip)、SoS(System of System)以 及结构综合(如多电控制结构)『5j。综合化资源的安全性分析 包括资源的完整性和可用性两个方面,其中完整性包含了支 撑多个功能间的共模情况。对于资源层建模,需要遵循如下 步骤: (下转第143页) ・ 】27 ・ 结束语本文提出了一种针对DNS Query Flood攻击的 [3] 宗兆伟,黎峰,翟征德.基于统计分析和流量控制的DNS分布式 检测方法,其利用域名解析的成功率计算出信息熵值,根据信 拒绝服务攻击的检测及防御[C]//2009年计算机网络与通信学 息熵值的变化情况来判断DNS服务器是否出现异常。在判 术会议论文集.2009:206—213 断DNS服务器出现异常的情况下,利用了滑动窗口进一步判 [4]黄宸,郑康峰,卢天亮,等.基于信息熵的应用层DI)oS攻击检测 断源IP地址的信息熵的变化情况,从而判断DNS服务器是 方法[C]∥第十七届全国青年通信学术年会论文集.第二卷, 2O12:467—472 否受到了攻击,并通过实验验证了该检测方法的有效性。这 两种基于信息熵的方法结合起来使用可以有效准确地检测到 [5]李锦玲。应用层分布式拒绝服务攻击的异常检测算法研究[D]. 郑州:信息工程大学,2013 攻击,提高检测的准确率,在某种程度上降低了漏报率;同时 [6]张小妹,赵荣彩,单征,等.基于DNS的拒绝服务攻击研究与防 这种方法不需要设置阈值,这就避免了因经验不足而设置错 范_J].计算机工程与设计,2008,29(1):21—23 误阈值的情况。 [7]王佳佳.DDoS攻击检测技术的研究[D].扬州:扬州大学,2008 参考文献 E8]刘永杰.异常流量识别系统及其关进技术研究[D].南京:南京 邮电大学,2013 E1]Mockapetris P.Domain Names—Concepts and Facilities Es]. [9]徐川.应用层DDoS攻击检测算法研究及实现[D].重庆:重庆大 RFC1034.1987 学,2012 [2]Eastlake n Domain Name System Security Extensions[S]. [1O]尚波涛,祝跃飞,陈嘉勇.一种应用层分布式拒绝服务攻击快速 RFC2535.1 999 检测方法[j].信息工程大学学报,2012(5):601—607 (上接第127页) Safety Assessment[C] ,Process on Civil Airborne Systems and (1)识别资源的功能块/功能块要素。这里功能块的定义 Equipment.1996 为资源(硬件、软件)中能够影响到资源功能安全的最小元素, [2]Papadopoulos Y,McDermid J A.Hierarchically Performed Ha— 一个功能块可由许多功能块组成(功能综合),组成功能块的 zard Origin and Propagation Studies[C]//Proceedings of SAFE— 部分成为功能要素。例如,一个用于控制容器燃油容量的安 COMP’99,18th International Conference on Computer Safety, 全阀门可以分解为图8所示的功能块。 Reliability and Security.1999 [3]Joshi A,Miller S P,Heimdahl M P E.Mode Confusion Analysis of a Flight Guidance System Using Formal Methods[C]//Pro— 功能块l 功能块2 功能块3 ceedings of the 22st Digital Avionics Systems Conference 图8安全阀门一功能块分解示例 (DASC’03).Indianapolis,Indiana,Oct.2003:12—16 (2)将(1)中的功能块/功能块要素映射到子系统/子系统 [4]Description A[OI ].[2012—01—19].http://www.1ix.polytech— nique.fr/rauzy/ 要素。子系统/子系统要素是一个物理实体的概念,是功能 [5]IEC 61508 Functional Safety of Electrical/Electronic/Program— 块/功能块要素的实现。一个子系统可以包括多个其它子系 mable Electronic Safety Related Systems[S].http://zh.wikipe— 统,构成子系统的部分称为子系统要素,其失效会影响整个资 dia.org/wiki/IEC-61508,1998 源的失效,例如上例中构成安全阀门的每个子系统(水位传感 [6]Adeline R,et a1.Toward a Methodology for The AltaRica Mo— 器、可编程逻辑电路和阀门)失效都会影响到安全阀门的功能 delling of Multi—Physical Systems[C]//European Conference on 失效。对于子系统/子系统要素,其安全性分析需要考虑架构 Safety and Reliability(ESREI ).Taylor 8L Francis:Rhodes, 方面的约束和失效概率方面的要求。 Greece.2010 (3)通过对资源的功能块、子系统分解,我们可以采用基 [7]Liu S,McDermid J A.A Model—Oriented Approach to Safety 于Event-B和AltaRica进行建模分析,这里不再赘述。 Analysis Using Fault Trees and a Support System[J].Journal of 结束语本文针对综合化航空电子系统安全性分析存在 Systems and Software,1996,35(2):15卜164 的失效模式完备性和动态失效问题以及数据一致性问题,提 [8]Dotti F L,Iliasov A,Ribeiro L,et a1.Modal Systems:Specifica— 出了基于模型驱动的安全性分析方法,分别从应用操作层、功 tion,Refinement and Realization[C]f Proceedings of the 11th 能层和资源层对航电系统建模,借助形式化工具能够实现3 International Conference on Formal Engineering Methods:For— mal Methods and Software Engineering(ICFEM’09).2009:601— 个层次上的语义一致性,从而从源头解决系统设计与安全性 619 工作的相互分离的现象。本文的工作主要有如下3点: [9]Chaudemar J-C,Bensana E,Castel C.Christel Seguin AltaRica (1)对综合化航空电子系统特征和安全性分析流程进行 and Event—B Models for Operational Safety Analysis:Unmanned 了分析,提出了现有工程实践中存在的问题; Aerial Vehicle Case Study[0L].[2014—03—19].http://ww (2)提出了基于模型的安全性分析流程和方法,实现了系 lix polytechnique.fr/rauzy/altarica/AhaRica.html/ 统设计与安全性设计的集成; El0]Troubitsyna E,Laibinis I .Fault Tolerance in a Layered Archi— (3)提出应用操作、功能和资源层分别建模的方法,并以 tecture a General Specification Pattern in BEC] Proc.of the 航电系统安全性分析实例对提出的方法进行了验证。 2nd Int.Conference on SEFM.Beijing,IEEE,2004:346—355 参考文献 [11]Abrial J R.The B-book:Assigning Program to Meanings[M]. CUP,1996 [1]Society of Automotive Engineers.ARP一4761:Aerospace Recom— [12]Gallier J H.Logic for Computer Science:Foundations of Auto— mended Practice:Guidelines and Methods for Conducting the matic Theorem Proving[M].Publications Dover,1 986 ・143・