基于GSPN的机载构件化软件系统可靠性测试方法

2017-09-07 06:37覃杨森
电子设计工程 2017年17期
关键词:系统可靠性可靠性构件

孙 科,覃杨森

(中国飞行试验研究院 陕西 西安710089)

基于GSPN的机载构件化软件系统可靠性测试方法

孙 科,覃杨森

(中国飞行试验研究院 陕西 西安710089)

利用AADL语言对机载构件化软件系统体系结构进行可靠性建模,实现AADL可靠性模型到广义随机Petri网(GSPN)可靠性计算模型的转换。模型转换规则主要包括基本元素转换规则、基本依赖元素转换规则。在此基础上,将依赖关系扩展到语义连接、参数连接及子构件调用上,同时使用图形化方法对转换规则进行说明,使可靠性模型向GSPN模型转换规则更加完备,以实现对机载构件化软件系统可靠性的计算测试与分析评估。

软件测试;构件化软件;可靠性;转换规则;GSPN

随着机载软件系统的发展,其构件化体系结构越来越复杂,规模越来越大,对系统的开发成本、开发周期及非功能属性(可调度性、可靠性、安全性)要求也越来越高。因此,机载软件系统设计可在模型级别对系统的非功能属性进行测试,对系统的可调度性、可靠性、安全性进行分析,根据需求在模型级别对系统架构进行修改,以缩短开发周期,节约成本。基于这个思想,美国自动化工程师协会(Society of Automotive Engineers,SAE)发布了航空标准AS5506——架构分析与设计语言[1-2](Architecture Analysis and Design Language,AADL)。AADL支持在非功能属性方面对机载系统体系结构进行分析,其将硬件和软件抽象为不同的构件,构件间通过接口或调用实现数据的通信,它并不关心构件的具体实现,通过软件构件、硬件构件和系统构件对机载高可靠性系统进行了描述与测试分析。为了对机载系统的可靠性进行描述,SAE又发布了航空标准AS5506/1——错误模型附录[3-4](Annex E:Error Model Annex)。此标准的提出完善了AADL建模语言,使其由原来单一的模型描述和验证增加了可靠性分析。AADL系统可靠性模型是一个静态的模型,为了对AADL系统架构模型进行可靠性测试和分析,需要采用广义随机Petri网(GSPN)[5]可靠性计算模型对AADL可靠性模型进行描述,然后通过对GSPN可靠性计算模型进行计算测试与分析,以验证AADL可靠性模型是否满足系统设计要求[6]。

1 广义随机Petri网(GSPN)

一个六元组(S,T;F,W,M,λ)是一个广义随机Petri网(GSPN),当且仅当:S,W,M,λ 与 SPN 定义相同;F中允许有禁止弧,禁止弧仅存在于从库所到迁移,禁止弧所连接的库所原可实施条件变为不可实施条件,原不可实施条件变为可实施条件,且在相连迁移实施时,没有标识从相连的库所中移出;迁移集 T 划分为两个子集:T=Tt∪Ti,Tt∩Ti=Ф,时间迁移集 Tt={T1,T2,…Tk},瞬时迁移集 Ti={Tk+1,Tk+2,…Tn},与时间迁移集相关联的平均迁移实施速率集合 λ={λ1,λ2…λk},与瞬时迁移相关联的弧权函数集合为 W={wk+1,wk+2,…,wn};在一个标识 M 下多个可实施瞬时迁移定义一个随机开关,确定它们之间实施概率选择[7]。

在GSPN中,时间迁移的实施速率同随机Petri网一样,也可能依赖于标识[8]。如果在一个标识M下,有若干个迁移构成一个可实施迁移集合H,则有下列两种情形:

1)如果H全部由时间迁移组成,则H中任一时间ti∈H实施的概率为:

与SPN的情形相同,这种标识称为实存标识;

2)如果H包含若干个瞬时迁移和若干个时间迁移或不包含时间迁移时,只有瞬时迁移能实施,时间迁移不能实施。选择哪个瞬时迁移实施,要根据一个概率分布函数。H的全部瞬时迁移构成的子集连同相关的概率分布一起称为一个随机开关[9]。相应的概率分布称为一个开关分布。

每一个瞬时迁移的实施概率为:

不同的标识可以分配同一个随机开关,它们具有相同的瞬时迁移集合并且定义同一个开关分布。若与一个可实施的瞬时迁移相关的概率为零,则该迁移不能实施,其结果就好像它不可实施一样。一般情况下,一个GSPN的可达集是相关的P/T网可达集的一个子集,这是因为GSPN中瞬时迁移优于时间迁移的实施,从而造成一些表示不可达。另外GSPN的可达集可以划分为两个不相交的子集:仅使时间迁移可实施的标识集;可使瞬时迁移可实施的标识集[10]。前者标识在稳定状态下有驻留时间;后者标识没有驻留时间。这为GSPN状态空间的化简提供了依据。

2 可靠性模型转换规则

AADL可靠性模型是无法进行量化分析和评估的,需要将其转换为可分析计算的GSPN模型。图1所示为AADL可靠性模型向GSPN模型转换以及可靠性测试评估的过程图。

图1 可靠性测试评估过程图

第一步,根据需求利用AADL标准建立机载软件系统架构模型;

第二步,建立软件系统构件的AADL错误模型,构件间具有相互依赖关系;

第三步,利用上两步建立的AADL可靠性模型,根据转换规则,将AADL可靠性模型转换为GSPN模型;

第四步,根据生成的GSPN模型进行可靠性计算,根据可靠性计算结果,分析是否满足系统软件设计要求,如果不满足,需对AADL可靠性模型进行修改或重构。

2.1 基本元素转换规则

当只考虑机载软件系统中单独的构件或相对独立的构件时,将错误模型中的基本元素错误状态、错误事件、错误状态的变迁转换为GSPN模型中的位置、弧、迁移等基本元素[11],如表1所示。

表1 AADL错误模型和GSPN模型基本对应关系

在基本元素转换中,从AADL错误模型向GPSN模型转换时,GSPN模型中的迁移到底采用哪种迁移,是采用时间迁移还是采用瞬时迁移,主要和这种错误事件类型和其分布有关[12],如果错误事件的发生服从泊松分布,那么应将其转换到时间迁移,如果服从固定概率分布,应将其转换到瞬时迁移。

2.2 基本依赖元素转换规则

由于构件之间是互相关联的,一个构件发生错误可能会影响到另一个构件,这就造成了错误的传播,有交互的构件都是基于两种最基本的错误传播方 式 out propagation和 in propagation, 因 此 ,in propagation和out propagation基本依赖关系规则的转换对其他的高级依赖关系的转换起到很大的影响。

在对out propagation和in propagation进行联合的过程中,in propagation因out propagation的存在而发生,二者的联合,就是错误传播的最基本情况[13]。如图2所示,Component1是错误传播的发送者,Component2是错误传播的接收者,两者通过数据端口进行连接,错误传播也是通过数据端口进行传播的,Component1发出的错误名字和Component2接收的错误名字是相同的。

图2 发送和接受构件in-out propagation匹配

图3 发送构件到接受构件错误传播的GSPN模型

图3是对图2的GSPN模型转化。如图3所示,加了一条从Outprop到InProp的双向弧和从In_src到t∈得禁止弧,从Outprop到InProp的双向弧表示当Out_src发生错误传播,在Outprop中就存一个标识,如果此时InProp中也存在一个标识,那么Component2就接受到Component1的错误,发生错误状态的变迁,假如还有其他的接受构件,那么其他的接受构件也可以接受到这个错误,OutProp中的标识不应该消失,因此,必须是双向弧。从In_src到t∈得禁止弧,表示当out_src只发生一次错误传播到达错误状态Out_dst,Outprop中存在一个标识,如果此时In_src中已经存在一个标识,接受构件已经准备好接受错误,为了防止这个OutProp中的标识被t∈吸收,所以加了从In_src到t∈的禁止弧。

3 某型号飞控系统可靠性测试

3.1 可靠性模型建立

某型号飞行控制系统的AADL架构模型如图4所示。该系统由两个通过通信介质连接的计算机系统构成。其中一个系统实现了与所有的执行器和GPS位置传感器的交互。另一个系统是人机交互界面系统,这个系统管理移动地图显示器,并执行飞行员启动/取消被动开关的操作。

图4 某型号飞控系统架构模型图

如图4所示,飞控系统由Nav_Autopilot_System和HCI_System两个子系统构成。Nav_Autopilot_System子系统是自动控制系统,包含进程P_Nav_Con 以及 5 个 设 备 构 件 (Alieron、Elevator、Rudder、Engine、GPS),其中设备构件 GPS 主要负责读取外部数据(经度、维度、海拔、温度等)并发送给进程P_Nav_Con,由进程P_Nav_Con向其它4个设备构件发出控制信号,这4个设备构件是控制飞机飞行的设备[14]。在子系统Nav_Autopilot_System中,GPS构件是主要的错误传播源,错误传播是从它发出给P_Nav_Con进程,然后传给4个设备构件和HCI_System子系统。

图5 硬件构件的错误模型描述

HCI_System子系统是人工控制系统,主要包含进程P_HCI,这个进程负责接收飞行员的控制信号,在显示器上显示出来控制信息,并将这些控制信息发送给Nav_Autopilot_System子系统的4个设备构件,从而控制飞机的飞行。在子系统HCI_System中,T_Pilot_Input是主要的错误传播源,错误从它发出传播给Nav_Autopilot_System子系统的设备构件。

根据以上的系统分析,首先建立飞行控制系统的AADL架构模型,进而在飞控系统的架构模型基础上,建立对应的AADL错误模型。硬件构件错误模型如同图5所示。其中,构件的初始状态为无错误状态(Error_Free state);临时错误故障以速率λh1被激活;永久错误故障以速率λh2被激活;由临时错误故障引起的错误其发生速率为μh1;由永久错误故障引起的错误要么被发现(发现速率为τh1),要么未被发现(未被发现速率为τh2),在这两种情况下,构件都迁移到Failed状态,如果错误被发现,硬件构件则被修复,如果错误未被发现,那么Failure则以速率ξh被察觉,这个构件便以速率μh2被修复。

图6 软件构件的错误模型描述

图6所示为软件构件错误模型。其中,构件的初始状态为无错误状态(Error_Free state);故障以速率λs被激活,错误要么被发现(速率为τh1),要么未被发现(速率为τh2)[15]。一个被检测到的由临时故障引起的错误,将被错误检测机制以速率πs1消除,该构件随后迁移至Error_Free状态;一个被检测到的由永久故障引起的错误将以速率πs2导致构件的失效,那么该构件需要重启以消除错误影响,构件的重启速率为νs。未被检测到的错误可能自行消失(速率为 rateδs)或者可能被检测机制察觉(速率为 ξs)。

3.2 GSPN计算模型转换

根据第2节中的可靠性模型转换规则,将图4所示系统构件的可靠性模型转换得到GSPN可靠性计算模型。将GSPN可靠性计算模型的PNML文件导入可靠性计算工具PIPE2中,以实现对系统可靠性的高效计算[16]。PIPE2执行可靠性计算过程如图7所示。同时,由于PIPE2是一个针对GSPN可靠性计算模型的开源工具,可将工具的计算过程进行参数优化,例如调整可靠性模型计算步长等,修正计算结果精度,进行多次计算对比分析。

图7 可靠性计算流程

4 结束语

文中通过将机载构件化软件系统的可靠性模型转换为GSPN模型,可以对机载系统的可靠性进行量化测试计算,得出明确的数值分析结果,判断是否符合系统设计的可靠性需求,以便在系统的设计阶段,及时调整和完善设计方案,达到降低机载构件化软件系统开发成本,提高开发效率的目的。

[1]覃杨森,霍朝晖,刘成玉.构件化机载软件非功能属性测试分析方法研究[J].测控技术,2013,32(11):119-123.

[2]彭成,王盼卿.软件形式化开发方法的选择策略研究[J].电子设计工程,2014(15):30-32.

[3]刘凤.基于软件构件技术的软件化雷达[J].现代雷达,2016(5):12-15.

[4]程亦涵,黄志球,阚双龙.一种结合AADL和IMC的系统可靠性建模方法 [J].计算机工程与科学,2015,37(8):1517-1524.

[5]杨志斌,皮磊,胡凯,等.复杂嵌入式实时系统体系结构设计与分析语言:AADL[J].软件学报,2010,21(5):899-915.

[6]李振松,顾斌.AADL在航天器控制系统设计中的应用研究[J].空间控制技术与应用,2011,37(1):55-58.

[7]陈明铝,张立臣.AADL对月球车导航系统的设计与建模[J].计算机应用与软件,2013(11):235-237.

[8]王小强,韩斌.基于GSPN的飞机测试性指标确定方法研究 [J].计算机测量与控制,2016,24(4):13-15,18.

[9]赵喆,贾玉红,郑昕,等.基于GSPN的飞机前轮转弯系统安全性评估[J].北京航空航天大学学报,2011,37(12):1546-1551.

[10]吴永强,潘祯.构件技术的通用自动测试系统软件设计[J].电子设计工程,2015,23(23):69-71.

[11]石健,王少萍,王康.基于GSPN的机载液压作动系统可靠性模型[J].航空学报,2011,32(5):920-933.

[12]王二威.软件可靠性模型研究综述[J].软件工程,2016(2):1-2.

[13]李展,单士华.基于GSPN的舰载服务器系统可靠性建模及分析[J].火力与指挥控制,2015,40(5):57-60.

[14]谷春英,姚青山.基于GSPN的计算机硬件系统可靠性分析[J].微电子学与计算机,2013(6):122-125.

[15]桑亚辉,肖乐.基于GSPN的软件可靠性建模及分析[J].计算机测量与控制,2013,21(5):1251-1253.

[16]师丽斌,李蜀瑜.基于ARINC 653标准的嵌入式构件元模型研究[J].电子设计工程,2015(21):91-94.

Reliability test method of airborne component based software system based on GSPN

SUN Ke,QIN Yang-sen
(Chinese Flight Test Establishment,Xi'an 710089,China)

Reliability modeling of airborne component based software system architecture using AADL language,the conversion of AADL reliability model to GSPN reliability calculation model is realized.Model transformation rules mainly include the basic elements of the conversion rules,basic dependent element conversion rule.Based on that,the dependency relation is extended to the semantic connection,the parameter connection and the sub component invocation,at the same time using the graphical method to explain the conversion rules,the reliability model is transformed to the GSPN model,in order to calculate and analyze the reliability of airborne component based software system.

software testing; component based software; reliability; conversion rule; GSPN

TN99

A

1674-6236(2017)17-0016-05

2016-07-10稿件编号:201607080

国防基础科研项目(A0520132031)

孙 科(1982—),男,山西阳高人,硕士,工程师。研究方向:构件化机载软件测试。

猜你喜欢
系统可靠性可靠性构件
试析提高配网系统可靠性的技术措施
可靠性管理体系创建与实践
合理使用及正确测试以提升DC/DC变换器可靠性
5G通信中数据传输的可靠性分析
建筑构件
建筑构件
建筑构件
建筑构件
城市轨道交通信号系统可靠性分析
基于故障树模型的光伏跟踪系统可靠性分析