欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
机械论文
当前位置:首页 > 机械论文
一种面向安全关键软件的AADL模型组合验证方法_张博林
来源:一起赢论文网     日期:2021-03-19     浏览数:2627     【 字体:

 第4 卷第1 2 0 2 0 年1 1 月计算机学报CH INESEJ O URNALO FCOMP UT ER SVol .4 3No.1 1No v. 20 2 0一种面向安全关键软件的AADL 模型组合验证方法张博林u杨志斌u ’ 2 >周勇u马燕燕n黄志球^薛垄3>南京航空航天大学计算机科学与技术学院南京2 11 10 6 )2>( 高安全系统软件开发与验证技术工信部重点实验室南京2 1 1 1 0 6 〉3 )(上海航天电子技术研究所上海20 1 10 9 )摘要安全关键软件变得越来越复杂, 这类软件的形式化验证是一个具有挑战性的问题. 本文针对火箭发射控制子系统实例, 提出一种组合验证方法, 该方法采用组合验证与模型转换相结合的方法完成对该系统的验证与分析. 首先, 使用体系结构分析与设计语言AADL 对火箭发射控制子系统进行层次化构造系统的体系结构模型, 将系统各个层次的组件需求形式化为组件契约, 然后通过组合验证确保系统体系结构的正确性; 其次, 提出了AADL2 UPPAAL 的模型转换方法, 然后基于UP PAAL 对该模型中组件的功能行为进行验证与分析, 确保组件的功能行为的正确性; 最后, 实现了AADL 模型验证原型工具, 支持基于AGREE 的体系结构模型的组合验证和支持基于UPPAAL 的组件功能行为验证, 通过对火箭发射控制子系统案例的验证和分析表明本文所提方法的有效性与局限性.关键词安全关键软件; 火箭发射控制子系统; 组合验证; AADL ;UPPAAL中图法分类号TP 3 1 1DOI 号 1 0.  1 18 9 7 / SP. J .  1 0 1 6 . 2 0 2 0.0 2 1 3 4AComp osi t ionalVerification Method forAADLModelsof Safety-Crit ical SoftwareZ HANGBo-Li n1 1YANG ZH-Bin1 , 2 )ZHOUYong1 *MAYan-YanuH UANG Zhi-Qiu1 K2)XUELei3 >l )i Co ll eg e o fCo mp u ter Sci en ce and Tec hn ol ogy  tNa nj i ngUn i vers i ty o f Aero na uti cs a ndAs t ro na u ti cs t Na nj ing2 1 1 1 0 6 )(. Key La bo ra to r y of So ftwa r eDe velo pmen t andVe rifi ca t io n Tech no l ogy Mi n is t ry o f Indu s try a ndIn fo rmat io n  Techn o lo g y fo r Hi ghSec uri ty Sys t ems, Nanjing2 1 0 0 9 3 ){ Shanghai Ae rospace Elec tr on i cTec hno lo gy Inst it ut e9Shanghai20 1 10 9 )A bstr ac tT he comp l exi tyof saf et y- cri t ical software ha sbee n hig her and high erwi thth edevelopmentof re qu ir em en t sp eci f i cat i on .T he re fo re ,i t i s a se r i o us ch a l l e ng e t ov eri f ywh e th e r t h e se co mp lexsy s t em ssa t i sf ye xpe c te dpr ope r t i e sor no t.Acco rdi n gto t he e xamp l e of t he roc ke t la unc hc on tr olsu bs ys t em ,t h i sp ap e r p ropo se sa co mb i na t i on of com po si tion a l ve ri fi c a ti o na n dm ode l ch e ck i ng t ocom pl e t et h ev er i f ic a ti o na nd a na l y si soft he s yst em.Fir st , Ar chi t e ct u reA na ly si sa nd D e si gnLan gu a ge ( AADL)i s use d t o hi e ra r c hi cal l yco ns t ruc t t he  ar c h it e ct u re mod el  of t h er ocke t l a unchcont rol s ub sy st e m , a nd t he c omp on ent re qu irem en t so f each l e ve l of t he sys t em a ref orm a l iz ed b ycont ractt he ory , a ndt h en th ec orrect ne sso ft he sy stemar ch it ect u re i s ve r ifi e dt hrou gh compos it ion alverifi cation.Sec ondl y ,t he funct ional b eh a viorof  th e com pon ent s i n th e mo del are veri fi edba se donUPP AA L to en su r et h e corr ect n es sof  Comp one nt be hav iors ;Fi na l ly ,the AADLmo del  ver i fi cat ionprot otyp e tool  is imp l eme nt ed to su pport t he com pos i ti ona l ve ri fi ca t ion of AGREE-b a s ed arch it ect u re收稿日期..20 1 9-1 2- 2 4 ; 在线发布日期: 2 02 0 ̄0 4-1 6. 本课题得到国家自然科学基金( 6 1 5 0 2 2 3 1 ) 、国家重点研发计划( 20 16 YFB1 0 0 0 8 02 ) 、GF 基础科研重点项目( JCKY2 0 1 6 2 0 3 B0U ) 、航空科学基金( 20 1 9 1 9 0 52 0 0 2 ) 、南京航空航天大学研究生创新基地( 实验室) 开放基金( K FJJ 2 0 1 8 1 6 0 3 ) 资助. 张傅林, 硕士研究生, 中国计算机学会( CCF ) 学生会员, 研究方向为形式化验证、软件工程等. E-ma i l :ml 8 7 5 6 8 0 1 9 9 6 @ 1 6 3 . com. 杨志斌( 通信作者), 博士, 副教授, 中国计算机学会( CCF ) 会员, 研究方向为安全关键软件、形式化验钲等.E- mai l : ya ngzhi b i nl 6 8@ 1 6 3 . c om. 周勇, 博士, 副教授, 中国计算机学会( CCF> 会员, 研究方向为软件工程、形式化方法等? 马燕蒸, 硕士研究生, 中国计算机学会( CCF) 学生会员, 研究方向为形式化验证、软件工程等. 黄志球, 博士, 教授, 中国计箅机学会( CCF ) 理事, 研究领域为软件工程、形式化方法. 薛垒, 硕士, 髙级工程师, 研究方向为嵌人式软件验证、嵌人式软件系统设计.1 1 期张博林等:一种面向安全关键软件的AADL 模型组合验证方法 2 1 3 5m ode l sa n dUP PAA L- ba se dc omp on en t fu nc ti o na l b eh a vi orve ri f ic a t io n , t h e ro ck e t  l a un ch c ont r o lsu bsyst e mca se i s us edt osh ow t h e ef fe ct i ve ne s sa ndli mi t a ti on s of th epro po s e dm e t hod a red em ons t rat ed.K eywordss a fe t y- cri t ic a l sof t wa r e ;r ock et l a u nc h con t rol s ys te m ;com po s it i o na lve r i f i ca t io n ;A ADL; UPPAALi 引言安全关键软件( Saf e t y-Cri t i ca lSo ft wa r e )[ 1 ] 在航天、航空、交通等领域的安全软件系统中有广泛应用,且Jr 有高安全性的、高可靠性的、交互频繁的、资源受限的、实时响应的特征的软件. 安全关键软件一般为安全关键系统的关键部分, 可能引起或者增加不安全的情况, 这样的软件被认为是安全关键的[ 2 ].近年来, 基于模型驱动开发方法M 开发和设计安全关键软件越来越得到重视. 随着功能和非功能的需求的不断提高, 安全关键软件变得越来越复杂,安全关键软件的模型形式化验证面临着巨大的状态空间爆炸问题. 现在, 基于契约的组合验证方法[ 4 6 ]成为安全关键软件领域解决验证状态空间爆炸问题的国际前沿热点. 其核心思想是利用软件系统的组合结构对验证问题进行分解, 先验证各个子组件的性质, 然后组合推理导出整个系统的性质, 通过分而治之解决状态空间爆炸问题, 这些性质用契约来形式化规约. 该方法的三个关键要素包括软件架构、契约以及组合推理规则.基于契约的组合验证方法在程序语言、模型检测、模型驱动工程、嵌入式系统等领域都得到广泛的研究. 我们的研究是将组合验证引人到安全关键软件领域. 体系结构设计与分析语言A ADL[ 7 8 ]( Ar chi t e ct ur eAnal y si sa ndDe s i gnLa ng ua g e ) 是由美国汽车工程师协会提出的面向安全关键系统的一种建模语言标准, 丰富的可表达方式使得AA DL 成为安全关键软件设计与验证方法的一种重要选择,安全关键软件的AAD L 体系结构模型组合验证方法已成为一个重要研究内容. 美国Ro ckwel l Co l l i ns公司和M i nn es ot a大学在DA R PAM ETAP rogr am项目的支持下, 提出了AADL 架构模型组合验证方法和环境AGREE?9-11] ( As s umeG ua ra nt ee Rea son ingEnvi r onm en t ) , 并给出了AA DL扩展附件AGR EEAn ne x . 使用A A DL 构造系统的体系结构模型, 使用AG RE Ea n ne x 构造各个组件的契约, 然后基于AGR EE 进行组合推理, 将基于契约的组合验证方法引人到安全关键软件领域.但是, 验证在体系结构中一层一层执行, 底层叶子组件契约被组合验证内部抽象其组件行为并默认是正确的, 所以这些组件的功能行为需要在组合验证环境外进行验证. 模型转换是AA D L 模型形式化验证和分析的主要途径, 如转换到BI P[ 1 2 ]( Beha vi orIn terac tion Prior i ty) 、F IACRS1 3]、TLA+ [1 4 ]、S i gn al^ 1 5]、S ta t e f ulT i me dCSP [ 1 6 ]( Cy b er - Ph y s i ca lS y st em s ) 等, 模型转换后可以重用这些模型已有的验证和分析能力. 然而, UPP AAL[ 1 7 1 8 ]、Si mU l i n k [ l 9 ]等验证和分析工具在工业界已有较多使用, 这些工具常用于验证单组件的行为是否满足期望的性质即组件契约, 而组合验证环境则可以进一步基于组件契约进行整个系统的组合推理. 因此, 组合验证环境和工业界已经常用的验证和分析工具的集成是工业界的一个应用需求. 因此, 我们考虑组合验证方法AGREE 和UPP AAL 的结合, 并对工业界实际案例进行验证和分析.本文在已有研究工作的基础上提出了一种组合验证方法, 该方法包括AADL 体系结构模型的组合验证和基于UP P AA L 的组件的功能行为验证. 首先, 根据需求分解构造系统的体系结构模型, 根据需求构造组件契约, 基于组件契约对系统的体系结构进行推理, 从而验证复杂系统的体系结构. 然后对组合验证中的叶子组件的功能行为模型进行模型转换, 完成了AAD L 模型子集到UP P A A L 模型的转换, 主要是针对AAD L 子程序和行为附件的转换,然后重用UP PAAL 的验证能力, 对模型的功能正确性、可达性、安全性等性质进行验证分析, 确保底层叶子组件的功能行为正确性. 通过这种组合验证与模型转换相结合的组合验证方法完成了对整个复杂AADL 模型的验证与分析.本文是MACAe ros pa c e 项目[ 2 。] 关于AA DL 模2 1 3 6计算机学报2 02 0 年型验证的一部分工作. MAC A e r os pa c e 项目是一个基于A A D L 的建模、验证和代码生成研究项目. 该项目提出了一种基于限定自然语言RN L CR e s t r i c t e dN a t u r a lL a ng u ag e ) 的需求建模方法, 从RN L 需求自动生成A A D L 模型; 然后对A A DL 模型精化补充其平台相关信息得到平台执行模型; 之后通过形式化验证方法完成对平台执行模型的验证与分析并将验证结果反馈给A A D L 模型, 实现A A D L 模型的迭代更新; 最后对验证后的模型进行目标C / A d a代码自动生成. M A C A e r os pa c e 项因的总体结构如图1 所示, 本文的工作是形式化验证部分.图1M A C Ae ros pa ce 项目总体结构2 研究背景2 . 1AADL 语言基本概念在安全关键软件的应用中, 清晰地表达系统的各个组成部分的结构关系十分的重要. A A D L 语言是可以描述软件体系结构、硬件体系结构、功能和非功能属性的建模语言. 在软件体系结构上通过线程、线程组、进程、子程序、子程序组等组件以及组件交互进行描述; 在硬件体系结构上通过处理器、虚拟处理器、总线、虚拟总线等组件以及组件交互进行描述; 功能和非功能属性通过分发协议、通信协议、调度策略、模式变换协议以及分区机制等属性进行描述; 最后, 通过系统构件的组合, 能够层次化地建立起系统的体系结构模型. 除此之外, A A DL 还提供了行为附件( be ha vi o ra nn e x ) 增强了对组件的功能行为的描述, 通过行为附件的执行模型能够更加详细地描述线程和子程序的功能行为模型.为了方便后续内容中阐述A AD L 组合验证原理, 这里我们给出一个简单的A A DL 模型示例如表1 所示, 即一个A A DL 系统t opl e ve l , 它的子构件包括A 、B 和C , 子构件之间的链接为即时通信方式( im me d i a t e ) .表1A A U L 模型示例p a ck a g eI n t e g er 一T oypu bli cw i t hB as e_T y p e s;s ys te mAf ea t ur esI n p u t_A :i nd a t ap o r tB a s e_T y p e s I  I  I n t eg e r;O u t p u t一A :o u t d a tap o r t Ba s e_T y pe s : ; I n t eg e r;e n d A ;s y s te mBf ea t ur esI n p u t_ B :i n d a ta p o r tB as e 一T y p es : :  In teg er ;? u t p u t_ B: o u t d at a p o r t  Ba s e_Ty p e s : : I n t ege r;e n d B ;s y s te mCfea t ur esI n p u t l _C: i n d a t a p o rtB a s e一T y p es : :  In te g e r;I n p u t 2_C : i nd a t a p o r tB a s e_T yp e s : : I n te g e r;O u t p u t: o u t d at a po rt Ba s e_ Ty p es X I n t eg e r ;e n dC?s y s te mt o p_l e v elf ea t ur e sI n p u t一S: i n  d at ap o r t Ba se一T y p e s : : I n t eg e r ;O u t p u t一S : o u t d a ta p o r tB as e_T y pe s : : I n t eg er;en d t o p一l e v el;s y st e mi mp l eme nt a ti o n t o p_l e ve l . Im p ls u b c o mp o n entsA一su b:s ys t emA ;B_ su b : s yst emB ;C_ su b : s ys t emC ;co n n ec ti o n sI N_TO_A : po r t I n p u t一S —〉A一s u b . I n p u t一A{ Com mu n i ca ti o n 一P r o p er ti e s : : T i mi n g=〉i mme d i at e ; } ;A_TO_B : p or t A_su b . O u t p u t_ A —〉B_s u b . In p u t_B{ Com mu n i ca t i o n一P r o p e rt i e s : : T i mi n g=〉i mme d i at e; } ;A_ TO _C : p o r t A_s u b . ( ) u t p u t_A —]> C_s u b . I n p u t l _C{ Com mu n i ca tio n _P r o p e rtie s : : 丁imin g=〉imme d iat e; } ;B一TO_C : p o r tB_ su b. 〇u t p u t一B—〉C_s u b . I n p u t 2 _C{ Com mu ni ca t i o n_P r o p er t i e s :  : T i mi n g=〉i mme d i at e; } ;C_ TO _Ou t p u t: p or tC_su b . O u t p u t_C —> 0 ut p u t_S{ Comm u n i ca tio n _P r o p e rti e s ! T i mi n g= > i mme d i at e ; } ;en d t o p_ l e v el. I mp l ;en dI nt eg er_T o y ;2 . 2 组合验证概述为了验证一个系统满足其需求, H a mm on d 提出了满意度论证的概念[2 2:, 即通过系统行为的规范和对系统的假设来建立系统需求. 为了形式化满意度参数, 基于契约的组合验证方法提供了一种机制,张博林等:一种面向安全关键软件的A A DL 模型组合验证方法 2 1 3 7通过对其组件信息的抽象, 从而推导系统级需求是否被满足. 组合验证中组件契约描述如下:C〇n t r aC t =( A s s u m e ,G u a r a n t e e ) , 其中 A s s um e 为组件契约的假设部分, 描述组件对其运行环境的需求, 可以是验证过程中的组件输人的断言或者是不变量; Guara nt e e为组件契约的保证部分, 描述当组件的假设部分被满足时, 组件必须保证的外部行为特征, 即是否满足需求. 契约精确地指定了组件与系统其它部分的交互所需要的信息, 还支持按照系统模型的层次结构对验证部分进行层次分解.在表1 案例的基础上, 我们给出如下系统验证需求:t o pl e ve l sys t em 输人小于1 0 时, 输出应小于5 0 ; 子组件A 输人小于2 0 时, 输出应小于二倍的输人; 子组件B 输入小于2 0 时. 输出应小于输人值与1 5 之和; 子组件C 输出应小于子系统A 和子系统B输人数据之和. 根据需求建立组件契约及证明过程如图2 所示. 表1 只简单给出了两层结构, 但可以任意多个层次. 从而推广到更复杂的系统验证中.表2A GR E Ea n n ex 示例①c°Aa : Inp ut <2 0Ga: ( Xit pu t <2*I n pu t-??B ?—Ac:n o n eGA: Ou tpu t=In p u t  1+  In p u t21A? :I n p ut <2 0Ga : Ou tp u t< Inp u t + 1 5A s :I n pu t <1 0JGs:  () ut pu t <5 〇!|图2 组合验证案例假设保证推理环境AG RE E 是集成在开源工具fplaO SATE( Op enS our c eAADL Too l En vi r onm ent )上的A A DL 模型的组合验证工具, 并发布了A A D L组合验证附件A G RE Ea n ne x 用于构造组件契约.在A GREE 框架下, A ADL 模型使用AG REE ann ex构造的契约表示组件的功能, 在对系统的分层设计过程中, 当前层的需求在设计下一层组件的时候成为下一层各个组件的需求, 从而下一层组件必须满足当前层的需求, 然后由各个层次不同组件的需求构造相应的组件契约, 最后通过组合推理的方法证明这个系统体系结构的正确性. 表1 的系统验证需求对应的A A DL A G RE Ea n n e x 表示如表2 所示?使用A G RE E 可以完成对该模型的验证分析, 确认其需求得到满足.A G RE Ea n ne x 具体语法可参见手册①■p ac k ag eI n t eg e r_ To yp u b l i cwi t h Ba s e一Ty p e s;sy s te m 八fe at u r esIn p u t: i n  d a ta po r t Ba s e一T y p es ; ! I n t eg e r;O u tp u t:  o utd at a p o rtBa s e一T y p e s : : I n t eg er;a n nex  agre e {* *a s s u me“Ai n p u t r a n ge” :I n p u t < 2 0;g u a ra n t e e“A  o u t p u tr a ng e”:O u t p u t <C 2* I n p u t;* *} ;en d A ;sys te mBfea t u re sI n p u t: i n  d a tap o rt Ba se一T y p es : :  I n te g e r ;Ou t p u t: o u t d a ta p o rt B a s e一T y p e s : : I n t eg e r ;a n n ex  agr e e {* *a s s u me“ B i n p u tr a n g e”: I n p u t < 2 0;g uara n tee**B o u t p u t r angew :O u tp u t < C I n p u t - f1 5; * *} ;e nd B ;s y s te mCf ea t u r esI n p ut  1: i n  d at ap o rt Ba s e一Ty p es : : In t eg er ;I n p u t 2 : i n d at ap o rt Ba s e一Ty pe s : : In t eg er ;Ou t p u t: o u t d a t a po r tB a s e_T y p e s* I  I n t eg e r ;a n n ex a gr e e{ * *gu ara n tee“Co u t p ut r a ng e”: O u t pu t: I np u t l + In pu t2 ; * *;:en d C ;s ys temt o p_l e ve lf ea t ur esI n p u t : i n d a t ap o r t B a s e_T y p e s! ; I n t eg e r;Ou t p u t:o u t d a ta p o r tBas e_T y p es I  ;  I n te g e r;a n n ex a g r e e{ *  *as s ume“Sy s te mi n p u tr a n g e”: I n p u t <=9 ;g ua ra n te e''S y s t emo u t p u tra n g e**:O u t p u t <C  5 0;* *} ;en d t o p_l e ve l ;s ys tem i mp le me n ta t i o n t o p _l ev e l. I mp ls u b co m p on e n tsA _s u b : s y s tem A ;B_s u h: sy s t emB ;C_ s u b : syst em C ;co n n ectio n sI N_T O_A :p o r t In p u t—〉A_s u b . I n p u t{ Commu n i ca ti o n _ Pr o p e r ti e s : : T im i n g=〉i mm edi a te ; } ;A_T O一B : p or tA_su b . O u t p u t—〉B_s u b . I n p u t{ Co mmu n i c a ti o n 一P r o p e r ti e s : : T im i n g=〉i mm ed i a t e ; } ;A_T O_C : p o r tA_s u b . O u t p u t—>C_s u b . I n p u t l{ Commu n i ca t io n _ P ro p er ti e s : : T im i n g=〉i mm edi a te ;B一TO_C : p or tB一su b . O u t p u t—〉C_ s u b . I n p u t 2{ Co mm u nica tio n_ P ro p e r ti e s : : T imi n g=〉imm ed i a te ;};C一丁C)_O u t p u t: p or tC一s u b . O u t p u t—> Ou t p u t{ Co mmu n i ca ti o n一Pr o p e r ti e s : : T im i n g=〉i mm ed i a te :;en d t o p_l e ve l . I mp l;en d I n t eg e r_ To y ;2 . 3U PPAA L概述UP P AA L[ ? 是一个依靠时间自动机进行验证分析的验证环境, 可以构造时间自动机网络模型对实时系统进行建模、模拟和验证. 在U PPA A L 中进行的模型验证的理论基础是自动机中的可达性验证理论, 依据该理论可以验证模型中所有状态在可达路径上的性质集合. 若用M 来表示一个时间状态自动机, 用i? 表示验证过程中用到的时序逻辑, 在验①As s u me G u a ra n t ee R ea s o n i n g  En vi r o n me n t( A G R EE ) .h t t p : / / l o o n w er k s . co m / to o l s / ag re e . h t m l. 2 0 1 9 , 0 8 , 2 41 1 期&- *AgxBt<<\\\\AGGG2 1 3 8 计 算 2 0 2 0 年证过程中, 会搜索所有的M 的状态, 而且会验证R在搜索过程中经过的每一条可达的路径. 验证需求的i? 必须使用特定的形式化描述, 在UP PA A L 中使用了一个简化版的时序逻辑TC T L 对表示的.一个TC T L 公式可以验证模型中某个状态是否存在, 比如x= =3 在任何工等于3 上的状态为真. 所有的状态公式和状态转移都不能更改状态机中的表达式, 状态公式可以析取. 表3 给出了UP PA A L 支持的TC T L 公式及其能力, 使用这些公式可以完成对模型的可达性、活性、安全性等性质的验证.表3 路径公式公式类型 公式表示 说明可达性公式 EO<p表示状态公式9 是从初始位置可达的, 比如“初始状态一定是可达的活性公式 A <  ) <p活性表示在某种情况下,一个事情最终一定发生, 通常表述为“ 好事” 会发生.A〈〉9? 表示最终一定满足安全性公式A [] 炉E [2 <p安全性是指在某种情况下,一件事永远都不会发生,一般用来表达不希望出现的事情, 因此安全性也可以表述为“ 坏事”不会发生. A [ ] p 表示在所有可达的所有状态中都应该满足而表示有一条路径上的状态都满足&2 . 4 面向安全关键软件的AAD L 模型组合验证方法研究框架已有的验证方法往往是将扁平化的整个AADL模型进行模型转换然后直接验证, 但是对工业界复机学报杂的A A D L 模型直接验证往往存在状态空间爆炸的问题. 工业界的A A D L 模型涉及到大量的函数调用行为, 在A A D L 模型中可以使用子程序及行为附件来表达, 但是现有的验证手段很少涉及对子程序及其行为附件的验证分析. 因此, 为了更好的完成对复杂系统的验证分析, 本文提出了一种面向安全关键软件的A A DL 模型组合验证方法. 该方法总体框架如图3 所示, 包括三部分:( 1 ) 提出AA D L 体系结构模型的组合验证方法, 根据需求及需求分解使用A A DL 层次化的构建体系结构模型, 同时确定其组件划分, 使用需求及子需求构造组件的契约, 基于组件契约对系统的体系结构模型进行组合验证, 验证系统体系结构的正确性.( 2 ) 提出基于UPPAAL 的组件功能行为验证方法, 基于模型转换语言AT L (A t l a sT r an s fo rm at i o n1^ 吨1^昭6 )[2 3] 将单组件AAD L 模型( 主要是子程序)转换为U P P AA L 模型. 根据A A D L2 UP P AA L 的模型转换方法, 将A AD L 组件功能行为模型( 主要是子程序和行为附件) 转换为U PP A A L 模型并进行验证分析, 从而验证叶子组件的功能行为的正确性.( 3 ) 实现了A A D L 模型验证原型工具, 用于支持A G RE E 组合验证和U PP AA L 的组件功能行为验证, 并通过插件技术集成在AA DL 建模工具O SA TE± ,面向安全关键软件的AAD L模型组合验证方法图3 面向安全关键软件的A A D L 模型组合验证方法框架张博林等:一种面向安全关键软件的1 1 期 AADL 模型 组合验证方法 2 1 393A ADL 的体系结构模型的组合验证方法一个复杂的系统需求需要对其进行分解并分配给不同的子系统, 体系结构的分解同时涉及到需求和体系结构, 体系结构的可能会影响需求分配给每一个子系统, 所以在分解的同时需要确定需求分配给子系统的架构能否满足系统级需求, 确定子系统架构的建立对系统环境是否有改变[ 3 4 ], A AD L 建模语言可以完成复杂系统的体系结构建模需求.3 . 1 基于AADL 的火箭发射控制子系统体系结构建模火箭发射系统是在用来控制火箭执行各项操作以及包含火箭自主执行的部分发射功能的系统, 控制从接收到发射的指令一直持续到火箭顺利离开发射装置. 经过简化的火箭发射系统的结构如图4 所示, 主要包括发控单元计算机、火箭供电机箱、供电控制组合、点火控制组合等组成, 本文主要介绍的火箭发射控制子系统在发控单元计算机中运行. 火箭发射控制子系统的功能主要是根据主控任务的控制命令, 进行相应的命令的执行, 是处于发控单元计算机中过程层的控制系统.图4 火箭发射系统结构图火箭发射控制系统的需求S R 为: 首先打开排气盖和箭舱盖, 执行火箭发射准备命令, 同时进行火箭加电控制, 然后解锁箭舱和安全机构, 最后执行火箭点火命令. 如果执行过程中出现故障, 则进行断电控制. 经过对系统的功能行为详细分析之后, 对系统需求进行分解, 可以得到以下子系统需求:( 1 ) 排气盖控制SR 1 . 收到排气盖开/关盖控制命令, 执行排气盖开/ 关盖控制, 如果排气盖状态查询正常, 回告发控系统排气盖开/ 关盖控制执行成功; 如果排气盖状态查询异常, 则回告发控系统排气盖故障.( 2 ) 箭舱盖控制SR2 . 收到火箭舱盖开/关盖控制命令, 执行箭舱盖开/关控制, 如果箭舱盖状态查询正常, 回告发射控制系统箭舱盖控制执行成功; 如果箭舱盖状态查询异常. 则回告发控系统箭舱盖故障.( 3 ) 火箭发射准备/ 取消控制S R 3 . 收到火箭发射准备/ 取消控制命令, 进行火箭发射准备/ 取消控制, 如果闭合级电路状态查洵正常, 回告发射控制系统火箭发射准备/ 取消控制执行成功; 如果闭合级电路状态查询异常, 则回告发控系统火箭发射准备/ 取消异常.( 4 ) 火箭加电控制SR 4 . 收到火箭加电命令, 如果加电自检正常则进行火箭加电控制, 回告发控系统火箭加电行成功; 如果加电自检异常, 则进行断电控制, 回告发射控制系统异常.其余子需求为: 箭舱解锁/ 锁定控制S R5 、热电池激活控制SR6 、安全机构解锁/恢复控制S R 7 、火箭点火控制SR8 、火箭断电控制S R 9 , 这里就不再赘述. 构造火箭发射控制系统的A A D L 模型如图5所示.图5 火箭发射控制子系统体系结构为了说明与火箭发射控制子系统的需求分解与体系结构分解的关系, 本文以火箭加电控制S R 4 为例说明对需求的进一步细化分解. 火箭加电控制由火箭加电1 控制SR 4 C 1 、火箭加电2 控制SR 4 C2 和火箭加电3 控制S R 4 C 3 三个子组件组成, 每一个加电控制是针对不同的电池组件进行控制, 火箭在进行加电控制时, 正常情况下是按照严格的加电顺序进行加电, 否则会回告加电错误. 下一层以火箭加电1 控制为例可以分解为火箭加电1 函数S R4C 1 H 1 、火箭自检结果查询函数SRC 1 H 3 和火箭类型识别码查询函数SR C 1 H 4 ; 这一层还能够进一步划分,以火箭自检结果查询函数为例可以划分为单步自检看门狗函数WDS E 、单步自检函数SS E 、连续自检看门狗函数WD SI 以及连续自检函数S SI. 此时对模型已经细化到了子程序层面, 其体系结构如图6 所示.2 1 4 0 计算机学报 2 0 2 0 年丨冬丨6 火箭发射控制子系统体系结构模型3 . 2 基于契约的需求形式化复杂安全关键软件的层次分解涉及到需求分解和体系结构模型, 在3 . 1 节中层次的构造其体系结构模型后, 如果对体系结构模型进行组合验证, 需要把系统各个层次的组件需求形式化为组件契约. 即抽象的外部可见行为, 本节主要介绍基于契约的需求形式化.由于自然语言需求描述不精确的问题. 把一个需求抽象为一个契约, 首先要明确其输入输出, 然后忽略其内部行为, 将组件抽象为黑盒, 最后明确组件的输入输出关系, 然后构造组件契约. 本节以火箭加电控制子系统的需求及其需求分解为例构造其契约.首先需要说明一个控制命令应该由火箭模式( 单步或连续) 、火箭状态( 正常态或训练态) 、操作命令、火箭码等数据组成,一个控制命令会由获取控制命令子程序进行分解. 然后返回具体命令到调用该子程序的组件中. 本文为了表达的简洁, 在叙述需求时不再对控制命令进行详细介绍.根据上节的介绍可以知道, 火箭加电控制的需求为S R4 , 其需求和体系结构分解为: 加电1 控制SR4 C1 、加电2 控制SR4C2 和加电3 控制SR 4C3 ,每个子系统应完成相应的加电控制. 而此需求描述实际上涵盖了子系统中组件的功能, 根据需求SR4其输入为: 火箭发射控制系统的加电命令. 输出为:加电命令的执行结果、是否发出断电令以及断电码.输人输出关系为: 输人正确的加电令且子系统反馈正常, 回告加电命令执行成功, 不发出断电令及断电码; 如果输人错误加电令或子系统反馈故障, 回告加电命令执行错误, 发出断电令以及断电码. 形式化为契约S R4 G 如图7 所示.g imra n t ee“ 根据火箭发射控制系统的命令. 进行相应的命令执行, 否则输出断电令以及断电码”:( che ck_ p o w er u p = >o u tp u t_i s_s u cc ess = t r ue a ndo u t p u t_ po w e r= fa l se a n d o u t p u t_p ower_of f=p ow er d o w n)o r( n o tc h ec k一 p o we r u p = 〉o u t p u t_i s 一su c c es s= fa l s e a n do u tp u t_ po w e r= tru e a n d o u t p u t一po we r_ o f f= p o we rd o wn ) ;图7 火箭加电控制组件契约SR4 G火箭加电1 控制的需求为S R4 C 1 , 同样的, 其耑求分解为: 火箭加电1 函数S R4 C 1 H 1 、火箭自检结果查询阐数SR 4  C 1 H 2 和火箭类型识别码杳询函数SR4C 1 H3 来具体完成, 其需求描述包含了子组件的行为. 根据需求SR4 C1 可以得到输人为: 火箭加电1 令( 单步) 或火箭准备令( 连续). 输出为: 加电1指令执行结果、已加电码、是否发出断电令以及断电码. 输人输出关系为: 输人火箭加电1 ( 单步) 或者火箭准备令( 连续) 且子系统反馈正常, 回告火箭加电1执行成功, 断电令及断电码不发出; 如果输入命令错误或子系统反馈故障, 则回告火箭加电1 执行层故障, 断电令发出且断电码为断电1. 形式化其需求SR4 C1 G 如图8 所示.g u ara n t ee“ 输人火箭加电1 令或者火箭准备令, 返回加电1 指令执行结果”:( c heck _ ou t pu t_ su c ces s = > o u tp u t_ i s_ su cc ess =t ru e ) or( n o tc h ec k_o u t p u t_s u c ces s=> o u t pu t_is_su cc es s=fa l se );g ua ra n te e“ 执行完成后反馈加电1 已加电”:( o u t p u t_ is_ s u c c es s=〉o u t p u t 4_ p o w er u p=e n um ( D a ta_T y p es :  ??p o we r u p_o n , p o w e r u p l ) ) o r( o utp u t_i s _su ccess=〉o u t p ut 4_ powe r u p=en um ( Dat a一Ty pes : :p ow e r u p_ o n,n ul l ) );g ua ra n t e e? ? 断电令是否发出”:( o u t p u t_ i s_s u cc ess = >o u t p u t_ pow e r = t r ue )o r (  n oto u t p u t 」s _s u c ces s=> o u t p u t_ p owe r=f a ls e );g ua r a n te e“ 断电令发出则为断电1 否则为断电令为n u l l”:i f o u t p u t_ po w e rt h e no u t p u t_ po we r_o ff=e n um(D ata 一Ty p e s : :p owe ru p_ do w n ,p ow e r dow n l )e l s eo u t p u t_ po we r_ o ff=e n um ( Dat a_Ty p es : : p ower u p一d o wn , nu l l );图8 火箭加电1 控制组件契约S R 4C 1 G根据耑求火箭加电1 函数的需求S R4C 1 H 1 得到其输人为: 加电1 指令( 单步) 或火箭准备令( 连续) ;输出为: 加电1 函数控制结果、回告系统的加电1 函数控制结果、训练态的加电1 控制结果. 输入输出关系为: 如果指令正确且满足发控表, 正常态下向自检函数发送加电1 控制成功, 回告发控系统加电1 控制已执行, 训练态下直接回告发控系统加电1 控制执行结果; 如果指令正确或者不满足发控表, 则向自检函数发送加电1 控制失败, 回告发控系统加电1控制故障. 形式化其需求S R 4 C 1 H 1 G 如图9 所示.张博林等:一种面向安全关键软件的1 1 期 AADL 模型 组合验证 方法 2 1 4 1gu a r a n t ee“ 指令是否是供电1 指令( 单步) 或加电命令( 连续) , 满足发控表则反馈执行成功”:( ch ec k_ p ow er u p l=> o u t p u t_i s_s u cce ss= tr ue )  o r  ( n otch e c k_ p o wer u p l =〉o u t p u t_ is_s u cce s s= f al s e );gu a ra n te e“回告系统加电1 函数结果”:o u t p u t一i s_ s u c ce s s—〉o u t p u t_ i s— s uc ce s s一sy st em ;gu a ra n te e“如果是训练态, 模拟返回加电1 结果”:che c k_t r ai n —〉o u t p u t_i s一t r a i n;图9 火箭加电1 函数组件契约S R4C 1 H 1 G吴似的将火箭加电控制1 控制的体系结构模型中各个组件的需求形式化为组件契约, 增加组件与组件之间的约束, 可以使用组合推理的方式完成对火箭加电1 控制子系统的体系结构进行验证, 证明其系统需求在该体系结构下得到满足.3 . 3 基于AGR EE 的体系结构模型验证根据上述方法, 构造火箭加电控制子系统的体系结构如图1 0 所示, 在火箭加电控制子系统中. 包含火箭加电1 控制、火箭加电2 控制、火箭加电3 控制三个子系统, 三个子系统结构相似, 针对不同的三个硬件供电模块而做出不同的加电控制, 同时回告火箭发射控制系统控制命令执行结果.模式状态加电令火箭码图1 0 火箭加电控制子系统的体系结构图火箭力卩电控制子系统A GRE Ec o un t rac t火箭加电3 控制火箭加电2控制1火箭加电1 控制AG REE c oun trac tSR 4C 1 H1 SR4 C1H2 SR4 C1 H3AG K K K co u n t r ac t?? 执行结果>断电信号? 断电令使用假设保证推理环境a g ree 对火箭加电控制子系统进行组合推理, 其结果图1 1 所示; 根据其组合验证结果, 可以得知, 火箭加电控制子系统的组合验证共涉及6 4 个组合推理, 其中系统级契约SR4 G 得到满足, 其子组件契约S R4 C 1 G、SR 4 C2 G 、SR4 C3G 以及其子组件契约等经过组合推理之后证明其正确性. 由此可知火箭加电控制子系统在该体系结构模型下的系统需求及其子需求都得到了满足.Pr o ble ms二 P r ope r t iesA A D L P r op e r ty V al u e s..P r ogr es s^A GR E E Re s u l t s :SC on s ol eP r oper tyResu l tvV e r i f i c a t io n f or  TopLevel Sys . i mp I 64Va l idv v Co nt ra ct G u ara n te es 2 Va l idvS u bc om po nen t Ass umpt i on s V al id(Os)福据火箭发射控制系统的命今, 进行招应的命令执行, 否則输出断电令以及断电码 V al id(Os)v Thi s c ompon e n t  co nsi s t en t 1 Va l idRo ck et_ powe rup1 co n siste nt1  Va lidRo c ket_pow e ru p2 co n s is t e n t 1  Va l id-  Roc k et_ pow erup3  co n sis t en t1 Va l idCo mpon ent c ompo s i t i on c on s i stent1  Val id▽ Veri ficat ionf o r R oc ket_ power up1 1 9Val idvv C on tra c t G ua ra nte es 5 Va l idS u bc o mpon e n t Ass umpt io ns V a l id(Os)_入火窮加电1 令或者火箭准备令. 返回加电1 指令执行^果 V a l id(Os)抗行完成后反懐加电1 已加电 Val id(Os)v 抗行宙误断电令发出 V al id(Os)新电令发出则为断电1 否则为断电令为nu l l V a l i d(Os)v Th i s c ompo n en tc on s is t e n t 1  Va l id.  Rodc e t_ powe rup 1_i npu t  co n s i s ten t 1  Va lidvS e lCe nte r c on siste nt1  Va l idc h ec k R oc k et c ons i ste nt1 Va l idv C o mpo n e n tco mposi tion c o n siste nt1  Va lid?y  V erif ic at i o nfor S el fCe nter 9 Vali d▽Ve ri fica tion fo r  Roc ke t_ powe rup2 1 9Va l idvv C on tr ac t G ua ra nt ee s 5 Va lidv  S u bc o mpo nen t Ass umpt io n s V a l id(Os)?翻较令或哲火雜龄, 返回S昵2 指括果 Va lid(Os)抗行反勵啦BOT电 V a l id (Os)V 拱行衝^ 电令发出 V a lid(Os) ̄断电今发出则为断电1 否则为断电令为n u l l V a l id(Os)T h i s co mpo n e n tc on s is t en t1  Va lid-■ R oc k e t po we rup l J n pu t  co n sis tent1  Va l idS e l fCe nter c on si ste nt1 Vali dc hec k_R oc k e t c on siste nt 1  Va l i d■ C ompo n e n tc ompos i ti onc o n s i s te nt1  Va l i dV e rific a tio nfor SelfCent er 9 Va l i d图1 1 火箭加电控制子系统体系结构模型组合验证结果类似的排气盖控制子系统的系统级需求为SR 1 , 可以分解为排气盖开关盖处理SR 1 H 1 和排气盖开关盖控制SR 1 H 2 , 其中S R 1 H 1 为: 判断是否是训练态, 如果为训练态则模拟回告排气盖控制系统排气盖控制结果; 如果为正常态, 则判断是否满足发射控制表, 满足则提取控制命令、火箭码然后执行排气盖控制命令, 回告火箭控制系统排气盖控制命令已执行. SR 1 H 2 为: 判断排气盖控制命令是否已执脊果执阁1 2 排气盖控制子系统的体系结构图证明其正确性. 由此可知排气盖控制子系统在该体系结构模咽下的系统级需求及其子需求都得到了满足. 通过这种方式可以完成对整个系统的体系结构模型的验证分析? 确保体系结构模型的正确性.行, 已执行则在l 〇s 内每隔1 0 0 ms 进行自检, 判断自检结果, 如果l 〇s 内自检回告正常, 则回告排气盖控制系统排气盖控制命令执行成功, 否则回告自检故障, 排气盖控制命令执行失败. 排气盖开关盖控制SR 1 H 2 可以划分为子组件排气盖自检看门狗和排气盖自检函数. 这里就不再赘述. 如图〗2 所示构造排气盖控制子系统的体系结构模型, 同时形式化其需求为契约.对其进行组合推理, 其组合推理结果如图1 3 所示. 根据其组合验证结果, 可以得知. 排气盖控制子系统的组合验证共涉及1 3 个组合推理, 其中系统级契约SR 1 G 得到满足, 其子组件契约SR 1 H 1 G 、S R4 H 2 G 以及其子组件契约等经过组合推理之后〇 Pr ob lems; P r ope rt i e sA A DL Pro p e rty Va lu e s. P ro gr e ss ^A G RE E Re su l ts 'Q D C onso l eP r oper t yvVeri fica t i on f or  Roc k e t Exh a u s t C ov er T op Le v e lS ysv?C on t r a c t G u ar a n tee s?v  S u bc om po ne n t Ass u mp ti on s, 输入火窮播气盖开关盖令, 返回排气盖幵关盖指令执行结果执行反離雜已开/缝^Th i sc o mpon e nt c ons i ste ntR oc k et_Exh a u stCo v er_i nput c on s i ste nt- S e lfC e n t e r c on si s t e ntCo m po ne nt co m pos i t io n c onsi st e ntv, Ve rifica ti on fo r S e l f Cen te rv 、Con t ra c tG uara n t eesS u bc o mpo n e nt Ass u mp tion s自錄正常, 正常则回告自碰雜織行5gl力,? 否则酷播脱行姚T hi s co m pon en t c o n s i s ten twat c h dogs equ e nc e c on sis te ntS elf Center l s e que n c e c on siste nt? C om po n e n t c om po si tion c on s i st e ntRe s ul t1 3 Va l i d3 Va l i dV a l id(O s)V al id(O s)V a l id (O s)1  Va l i d1  Va li d1  Vali d1  Va l i d6  Val id2  Va l idV alid(O s)V al id(Os)1  Va l id1  Val id1 Val id1  Va l id图1 3 排气盖控制子系统体系结构模型组合验证结果4基于U P PA A L 的单组件验证底层叶子组件被A G RE E 内部抽象其组件功能行为并默认如果其保证成立. 则其功能就是正确的, 所以这些组件的功能行为需要在A G R EE 验证环境外进行验证. 叶子组件的功能和行为由AA D L 模型中子程序及行为附件表达. 本节提出了A A D L2 U P PA A L 的模型转换的方法, 将叶子组件的模型转换到UP PA A L 模型, 然后使用叶子组件的需求构造其性质逻辑公式T C T L . 最后使用UP P A A L 进行验证分析, 证明叶子组件的功能行为的正确性.4. 1 形式化定义火箭发射控制子系统中大量使用子程序调用,因此, 这里给出行为附件和子程序形式化定义.定义1 . 行为附件BA = 〈S , S〇, V , G , A , T >,其中:( 1 ) S 为状态集合, 状态主要有i ni t i aK comp l e t e 、co mpo s i t e 等类型, 其中. ini ti al 表示行为附件的初始状态; compl e t e 为行为附件的完成状态; co mpo s i t e表示该状态可以是一个组合状态.( 2 ) S0 G S , 为初始状态.( 3 ) V 为局部变量,一般为行为附件使用的辅助变量.( 4 ) G ( G u ar d s ) 为状态转换条件, 针对状态变量的逻辑判断, 是否进行状态变迁.( 5 ) A ( A c t i o ns ) 为状态转换需要执行的动作,包括子程序调用( S u b C a l l ) 赋值、发送数据、计算、等待等.( 6 ) 7'= S X{ G , A}X S , 为状态变迁.定义2 .子程序组件S U =〈Pa rm , S OPrD a taA c cew , SM 6/> ro g'ram Ac ces s , <BA> , 其中:( 1 )Pa r vw= U PA i?M , O PA RM}, J PAi ?M为输人参数, 为输出参数, 参数只能够通过子程序调用进行输人, 并由子程序调用输出.( 2 )S OP r={ OE D P , 〇£P} , 子程序特征用参数来进行数据传递. 输出端口只包括输出事件端口和输出事件数据端口.( 3 )A c t■如指定了子程序可以访问的数据2 1 4 2 计算 机 学报 2 0 2 0 年式态制令码模状控命箭盖火排张博林等:一种面向安全关键软件的1 1 期 AADL 模型组合验证方法 2 1 4 3组件集合. 子程序的特征中用r e qui r e s 声明子程序能够访问的数据组件. 子程序的行为附件中可以描述何时对数据组件进行访问.( 4 ) SM6p ro g ra wA cc es s 指定了当前子程序能够访问的子程序组件的集合. 子程序在特征中用r equ i r es 声明子程序能够访问的子程序组件. 子程序的行为附件中可以描述何时对子程序组件进行访问.( 5 )是具体的子程序功能行为描述.UP PAAL 是基于时间自动机网络的模型检查环境, 下面给出时间自动机与时间自动机网络的形式化定义.定义3. 时间自动机.一个时间自动机TA 由可以定义为一个六元组TA=〈L , k , 2 , X , f:, J > ,其中:( 1 ) L 是时间自动机TA 中所有状态( 节点) 的非空集合.( 2 ) 1^ 6 1 , 是TA 中初始状态( 节点) 的集合.( 3 ) 2 是变量集合.( 4 ) X 是一个有穷的时钟集合, 而且默认从0开始, 每次自增1 ,且可以被置〇.( 5 ) 1 是一个状态集合L 到时钟集合的映射( 触发条件) , 记作少( X ) 表示L 中的每个状态S 都有一个属于步( X ) 的时钟约束.( 6 ) E GL X G X A c? X [/ X L 是自动机中所有状态变迁( 有向边) 的集合. G 表示一个约束条件( gua rd ) 的集合可以为空, 只有满足了约束条件才会发生状态变迁分别表示输入( 记为? )和输出(记为! ) 的同步信号, 构成了状态变迁的条件.1/ 是对时钟变量或者整型变量的更新( up da t e )操作, 在状态变迁进行的同时进行的赋值操作.定义4 . 时间自动机网络定义为一个四元组N TA=〈7T XY , Var ( ;, Cc , C/ i > , 其中:( 1 ) TW=〈TA。, 77^ ,…, TA? > 是一组相互平行并且相互关联的时间自动机.( 2 ) Var c 是全局( 共享) 变量的集合.( 3 ) Cc是全局时钟的集合.( 4) CA 是同步信道的集合.4. 2AA DL2 UP PAAL 模型转换规则整个转换包括子程序、行为附件、数据类型四个方面. 针对子程序及行为附件定义转换规则n ( A )=<TTSy , £>ed > , 其中表示对应A ADL 模型中子程序的转换后在时间自动机网络中时间自动机集合, Ded 表示声明的全局变量.( 1 ) 子程序组件到时间自动机的映射r .s [; ( s m6,. )=〈( 771.吃) , D ec Z > , 0 < / < |S t/|, 子程序组件单独映射到一个时间自动机, 该时间自动机主要表示的是子程序的执行状态变换. 通过转换规则rs[; : S U —〈 7VU , > 将子程序映射为时间自动机. r su ) 的转换对应的是S U— ( Parm , SOPt , Da taA cc e ss , Subp rogr amAcc ess ,BA )^( <L , L〇r S , X , E , I> , Dec l > .以下对转换到TA 集合和对应的转换规则做具体的说明.L={,tt ra i f i ng", a c i i va ti o ” } , 子程序在AA D L 模型中的执行语义是可以顺序执行的可调度单元, 所以其基本状态为等待( wa i t i ng ) 状态, 如果子程序被调用,之后会进入激活状态( a ct i vat i on ) , 执行完成后则会进人初始状态( pi vo t ) .初始状态为子程序初始化尚未调用的状态.2 = { ■ SMA S fa h ac f i tia f e } , 用于记录子程序执行状态的监控变量和是否被激活的监控变量.用于记录子程序的执行时间.E = { pi vo t^- wa i t ing ,wa i t in g-^- p i vo t , p iv ot^-a c f i v at i o n , ac f i ua f , G , A , L〇, 表7K 不同状态之间的变迁, 其中, G 表示状态变迁的守卫条件的集合, A 表示状态变迁同步通道的集合, 17 表示状态变迁更新操作的集合.} , 这里给出的不变量为调用该子程序的最大执行时间.D ec/ ={ fa rm , , daf a , Var , ? } , 将子程序在运行过程中使用的端口或数据声明为全局变量.子程序存在■St ^pr og ra mA c ce s s 表疋子程序在执行过程中会调用另一个子程序, 所以需要初始化调用的子程序, 则有:S ubp rogr am Acces s ( vS u h: S ubA-? *< TA S? M , Decl ) ) ,子程序的行为附件会调用BA 的转换规则映射到时间自动机中.( 2 ) 行为附件到时间自动机的映射行为附件的整体结构是一个非确定的层次状态机. 子程序在执行时, 会从输入端口读人数据或事件, 该子程序的行为附件在运行的过程中可以使用这些数据或事件执行计算或逻辑判断, 然后将执行结果返回给子程序的输出数据或事件端口.一个行为附件是对子程序的细化, 因此, 行为附件的转换是对子程序时间自动机的扩展. 通过转换规则: r B A: BA—〈TA _? d, Ded > 将行为附件映射到2 1 4 4 计算机学报 2 0 2 0年时间自动机. :T? A 的转换对应的是〈S , SO , V , G , A , T 〉—〈TA ,x ,e ? d ,>,其中, 由于行为组件的状态中的一个状态可以变迁到多个状态&eS , 所以在状态转换的时候并不能直接映射到时间自动机中, 但是T = S X {G , A} X S中包含的是一个完整的状态变迁, 所以可以不直接使用S 完成行为附件的状态变迁到时间自动机中的状态变迁的转换. 下面对具体的转换过程做说明:L_d={H^ U L , 将每一个状态变迁^: 映射成自动机变换的中间状态.附加后的自动机的初始状态不发生变换, 依旧为/^o r2? ,e nd = { BA伽化}U2 , 增加了用于记录行为状态变换的监控变量.用于记录子程序的执行时间, 不发生变换.^e x t e n d{ p l X JO t ̄Tj * T. ̄p iDO t i Ge x le mJ  ? ^e x t en d > ^e x t en d  }( 0 <〇_<|T|) , 首先对状态变迁进行扩展, BA 中每一个状态变迁T 都会转换为状态变迁r,— 同时将BA 的了中的G 和A 映射到〇? ,^ 和. 如果A 中含有子程序调用则将调用子程序状态机改为激活状态.) ={ c Z < co?j /) MZ e_ c? az <^i ”e } , 这里给出的不变量为子程序最大执行时间.{ V } , 将行为附件的变量映射为全局变量.上述映射规则通过图1 4 进行说明, 子程序的起始状态为状态, 根据状态监控变量进行状态变迁, 其中激活状态的下? ? 个状态应为行为附件的初始状态, 之后每一个行为附件的状态变迁TM? ?. 都会生成一个新的自动机中间状态节点, 行为附件的最终状态回到子程序自动机的激活状态, 完成整个子程序状态机的状态变迁.u s Or de rl:? r Ba s e_Ty pe3 : :!."ns i gae a_speci fi cat io n ;: H a s ? Ty pe s : :Ba s e T yp e s : : :图1 4 子程序模型转换( 3 ) 基本数据类型的映射A A D L 定义了三种基本数据类型: 整型、布尔类型、用户自定义数据类型. U P PA A L 中定义了基本数据类型整型、布尔型、数组类型、结构休数据类型等, 因此建立映射规则时对于整型和布尔型可以做直接映射, 对于用户自定义数据类型则分别映射为数组类型和结构体数据类型, 对应的映射关系如表4 所不.表4 数据类型映射关系AAD L 数据类型 UPP AAL 数据类型 描述I nt e g er In t 将i n t e g e r 映射为in tb o o l ea n b o o l 将b oo l ea n 映射为b oo l自定义数组 数组类型a r ra y将自定义数组映射为数组类型a r r a y自定义结构体 结构体数据s t r u c t将自定义结构体映射为结构体类型s tr u c t使用上述的模型转换方法, 可以将A A D L 子程序以及行为附件转换为U P PA A L 模型, 对组件的功能行为进行验证分析. 下面使用火箭加电1 函数组件为例说明U P PA A L 模型验证.4 . 3 基于UPPAAL 的AADM莫型组件功能行为验证根据3.2 节中火箭加电1 函数的需求S R4 C1 H 1 ,其功能行为由子程序、子程序调用以及行为附件具体实现. 构造其功能行为模型如图1 5 所示. 其中, s。为初始状态, 状态变迁力主要是判断其是否是加电1 命令或火箭准备令. 之后会调用获取发控参数表子程序, 如果不满足发控表进行状态变迁如果满足发控表则进行状态变迁, 在状态& 下判断是正常态还是训练态, 如果是正常态则是进行状态变迁s2 _ & _1 , 执行加电1 控制子程序, 执行提取控制命令和火箭码子程序, 并回告发射控制系统张博林等:一种面向安全关键软件的1 1 期 AADL 模型组合验证方法 2 1 45加电1 控制已执行; 如果为训练态, 则执行状态变迁s2 _ & _2 , 但是变迁后调用训练态子程序, 模拟返回加电1 控制结果.i n p ar amet eri n pa ram eterin  pa rameteri np ar a meter ini t ialrequ ire sd at a ac cessreq u i res d at a acces s 匸Sl -S25〇_SlsyvllS\—S3^f i n aly o utp ar amet er po r ttfou t pa ra meterp or tyou t pa ra met erp or t¥ req u ires su b p ro gr am acces s) r eq ui res su bp r ogra m ac cess) r eq ui res s u bpr og r am ac cess析组件的功能行为.例如验证性质:( 1 ) 无死锁性:A [ ]  [d ead l oc k .( 2 ) 可达性:E O (. BA S ta te_R o c k e t_Powe rOn l_in it== 3 ) .( 3 ) 功能正确性:E ( > { BA Sta t e_R oc k et_Po vuer On \_i n i t== 2 im pl yB A Sta t e_Ro ck et_Po vu erO n \_ i n it— = 3 ) a nd图1 5 火箭加电1 函数的功能行为模型示例 ( ac t i ve_T i ckGe t_i n i t—=1 ) .通过4 . 2 节的转换规则, 将其AADL 模型转换为UPPAA L 模型如图1 6 所示. 转换得到的UPPA AL模型包含了火箭加电1 函数自动机、获取发控表子程序自动机、匹配发控表子程序自动机、加电1 控制子程序自动机、提取信息子程序、信息回告子程序自动机等自动机构成的时间自动机网. 根据其行为附件以及子程序调用的组成的时间自动机网络, 可以对自动机的状态、自动机的行为以及变量进行验证, 从而分( 4 ) 安全性:A {^\( BA Sta te_R o ck e t_ Po we rOn l_i n i t== 2 im pl yBASt at e_R o ck et _P ovuerOn \_m i t! = 3 ) or(, a ct ive_ Ti ck Get_i ni t \ =1 ).使用TCT L 公式表达性质, 然后通过UPP AAL模型检测工具验证模型是否满足性质, 可以验证火箭发射控制子系统底层叶子组件的功能行为正确性, 系统其余的叶子组件的验证这里就不再赘述.- 公, 丨Hms fl CT*S ELSERD LE Rock etPo?e rO nl_ ini t _ma chi ne wa i t in g? S F RA ?E_PC_Ii s R£ a di-l_i n i te a c h i ng?S EL S HRD LE_FRA ME_P C_Hi sRead>-l_ i ni t_? achi n e_Ta i t i ng? S  LGJ _TO_Pl aiIn f o i n it ? a chi n e- a EL SERO LE_LCU_TD_Pl a tInfo_ini t.i S? dStar t _i ni t_?acl* ^  EL SEROLE_?dS t ar t.-一.-— chi n e ^jt a iti ng? S  LCO_TD_P〇Te rO nlC hk_i n i t_? a ch ine+ S EL S EROLE_L CD_TD_Po ?erO nl C hk_ i nit_i achi n e_*a i t i ng士?¥ T i c kGs t_i n i t_?a c hi ne? ^ ELS ERUL E_Tick Ge t _i ni t _? achi n e_T ai t in?t^  Tr i t s_ ini t_* a chi ne*SLC0_28 9ACh eck S u?_i n i t _ ? ?i ^ EL SERUL £_LClf_ 28 9AChe ck Sui _ i n i t_ ? * c h i ne _Ta i t i ng? S  l og Hs g_sr app ?r_i ni t_* a ch inefEL S ERUL E_ logK s g_Tr ap p? r_ i ni t_? a chine_vai t i ng* ^ F RA ME_P C_l li s C ?pC hk i n i t a a chi net S E L SERU LE_ FRA K E_P C_Mi sC* pC hk_ i ni t _? a chi n? _Ta i t i n g* S l o g M s g_ ini t _s ach i n ?* S E L SE RU L E_l og> s g_i n i t_? a ch i ne_*a i t i n g* 供型芦明: h me_t: 名字: i t_?ch i ne  爱舒:-f,* - T^h i n , 't: 0々,BASra i eR oc K e !_ Po we rprfi_m :t =  \ /_ ___^ R x fc i—oers u t3 stai e_Ro c t?t_Pow er 〇n ^_i n i t =a is.^Ktj ea^8 〇fiK ei .P ower〇ni_i n i f^P oss erO n-i_IT ! ? .l BJ <um =R 〇cKe t_F -: ' ve fOn?!_Po v? ef〇n '_in rt_? jte? lum =Roc J? l_Po ? (e fOo l jn i n图1 6 火箭加电1 函数转换得到的U PPA AL 模型5 工具实现及案例分析5 .  1 工具实现O SA T E 是开源的面向安全关键软件的A A DL模型建模工具环境, 在A A DL 模型驱动开发中广泛应用. 本文所开发的A A D L模型验证原型工具是以插件的形式集成到O SA T E 开发环境中, 以支持基于A G RE E 的体系结构模型组合验证和基于U P PA A L 的A AD L 模型组件功能行为验证, A A D L模型验证原型工具的整体框架图如图1 7 所示. 其中工具实现主要是U PP A A L 模型验证模块, A G R EE验证模块主耍是提供一个构造契约的窗口界面, 然后重用A G R EE 现有的能力, 以方便验证人员使用.2 1 4 6 计算 机 学报基于UPPAAL 的功能行为验证模块图1 7A AD L 模型验证原型工具的整体框架图基于A G RE E 的组合验证工具架构如图1 8 所示, 工具提供了需求描述功能, 在建模的同时书写表5 主要功能及其代码行数AA D L 模型验证原型工具功能执行功能 代码行数( 行)自动将选定的AAD L 模型转换到UP P AA L 模型J AV A : 5 3 0 0+AT L : 7 8 0 0+UP P A AL 验证界面 J AVA :9 0 0+A ADL2 UPP AAL自动转换修改U P PA AL 初始声明变量值 JA VA : 6 0 0+将界面中的验证性质导人到U PP A AL 中验证并返回验证结果到界面中J A VA : 8 0 0+A G R EE 验证AG RE E 验证界面 J A VA : 1 0 0 0+添加契约到A AD L 模型中 J A VA : 3 0 0+2 0 2 0年上该系统或组件的需求描述, 然后在工具中根据需求构造组件契约并导人到A A DL 模型中, 之后使用A G RE E 验证分析.基于UP PA A L 的A AD L 模型组件功能行为验证模块的功能为启动工具时通过右击需要转换的A A DL 文件, 之后A T L 转换引擎读人一个标准的A A DL 模型的XM L 文件( . a a x l 2 文件) , 该A A DL模型必须符合A A D L 元模型, A T L 转换引擎参照A A D L 元模型和U PPA A L 元模型, 根据编写的A A DL 2 U PP A A L 转换规则, 生成对应A T L 格式的U P PA A L 模型的X M L 文件, 由于AT L 引擎识别的XM L 文件格式与U P PA A L 运行的X M L 文件格式存在一些兼容性问题, 所以还需要对生成的XML 文件进行简单的后处理, 生成标准的UPPA A L模型文件, 然后打开验证窗口, 通过窗口输人验证使用的T C TL 公式可以跳过U P PAA L 工具直接将验证结果反馈到当前界面中. 该模块的架构如图1 9 所示. A A DL 模型验证原型工具的主要功能及其代码行数如表5 所示.图1 9 基于AGRE E 的体系结构模型组合验证模块架构图工具的主要特点是:( 1 ) 在建模方面, 开源建模环境O SA TE 建立在A AD L ATL JAVA; UPPAALiOSATE图1 8 基于U PP AA L 的A A DL 模型组件功能行为验证模块架构WXVSO张博林等:一种面向安全关键软件的A AD L 模型组合验证方法 2 1 4 72 5 002 0 001 5 00巻1 0 005 001 11 01 51540萬/图2 0 火箭发射控制系统验证结果折线图根据以上数据和图表可以得知, 使用本文提出的组合验证方法, 可以完成对一个复杂系统的验证,整个验证运行时间粗略统计约3 0m in . 实际上, 本文最初是想通过UP PA A L 对整个模型进行验证分析, 如折线图中的消耗时间增长最快的折线. 事实证明, 直接使用U P PA A L 对整个模型进行验证分析,单个功能性质可能需要耗费大量时间, 而且随着组件复杂度增加, 验证时间无法估计, 因为对于每一个验证性质都需要遍历所有的状态空间, 不可避免的面临状态空间爆炸问题.5 . 3 讨论在体系结构构造及需求形式化、体系结构模型组合验证和组件功能行为模型验证的过程中发现了一些错误和目前工程上的不足之处.( 1 ) 在体系结构构造及需求形式化方面, 首先发现了直接根据需求分解成子需求的结构去构造体系结构模型, 很容易导致体系结构模型的层次划分1 1 期E c l i ps e 平台上, 按照需求层次构建体系结构模型,支持以插件的形式实现A A D L 模型的验证和分析工具.( 2 ) 在模型转换方面, 本文采用了模型转换语言A T L 实现了A A DL 模型到U P PA A L 模型的自动转换, 并以插件的方式集成在开源建模环境O SA TE 上, 方便用户使用.( 3 ) 在性质验证和分析方面, UP PA A L 支持对可达性、安全性、功能正确性等性质验证从而完成对组件级需求的验证, 使用A G RE E 完成对系统级需求的验证.( 4 ) 在系统的应用方面, 在工业界项目的支持下, 本文对火箭发射控制子系统进行了建模和实例性验证.5 . 2 案例分析火箭发射系统是在从发射指令到火箭顺利离开发射装置期间, 控制火箭执行各项操作和火箭自动执行的发射控制功能的系统. 火箭发射控制系统的功能主要是根据主控任务的控制命令, 进行相应的命令的执行, 处于过程层的系统. 火箭发射控制子系统包括排气盖控制、箭舱盖控制、火箭发射准备/ 取消控制、火箭加电控制、箭舱解锁/锁定控制、热电池激活控制、安全机构解锁/恢复控制、火箭点火控制、火箭断电控制等功能. 通过对火箭发射控制系统进行体系结构建模, 完整的火箭发射控制系统的A A D L 模型的数据统计如表6 所示.表6 火箭发射控制系统的A A U L 模型的数据统计AAD L 模型( 行) 线程数量 子程序数量SR 1 1 8 0 0 + 4 1 4S R2 1 6 0 0 + 3 1 2S R3 1 6 0 0 + 4 1 1S R4 4 0 0 0 + 1 8 3 2S R5 2 0 0 0 + 6 1 3S R6 1 8 0 0 + 6 1 5S R7 1 9 0 0 + 6 1 5S R8 1 7 0 0 + 4 1 3SR 9 1 2 0 0 + 4 9火箭发射控制系统 1 7 6 0 0 + 5 5 1 34为了确保复杂系统火箭发射控制系统的正确性, 不仅需要对其体系结构模型进行验证, 确保其体系结构的正确性, 还需要对其组件功能行为进行验证, 确保其组件功能行为的正确性. 本文根据上述的组合验证方法, 在与工业界合作研究经过多次的验证分析修改后, 对火箭发射控制系统进行验证, 火箭发射控制系统的验证结果统计如表7 所示, 其折线图如图2 0 所示. 表中的体系结构模型验证时间, 是在A GR E E 工具下对于系统及子系统单次验证得到的; 表中的U PPA A L 验证时间, 因为UP PA A L 验证是在每个子系统下对多个叶子组件进行多次模型转换, 分别对多个叶子组件做验证, 所以是粗略的对多个验证时间统计得出, 有少许偏差但是并不影响结果.表7 火箭发射控制系统的验证结果统计契约数量体系结构模型验证时间/ sU PP AAL验证时间/ sSR 1 1 3 1 1 1 1 0SR 2 1 0 1 0 8 0SR3 1 2 1 2 90SR4 6 4 4 0 70 0SR5 1 5 1 5 1 4 0SR6 1 4 1 5 1 5 0SR7 1 4 1 0 1 4 0S R8 1 0 8 8 0S R9 7 3 3 0火箭发射控制系统 1 7 0 1 3 7 1 5 2 0703 0 00- X - 契约数量+ 仅仅使用…& UPP AA L验证时间-■ ■ 体系结构模型验证时间2 1 4 8 计 算 机 2 0 2 0年错误. 其次, 需求形式化过程中很明显地可以发现需求分解的过程中对各个子组件的输人输出描述不精确.( 2 ) 在体系结构模型组合验证方面, 错误一般都是由于错误的连接导致的. 虽然在经过严格的体系结构建模以及需求形式化以及将大部分的错误排除在外, 但是组件与组件之间的交互关系, 在需求分解的时候很容易被忽视, 因此在进行需求分解的同时, 顶层需求要不断的根据需求的分解清晰的表达各个子需求之间的交互关系, 从而在构件体系结构模型的时候才能保证模型能够满足其需求.( 3 ) 在组件功能行为模型验证方面, 错误一般出现在数据处理的问题上. 使用子程序和行为附件细化组件行为构造组件功能行为模型时, 涉及了大量的输出输人数据的处理, 当把输入的指令由子程序转换为相应的数据处理时, 往往会出现由数据处理导致的组件功能错误.( 4 ) 在整个验证过程中, 大多数的错误都是发生在功能行为模型验证中, 但是体系结构模型的错误一旦出现很难修复. 这是因为体系结构错误涉及是系统的整个结构, 错误出现后需要对整个体系结构进行调整, 体系结构模型的调整包括模型的组件划分、输人端口、输出端口以及组件交互等. 虽然体系结构的错误修复代价高, 但是相对于传统的验证方法, 在系统体系结构建模时期验证其正确性, 能够在整个系统开发的早期识别体系结构错误, 而不是在系统集成和系统测试阶段, 能够降低成本. 此外,通过组合验证与模型转换相结合的方式, 能够有效减少状态空间爆炸问题, 可以完成对复杂系统的验证分析.本文的提出的组合验证方法目前有如下局限性:( 1 ) 基于契约的需求形式化的过程中, 主要是通过手工进行的, 这样就导致了人为因素的错误加人到组件的约束中, 会对体系结构的验证加人不确定因素.( 2 ) 用于组合验证的A GR EE 工具有很多的局限性, 并不能全面地验证功能/非功能需求是否满足, 目前A GR E E 能够支持AA DL 同步子集模型,执行以确定的离散序列进行, 并不能支持对于A A DL 模型中的异步模型、事件数据端口和模型间的延时通信等. 在构建体系结构模型的时候, 很多情况是模拟组件的输人输出数据, A G REE 很难去支持复杂数据处理, 例如位运算、三角函数或者是非线性函数.学报( 3 ) 本文对叶子组件的需求进行了两次形式化, 第一次将组件需求形式化为契约为组件约束进行组合验证; 第二次是进行叶子组件的功能行为模型验证形式化为UP PAA L 的TCT L 公式. 两次的需求形式化工作实际上增加了很多的验证成本.但是上述局限性对火箭发射控制系统并没有很明显的影响, 因为数据处理由单独的子程序来完成,该系统很多情况下延时都由看门狗叶子组件实现,所以大多数需求都能得到验证. 现在也已经考虑从限定自然语言自动生成契约, 从而减少由人工导致的不确定因素.6 相关工作本文的相关工作主要包括两个方面: A A DL 模型到模型转换和组合验证.6 . 1 模型转换相关工作模型转换是对AADL 模型的验证与分析的一种重要手段, 有很多针对AADL 模型转换的研究, 例如转换到定时抽象状态机( T A SM ) 、B I P、FI A CRE、动作时序逻辑TL A+ 、同步语言S i gn a l 、S t a t e f u lTi m e dCS P 等目标语言, 但是都缺少对子程序调用的转换验证.Chk o ur i 等人提出了一种将A A DL 模型转换到BIP 模型的验证方法:1 2], 提出的转换规则主要是针对进程、线程、处理器等组件的执行模型, 但是在线程与线程间通信和A A D L 行为附件的转换不够全面.T OPCA SED 项目提出了一种将AA D L 模型转换到Fi a c e 模型的验证方法[ 1 3], 该研究主要关注的是线程和线程间通信的A A DL 模型子集. F i ac e 可以支持行为和时间描述的建模语言, 其建模的主要组件是进程和构件, 进程的一般描述是有输人输出端口的组件, 组件的行为使用的是状态和状态变迁表达, 在其模型中一个构件可以由多个进程组成. 主要的转换过程是将A AD L 的线程和线程间通信分别映射为进程和进程行为, 然后基于R a c e 可以对A A D L 线程的分发和调度进行验证分析.J ea n-Fr a ncoi s 提出将A ADL 模型转换到TLA +的验证方法[1 1], 提出的转换规则主要涉及到AALD模型中执行模型的端口通信、共享变量和模式变换,但是TL A + 的所依赖的模型检测工具TLC 验证能力不足?M a 等人提出了将AA DL 模型转换到同步语言张博林等:一种面向安全关键软件的AADL 模型组合验证方法 2 1 4 9 n 期S i ng al 的验证方法M, 提出的转换规则主要涉及线程执行、通信以及行为附件等, 还给出了系统组件和线程组件的形式语义, 其转换规则通过语义函数的方式给出.Nuz z o 提出了AA D L 模型到有状态定时CSP的转换规则[1 6]. 然后, 在P A T 中进行形式化验证,对AADL 模型的并发行为特性进行验证分析, 如安全性、活动性, 其中考虑了时间容量、截止日期、A A DL 线程的周期和A AD L 进程的持续时间.Ya n g 等人提出了A AD L 模型到T A SM 模型的转换规则[2 4]. 将A AD L 模型中的周期线程、数据端口通信、模式变换和AA D L 的行为附件转换为TASM 模型, 基于形式语义和元模型定义了转换规则, 实现了基于O SA TE 的A ADL 2 TA SM 的自动转换工具, 对模型的时间特性、可达性、活性等进行了验证分析.6. 2 组合验证相关工作组合验证作为一种可扩展的推理技术, 在复杂系统的验证方面已经引起人们的广泛关注. 基于组件的设计和基于契约的设计等方法正在作为统一的形式化组合规范出现. 通过严格的形式化方式来对系统中的不同抽象层次进行推理, 从而支持需求工程, 配合基于契约的组合验证理论, 可以检测早期集成出现的错误, 还能够进行全局系统验证, 检测组件之间的兼容性等能力. 组合验证在程序验证、面向对象编程、模型驱动开发、系统设计与开发等领域都有广泛的应用.在面向对象编程方面, Be rg man s 等人[ 2 5] 提出了Comp os i ti on - Fil t e r s 模型, 该模型将类似数据库的功能集成到面向对应的语言中, 对面向对象中的数据抽象、封装、消息传递和继承之类的对象功能统一集成, 然后将对象再分为接口对象和操作集两个部分, 接口对象负责根据外部消息, 判断需要执行的操作集. N i er s t r a s z 等人[2 6] 提出一种基于组合理论的设计模式, 通过这种设计模式可以构造各个组件与组件之间的关系, 在这种模式下的组件组合过程能够完成面向对象应用程序的开发. Li a ng 等人[2 7]提出将R GSi m ( Re l y-G ua ra n te e - b as e dS i mu l at io n )来验证并发程序的转换, 考虑了并行组合的线程间约束和线程运行环境约束下验证分析.在模型驱动开发方面, UM L 中采用的模型约束语言OC L[2 8 ] ( O bje c tCo n s t ra i nt l an g ua ge ) 可以为构件模型元素、行为建立各类功能/ 非功能约束,可以对UM L 模型进行验证分析. P ECOS 项目[2 9]的研究工作中, 在使用T ime dP e t r iN e t 描述组件的模型过程中, 通过对组件使用时间约束来表达组件对行为时间特性的描述, 然后在工具支持下进行时间特性的行为预测并且能够提供各种实时调度策略.组合验证在AADL 模型的验证分析中也有广泛的应用. BLES S 附件和工具[ 3 °] 支持使用状态机和简单命令式语言定义的组件级行为的推理, 它支持组件的不变量和组件行为的模型.Mu rug e sa n 等人[3 1] 从需求分解的角度分层构造组件的契约, 然后使用Si m uli n k 描述组件级行为, 从而验证系统的体系结构设计和需求是否正确. Ba c k es 等人[5] 使用AGR EE 对飞行控制系统模型实例进行分析, 模型中每个组件都用契约进行注释, 然后基于组件契约对系统级行为进行推理, 将验证扩展到处理大型系统, 从而验证整个系统.相比已有的研究,一方面采用了AG R EE 和U PP A AL 相结合的方式对工业界实际案例进行验证分析; 另一方面在和工业界合作研究过程中, 将工业界需要验证的实际需求和A G REE 组合验证能力反复对比和分析, 从而洞察出一些真正需要扩展的理论点.7 总结与展望首先, 本文提出了A ADL 体系结构模型的组合验证方法, 将系统各个层次的组件需求形式化为组件契约, 进一步验证系统体系结构的正确性. 其次,本文提出了A A DL 2 U PP AA L 的模型转换方法, 将AA D L 模型转换为U PP AA L 模型对体系结构模型的叶子组件的功能行为进行验证与分析. 最后, 基于开源建模环境OSA T E , 我们设计并实现了AADL模型验证原型工具, 采用了AG REE 和U PP AAL相结合的方式对工业界实际案例进行验证, 并通过对工业界实际案例分析了A A DL 组合验证工具的有效性和局限性.在未来工作中, 我们将进一步开展以下几个方面的研究工作:( 1 ) 在基于契约的需求形式化方面, 现在使用手工的方法将需求形式化为契约, 为验证工作增加了错误因素, 在以后的工作中, 考虑通过限定自然语言规范化需求, 然后将限定自然语言转换为契约约束组件, 从而保证契约构造的正确性, 减少人为因素.( 2 ) 由于A G RE E 只支持同步子集, 不支持异2 1 5 0 计算机学报 2 02 0 年步子集、事件数据端口、延时通信等A AD L 模型子集, 所以考虑进一步扩展A G REE 支持的模型子集,满足模型验证需求.( 3 ) 考虑到叶子组件需求经过两次形式化,一次形式化为契约, 另一次形式化为TCTL 路径公式, 所以未来工作会尝试将契约映射到UPP AA L验证中的TCT L 公式, 从而进一步方便验证人员的工作.参考文献[ 1 ]Ma r ti nsL E G , Go r sc h ek T .Re q u i reme nt s eng i n e e ri ngf o rsaf et 广cr iti cal s y st ems :O ve rv i ewan d c hal l eng es. IEEES of tw are ,2 0 1 7,  3 4 ( 4 ) : 4 9 - 5 7[ 2 ]Ri erso nL. De v elo pi ng Saf e ty-Criti ca l Sof t wa r e : APra ctic alGu i d e f o r Avi a tion So ft war e an d DO- 1 7 8 C comp li an ce. BocaR at o n: C RC Pre s s, 20 1 3[ 3 ]Fr a nz ag oM , Ru sci o D D ,Ma la v o lt aI , e t al .  Co l l a b o ra tiv emo d e l- d ri ve n so f t wa re eng i n ee ring; A cl a s s ifi ca ti o nfr a me?work a n d a res ear chma p. I EEETra nsa ctio ns o n Sof t wa reEngi n ee ri ng , 2 0 1 8 ,  4 4 ( 1 2 ) ; 1 1 4 6 - 1 1 7 5[4 ]Co b l ei gh  JM ,Gi ann ako p o u l o u D , Pa sa r ea nuC ,et al .Le arning a s s ump tio n sf o r com p o sitio na l v erific a ti o n/ / To o l san dAlg o ri thms  f or t h e Co ns tr u c ti o nan d Ana l y si s o f Syst ems .Be r li n , Ge rma ny : Spri nge r , 2 0 0 3[ 5 ]Co f er  D,G a ce kA ,Ba cke sJ ,e t al .A  fo rma l  ap p ro a ch t oco ns tr u c t i ng s ecu re a i rv eh ic l es o ft ware .Co mp ut e r? 2 0 1 8,5 1 ( 1 1 ) : 1 4 - 2 3[ 6 ]Ch e n H , W u N , S hao  Z , e t a l . T o wa r d c om p o si t i o n a l v e ri fi?ca ti on o fi n t er r u p tib l e OS ke rne l s and  d ev i c ed r i v ers . Jo u rn alof Au t oma t ed R e aso ni ng , 2 0 1 7 ,  5 1 ( 6 ) : 1 -4 9[ 7 ]Yang ZB , Lei P I, H u K , e t al .  AADL : An a rc hit e ct u red es i g n a n d  a n al y s i s l an g u age  fo r  comp l e x emb e dd ed r ea l- timesyst e ms. J o u r n a l o f Sof t wa r e ,2 0 1 0, 2 1 ( 5 ) : 8 9 9 - 9 1 5[ 8 ]Bert homi e u B ,Bod ev e i x JP , Chau d e tC ,et a l . Fo rm alverifi ca t io no f AA DLs p e ci f i ca ti o n si nt h eTOPC AS EDenvironm en t / / Pr o ce edi ngs o f t he I n t er na ti o na l Co n f e re n ce o nR el i a bl e Sof twa r e Tec hno l o gi e s . Br e st , Fr a nce ^  2 0 1 8 : 2 0 7-2 2 1[9]Cofer D, G ace k A ,Mille rS ? e t a l . Comp os iti o nal v e rific atio no f arc hitec tu ra l mo dels .Le ct u reNo t es inComp u te r Scien ce?2 0 1 2,7 2 2 6 : 1 2 6-1 4 0[ 1 0 ]Bac kes J ,Co f er  D ,Mil l erS ,e t a l . R eq u ire men t sa n a ly si s  o fa qu ad -r ed u nd a nt  fl ig h t co n t ro ls y ste m. Co mp u t e rS ci en ce,2 0 1 5,9 0 5 8 : 8 2- 9 6[ 1 1 ]Wh al e n MW ,G ac ek A , Co f er  D , et a l . Yo u r“Wh at”i sm y“Ho w”:I t er a ti on a ndh i era rc hyi n sy st e mde sign .I EEESo f twa re , 2 0 1 3 , 3 0 ( 2 ) : 5 4 -6 0[ 1 2 ]Chko u ri MY ,e ta l. Tra nsl at i ng AADL i nt o BI P- ap p l i cati o nt o t he v erif i ca ti o no f  r ea l- time  s y s t ems / / Pr o cee d i ng s o f t heI nt erna t io nalConf ere nce o nMo d e lD ri v en En gi ne eringLa ng u ag e s  and  Sy s te ms. Berli n , Germ an y , 2 0 0 8 : 5-1 9[ 1 3]Bo de v ei x J-P ,et a l. T owa rd s a v eri fi ed  t ra n s fo rma t io nf romAADL to t h ef o rmal comp o ne nt- b a se dl a ng u ag e FI ACRE.S ci en ce o f Comp u t er  Pr o g ra mmi ng ,  2 0 1 5 , 1 0 6 :  30-5 3[ 1 4 ]R ol l and J * B ode vei x J , Fil aliM , et al. Mo d es i n asyn chro no uss ys tem s/ / Pr oce ed in gs o f t he 1 3 t hIEEE I nte rnatio n al Co nf erenceo nEng i n e er ing ofCo mp l e x Compu t e rSy s t e ms( I CECCS2 0 0 8 ) . Be l f a st,UK , 2 0 0 8 : 2 8 2 -2 8 7[ 1 5]Ma Y ,T al p i nJ ,Ga u t i erT.Vi rt ua lp r o to t y p i ngAAD La rch i te ct ure si n apo l y c hro no u smo de lo fc o mp u t a ti o n/ /P roce ed i ngs oft he 20 0 86 t KACM/ IEEEI n t e rn a ti o n a lCo nf e r enc e o nFo rma lMet ho d s a nd Mo d el s f o r Co -De s i gn .Ana he im , USA , 2 0 0 8 :1 3 9-1 4 8[ 1 6]Fe ng Z ? Yo ngwa ng Z ? D i anf u M ? e t al. Fo rma l v e r i fi cat i o no f b e h av io ra l AA DLmo d e l sby st at e fu l t i me dCSP .IEEEA c ces s,2 0 1 7,5 : 2 7 4 2 1- 2 7 4 38[ 1 7 ]Be Krraa nn G >D av i d A,  Lar sen  KG.Atu t o ri a l o n UPP AAL/ / Fo rma l Met ho d sf o r th eD e s i gno f R ea l-Ti me Sy s tem s.Berli n , Germa ny :Sp ri ng er ,2 0 0 4[ 1 8 ]Z huX u e- Ya ng , T angZ hi- So ng.A te mp o ral l o gic - b as eds o f t ware arc hi t ect u r ed es crip ti o nl a ngu a g eXYZ / ADL.Jo u r nal o f Sof t ware , 2 0 0 3 , 1 4 ( 4 ):7 1 3- 7 2 0 ( i nCh i nes e)( 朱雪阳, 唐稚松. 基于时序逻辑的软件体系结构描述语言X YZ / ADL. 软件学报, 2 0 0 3, 1 4 ( 4 ) :7 13 - 7 20 )[ 1 9 ]Z han Hao l an * e t al .U nifie d g r aphi cal c o-mo d el li n go f cy b er?p hy s i ca ls ys t ems u sin gAAD La ndSimu lin k/ St at e flow/ /Pro ce ed ing s o ft he In te rna t i ona l Symp o s i um o nUnif y ingT heo r i es of P ro gra mm i ng. Be r l i n , Germa ny , 2 0 1 9 : 1 0 9 - 12 9[ 2 0]W ang  F , Ya ngZ , Hua ng Z , e ta l. Appro a ch fo r ge ne rat i ngAADL mo d el  b as ed on restricte d n at ur al l ang uage  r eq ui remen tt emp l a te . J o u rna l o f S of t wa re ,  2 0 1 8 *  2 9 ( 8 ) : 2 3 5 0 - 2 3 7 0[ 2 1 ]Dimo v ski AS *W^sowski A.F r omt ra nsitio nsy s te mst ov a riab i l ity mo d e l s a ndf roml i ft e d mo d el ch e ckin g ba ckt oUPPAAL/ / Mo dels?Algo ri th ms, Lo gi cs an dTo o l s. Be rl in,Germa ny :  Sp ri ng e r ,  20 1 7[ 2 2 ]Hammond J , R awlingsR ,H al l A.Wil l I t Wo r k?/ /P r cxe edi ngso f t he  5 th I EEE In t er na t io nal S ymp o si um o nR eq u i r eme nt sEngi n eeri n g ( RE 20 0 1 ) .To r o nt o ,Ca n a da,20 0 1 - 1 0 2-1 0 9[ 2 3 ]K ha nY ,Ha ss i ne J.Mu t a t i o no p era t o r sfo rt hea t la st r a ns fo r mat i o n l a n g u a g e/ / Pr o ce ed i ngso f  t he 2 0 1 3 I EEE6 t hI nt erna t i on a lCo n fe r en ceo n So ft wa re T esti n g , Ve r ifi ca ti o na n dVa lid a tionW o r ksh op s .L u xem bo u r g * 2 0 1 3 : 4 3-5 2[2 4 ]Y ang Z ? Hu K , Ma D ?  et a l . From AADL to  time d a b s tra cts t a t e mac h i n e s : A ve ri f i ed mo d e l t ran sf o rmat i on. Jo u rn al o fSy s t ems a nd Sof t wa r e, 2 0 1 4,  9 3 C 2 ) : 4 2 - 6 8[ 2 5 ]Ak§ i tM ,Be r gma nsL ,Vu r a lS.Ano bj ec t- ori en te dl a ngu a ge- da ta b a se i n t egr a ti o nmo de l: T he compo siti o n-fil t e rsa p pro ac h/ / Pro ceed i n gso ft he Eu ro p e an Co nf ere nc eo nObj e ct-Orie nt ed  Pr o g ra mming .Be rl i n,Ge rmany , 1 9 92  j 3 72 -3 9 5[ 2 6 ]N i er st ras zO , Meijl e r TD . R es ea rch di r ec tio ns i n so ft w a recomp o sitio n .AC M Comp u t i ng Su rv eys , 1 99 5 , 2 7 ( 2 ) :  2 62-2 6 4[2 7]Li a ngH o ngji n , Fen gX i ny u , FuMi n g.Re ly-g u ar ant ee -b a sed s imu l at i o n f or comp o si t i o na l v e ri f ic at i o no f co ncu r r en t张博林等:一种面向安全关键软件的1 1 期 AADL 模型 组 合验证方法 2 1 5 1p r og r am t r an s fo rma ti o n s .ACMTr a nsa cti on so n P r og r ammi n gL an g u ag es ^* S ys t ems , 3 6 ( 1 ) : 1- 5 5[ 2 8 ]B u r g u e n o L , G o gol l aM. Fo rma l l y mo de l i n g ,  exe cu ti n g ,  andt e s t i ng se r v i ce - o ri en t ed sy s te msw i t hUMLa n d OC L//P ro ceedi n g so f t he I nt er n a t i on a l Co n f er enc eo n Ser vic e- Ori en t edComp u t i ng . Be r l i n , G e rma n y , 2 0 1 7 : 1 1 3-1 2 2[ 2 9 ]N i e r s t r a sz0 , et a l.A c omp o n en tmod e l  fo r  fi e l d d e vic es / /P r o ce ed i n gso f t h eI n t e r n ati o n a lW or k i n gCo n f er en c eo nCom po ne n t De p l o ym en t . Be rli n ,G e rma n y , 20 0 2 :2 0 0 -2 0 9[3 0 ] La rso n B  R ? Cha li nP .H at cl i ff J . BL ESS: Fo rma l sp eci f ica t i o na n d v erifica tio n o fb e h avio r sfo r em bed d ed sy stem swit h so ft wa r e/ / N AS AFo r ma l Me t h o d sS y mp o s i um . Be r l i n . G er ma n y ,2 0 1 3 : 2 7 6- 2 9 0[3 1 ] Mu r u g es an A , Wh a l e n MW . Ra y a d u r g a mS , e t a l .Com po?sitio n al v e r ific a tio n o f a medic al  d evic esy st em. ACMSI G Ad aAd a L et t er s ,2 0 1 3 ,  33 ( 3 ) : 5 1-6 4ZHAN GBo -Li n,M. S. Hi s re se arc hi n t e re s t si n c l u defo rma lv e ri f i c a t i o n ?so f t wa r e e ng i n e e r i ng .Y AN GZh i- B i n ,Ph . D. ,as s o ci a t ep ro f e ss o r.H i sr es e a r ch i n t e r e s t sin c l u de s a f e t y- c ri t i c a ls o f t wa r e,f o rma lve r i f i c a t i on.ZHO U Yo ng .P h. D. , a ss oc i a t e p rof e s s or .Hi s  re s e a rc hi nt e re s t s i n cl u d e s of t w a r e e n gi ne e r i ng , fo r mal me t h od s.MA Y a n- Y a n .M . S .He r re s e a r c h i n t e r es t s i n cl u d efo rmal v e r i f i c a t i o n ,s of t w a re e ng i ne e r i n g.HUAN G Zh i-Q i u, Ph . D. , p rof es so r.H i sr es ea rc hi n t ere st si ncl u de s o ft wa re e n g i n ee r i ng ,fo rm a l me t h od s .XUELe i , M . S.? s en i or eng i ne e r. H i s re s e a rc h i n t er es t si nc l u de  em b e d de ds of t wa r e ve ri f i ca t i on,emb ed d eds o f t wa r esy st em d e s i g n.B a ck gro u n dTh e  f orma l ve ri f i c a t i o n of  t he A A DL mo de l o f c om pl exs a f e t y-c r i t i c al  sof t wa re i s ver yc hal le ng i ng. E xi st i ngv eri fi c a t io nme t h od s of t e n di re c tl y ve r i f yt h e“f la t t e n i n g” e n ti re mo del.I n t h i sw a y ,t h e  ve ri f i c a t i o n o f c omp l e xs y st em s of t e n f a ce st h e p r o bl em o f s t a t e s pa c e  e xp l o s i on .Ba s e do nt h e e x i s t i ngr es e a rc h wo rk ,t hi spa p e r propo se s a  c ompos i t i o na l ve r i f i ca t i o nme t h od ,wh i c hc o mbi ne s t h ec ompos i t i on a l ve r i f i c a t i o n o f t heAADLa rc hi te ct uremo de l a ndt h ef unc t i ona l b eha v io rv eri f ic a t i ono fUP PA AL- ba s e dlea fc ompon e nt s.Th i sc omp os i t i on alv e ri f i c a t i o nme t h od no t on l yre d uc e s t he  pro b lemof st a t espac e e xp los i o n, b u t a ls ov er i f i e st h ec or r e ct n e ss of t he s ys t ema r c hi t e ct u r e a nd t h e f u n c ti o na lb e ha v i o ro f t h eu nd e rl yi ngc omp o ne n t s ,a ndco mp le t e s t he v e r i fi c a t io no f t h ee n t i r ec omp le xA A DLmo d e l .T he re se a rc hi nt h epa pe r i s a pa r to f t h eN a t i o na lN a t u r a lS c i e n c eF o u nd a t i o no fC h i na(6 1 5 02 2 3 1  ) ,t h eNa t i o n a l Ke yR e s ea rc ha ndDe v e lop me n tP ro g r amo f C h i n a( 2 0 1 6 YF B 1 0 0 0 8 0 2 ) ,t h eN a t i o na lDe f e ns e Ba s i c Sci e nt i f i cR e se a r c hP r oj e c t( J C KY 2 0 1 6 2 0 3 B0 1 1 ) ,t h e A v i a t i o n S c i e nc eF u nd of C h i n a( 2 0 1 9 1 9 0 5 2 00 2 ) , a ndt h eF o u n d a t i ono fG ra d u a t e I nn ov a t i o nC e nt e r i n N UA A( K FJJ 2 0 1 8 1 6 0 3 ) .

[返回]
上一篇:地铁车辆制动管路动应力分析及结构优化_谢晨希
下一篇:一种大规模双网络中k_连通Truss子图发现算法_李源