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

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

 第43 第1 2020 年11 月计 算机 学 报CHINESEJOURNALOFCOMPUTERSVol.43No.1 1Nov.2020一种面向安全关键软件的AADL模型组合验证方法张博林u杨志斌u’ 2>周 勇u马燕燕n黄志球^薛 垄3>南京航空航天大学计算机科学与技术学院 南京 211 106)2>(高安全系统软件开发与验证技术工信部重点实验室 南京 211106〉3 )(上海航天电子技术研究所 上海 201109)摘 要 安全关键软件变得越来越复杂, 这类软件的形式化验证是一个具有挑战性的问题. 本文针对火箭发射控制子系统实例, 提出一种组合验证方法, 该方法采用组合验证与模型转换相结合的方法完成对该系统的验证与分析. 首先, 使用体系结构分析与设计语言AADL对火箭发射控制子系统进行层次化构造系统的体系结构模型, 将系统各个层次的组件需求形式化为组件契约, 然后通过组合验证确保系统体系结构的正确性; 其次, 提出了AADL2UPPAAL的模型转换方法, 然后基于UPPAAL对该模型中组件的功能行为进行验证与分析, 确保组件的功能行为的正确性; 最后, 实现了AADL模型验证原型工具, 支持基于AGREE的体系结构模型的组合验证和支持基于UPPAAL的组件功能行为验证, 通过对火箭发射控制子系统案例的验证和分析表明本文所提方法的有效性与局限性.关键词 安全关键软件; 火箭发射控制子系统; 组合验证; AADL;UPPAAL中图法分类号TP311DOI号10.1 1897/SP.J.1016. 2020.021 34ACompositionalVerificationMethodforAADLModelsofSafety-CriticalSoftwareZHANGBo-Li n1 1YANGZH-Bin1 ,2)ZHOUYong1 *MAYan-YanuHUANGZhi-Qiu1 K2)XUELei3>l )i College ofComputerSci enceandTechnologytNanjingUniversi tyofAeronauti csandAstronauti cstNanjing211106)(. KeyLaboratoryofSoftwareDevelopmentandVerificationTechnology Mi nistryofIndustryandInformationTechnologyforHi ghSecuri tySystems, Nanjing210093){ShanghaiAerospaceElectronicTechnologyInstitute9Shanghai201109 )AbstractThecomplexityofsafety-criticalsoftwarehasbeenhigherandhigherwiththedevelopmentofrequirementspecificati on.Therefore,i ti saseriouschallengetoveri fywhetherthesecomplexsystemssatisfyexpectedpropertiesornot.Accordi ngtotheexampleoftherocketlaunchcontrolsubsystem,thi spaperproposesacombi nationofcompositionalverificationandmodelchecki ngtocompletetheveri ficationandanalysisofthesystem.First,Archi tectureAnalysisandDesignLanguage(AADL)isusedtohierarchicallyconstructthearchitecturemodeloftherocketlaunchcontrolsubsystem,andthecomponentrequirementsofeachlevelofthesystemareformalizedbycontracttheory, andthenthecorrectnessofthesystemarchitecturei sverifiedthroughcompositionalverification.Secondly,thefunctionalbehaviorofthecomponentsi nthemodelareveri fiedbasedonUPPAALtoensurethecorrectnessofComponentbehaviors;Fi nally,theAADLmodelverificationprototypetoolisimplementedtosupportthecompositionalverificationofAGREE-basedarchitecture收稿日期..2019-12-24; 在线发布日期:2020 ̄04-16. 本课题得到国家自然科学基金(61502231) 、国家重点研发计划(2016YFB1000802) 、GF基础科研重点项目(JCKY2016203B0U) 、航空科学基金(201919052002)、南京航空航天大学研究生创新基地( 实验室)开放基金(KFJJ20181603 ) 资助. 张傅林, 硕士研究生, 中国计算机学会(CCF) 学生会员, 研究方向为形式化验证、 软件工程等. E-mail :ml8756801996@163. com. 杨志斌(通信作者), 博士, 副教授, 中国计算机学会(CCF)会员, 研究方向为安全关键软件、 形式化验钲等.E-mail :yangzhibinl68@163. com. 周 勇, 博士, 副教授, 中国计算机学会(CCF>会员, 研究方向为软件工程、形式化方法等? 马燕蒸, 硕士研究生, 中国计算机学会(CCF)学生会员, 研究方向为形式化验证、软件工程等. 黄志球, 博士, 教授, 中国计箅机学会(CCF)理事, 研究领域为软件工程、形式化方法. 薛 垒, 硕士, 髙级工程师, 研究方向为嵌人式软件验证、嵌人式软件系统设计.11 期张博林等:一种面向安全关键软件的AADL模型组合验证方法2135modelsandUPPAAL-basedcomponentfunctional behavi orveri fication,therocketlaunchcontrolsubsystemcasei susedtoshowtheeffecti venessandli mitationsoftheproposedmethodaredemonstrated.Keywordssafety-criticalsoftware;rocketlaunchcontrolsystem;compositionalveri fication;AADL;UPPAALi 引 言安全关键软件(Safety-CriticalSoftware)[1]在航天、航空、交通等领域的安全软件系统中有广泛应用, 且Jr 有高安全性的、 高可靠性的、 交互频繁的、资源受限的、实时响应的特征的软件. 安全关键软件一般为安全关键系统的关键部分, 可能引起或者增加不安全的情况, 这样的软件被认为是安全关键的[2].近年来, 基于模型驱动开发方法M开发和设计安全关键软件越来越得到重视. 随着功能和非功能的需求的不断提高, 安全关键软件变得越来越复杂,安全关键软件的模型形式化验证面临着巨大的状态空间爆炸问题. 现在, 基于契约的组合验证方法[4 6]成为安全关键软件领域解决验证状态空间爆炸问题的国际前沿热点. 其核心思想是利用软件系统的组合结构对验证问题进行分解, 先验证各个子组件的性质, 然后组合推理导出整个系统的性质, 通过分而治之解决状态空间爆炸问题, 这些性质用契约来形式化规约. 该方法的三个关键要素包括软件架构、 契约以及组合推理规则.基于契约的组合验证方法在程序语言、模型检测、模型驱动工程、嵌入式系统等领域都得到广泛的研究. 我们的研究是将组合验证引人到安全关键软件领域. 体系结构设计与分析语言AADL[7 8](Archi tectureAnalysisandDesignLanguage) 是由美国汽车工程师协会提出的面向安全关键系统的一种建模语言标准, 丰富的可表达方式使得AADL成为安全关键软件设计与验证方法的一种重要选择,安全关键软件的AADL体系结构模型组合验证方法已成为一个重要研究内容. 美国Rockwell Col li ns公司和Mi nnesota大学在DARPAMETAProgram项目的支持下, 提出了AADL架构模型组合验证方法和环境AGREE?9-11] (AssumeGuaranteeReasoningEnvironment) , 并给出了AADL扩展附件AGREEAnnex. 使用AADL构造系统的体系结构模型, 使用AGREEannex构造各个组件的契约, 然后基于AGREE进行组合推理, 将基于契约的组合验证方法引人到安全关键软件领域.但是, 验证在体系结构中一层一层执行, 底层叶子组件契约被组合验证内部抽象其组件行为并默认是正确的, 所以这些组件的功能行为需要在组合验证环境外进行验证. 模型转换是AADL模型形式化验证和分析的主要途径, 如转换到BIP[1 2](BehaviorInteractionPriority)、FIACRS13]、TLA+[14]、Signal^1 5]、 StatefulTi medCSP[1 6]( Cyber-PhysicalSystems)等, 模型转换后可以重用这些模型已有的验证和分析能力. 然而, UPPAAL[1 7 18]、 Si mUl i nk[l 9]等验证和分析工具在工业界已有较多使用, 这些工具常用于验证单组件的行为是否满足期望的性质即组件契约, 而组合验证环境则可以进一步基于组件契约进行整个系统的组合推理. 因此, 组合验证环境和工业界已经常用的验证和分析工具的集成是工业界的一个应用需求. 因此, 我们考虑组合验证方法AGREE和UPPAAL的结合, 并对工业界实际案例进行验证和分析.本文在已有研究工作的基础上提出了一种组合验证方法, 该方法包括AADL体系结构模型的组合验证和基于UPPAAL的组件的功能行为验证. 首先, 根据需求分解构造系统的体系结构模型, 根据需求构造组件契约, 基于组件契约对系统的体系结构进行推理, 从而验证复杂系统的体系结构. 然后对组合验证中的叶子组件的功能行为模型进行模型转换, 完成了AADL模型子集到UPPAAL模型的转换, 主要是针对AADL子程序和行为附件的转换,然后重用UPPAAL的验证能力, 对模型的功能正确性、可达性、安全性等性质进行验证分析, 确保底层叶子组件的功能行为正确性. 通过这种组合验证与模型转换相结合的组合验证方法完成了对整个复杂AADL模型的验证与分析.本文是MACAerospace 项目[2。]关于AADL模2136计 算机 学 报2020 年型验证的一部分工作. MACAerospace 项目是一个基于AADL的建模、 验证和代码生成研究项目. 该项目提出了一种基于限定自然语言RNLCRestrictedNaturalLanguage) 的需求建模方法, 从RNL需求自动生成AADL模型; 然后对AADL模型精化补充其平台相关信息得到平台执行模型; 之后通过形式化验证方法完成对平台执行模型的验证与分析并将验证结果反馈给AADL模型, 实现AADL模型的迭代更新; 最后对验证后的模型进行目标C/Ada代码自动生成. MACAerospace 项因的总体结构如图1 所示, 本文的工作是形式化验证部分.图1 MACAerospace项目总体结构2 研究背景2. 1AADL语言基本概念在安全关键软件的应用中, 清晰地表达系统的各个组成部分的结构关系十分的重要. AADL语言是可以描述软件体系结构、 硬件体系结构、 功能和非功能属性的建模语言. 在软件体系结构上通过线程、 线程组、 进程、 子程序、 子程序组等组件以及组件交互进行描述; 在硬件体系结构上通过处理器、虚拟处理器、 总线、 虚拟总线等组件以及组件交互进行描述; 功能和非功能属性通过分发协议、通信协议、 调度策略、 模式变换协议以及分区机制等属性进行描述; 最后, 通过系统构件的组合, 能够层次化地建立起系统的体系结构模型. 除此之外, AADL还提供了行为附件( behaviorannex) 增强了对组件的功能行为的描述, 通过行为附件的执行模型能够更加详细地描述线程和子程序的功能行为模型.为了方便后续内容中阐述AADL组合验证原理, 这里我们给出一个简单的AADL模型示例如表1 所示, 即一个AADL系统topl evel , 它的子构件包括A、 B和C, 子构件之间的链接为即时通信方式(immediate).表1AAUL模型示例packageInteger一ToypublicwithBase_Types;systemAfeaturesI nput_A:i ndat aportBase_TypesIIInt eger;Output一A:outdataportBase_Types: ;Integer;endA;systemBfeat uresI nput_B:indataportBase一Types: :Integer;?utput_B: outdat aportBase_Types: :Int eger;endB;systemCfeat uresInputl_C:indat aportBase一Types : : Integer;I nput2_C:indat aportBase_Types: :I nteger;Output:outdat aport Base_TypesXI nteger;endC?systemt op_levelfeat uresI nput一S: indat aportBase一Types: : I nteger;Output一S:outdataportBase_Types: : I nt eger;endt op一level;systemimplement ationt op_level.  ImplsubcomponentsA一sub:syst emA;B_sub:syst emB;C_sub: syst emC;connectionsI N_TO_A:port I nput一S—〉A一sub. I nput一A{ Communicati on一Properti es: :Ti ming=〉immediate; } ;A_TO_B:portA_sub. Output_A—〉B_sub.Input_B{ Communi cat i on一Propert i es: :Ti mi ng=〉immediate; } ;A_TO_C: portA_sub.()utput_A—] >C_sub.Inputl_C{ Communication_Properties: :丁i ming=〉immediat e; } ;B一TO_C:portB_su b. 〇utput一B—〉C_sub. I nput2_C{ Communicat i on_Propert ies:: Ti ming=〉immediate; } ;C_TO_Output:portC_sub. Output_C—>0utput_S{ Communication_Properti es! Ti mi ng=>immediate; } ;endt op_level.Impl ;endI nt eger_Toy;2. 2 组合验证概述为了验证一个系统满足其需求, Hammond 提出了满意度论证的概念[2 2:, 即通过系统行为的规范和对系统的假设来建立系统需求. 为了形式化满意度参数, 基于契约的组合验证方法提供了一种机制,张博林等:一种面向安全关键软件的AADL模型组合验证方法 2137通过对其组件信息的抽象, 从而推导系统级需求是否被满足. 组合验证中组件契约描述如下:C〇ntraCt=( Assume,Guarantee) , 其中Assume为组件契约的假设部分, 描述组件对其运行环境的需求, 可以是验证过程中的组件输人的断言或者是不变量; Guarantee为组件契约的保证部分, 描述当组件的假设部分被满足时, 组件必须保证的外部行为特征, 即是否满足需求. 契约精确地指定了组件与系统其它部分的交互所需要的信息, 还支持按照系统模型的层次结构对验证部分进行层次分解.在表1 案例的基础上, 我们给出如下系统验证需求:toplevelsystem输人小于10 时, 输出应小于50; 子组件A输人小于20 时, 输出应小于二倍的输人; 子组件B输入小于20 时. 输出应小于输人值与15 之和; 子组件C输出应小于子系统A和子系统B输人数据之和. 根据需求建立组件契约及证明过程如图2 所示. 表1 只简单给出了两层结构, 但可以任意多个层次. 从而推广到更复杂的系统验证中.表2AGREEannex 示例①c°Aa: Input <20Ga: (Xitput <2*Input-??B?—Ac: noneGA:Output=Input 1 + Input21A?:I nput <20Ga:Output<Input +1 5As:I nput <10JGs: ()utput <5〇!|图2 组合验证案例假设保证推理环境AGREE是集成在开源工具fplaOSATE(OpenSourceAADLToolEnvi ronment)上的AADL模型的组合验证工具, 并发布了AADL组合验证附件AGREEannex用于构造组件契约.在AGREE框架下, AADL模型使用AGREEannex构造的契约表示组件的功能, 在对系统的分层设计过程中,当前层的需求在设计下一层组件的时候成为下一层各个组件的需求, 从而下一层组件必须满足当前层的需求, 然后由各个层次不同组件的需求构造相应的组件契约, 最后通过组合推理的方法证明这个系统体系结构的正确性. 表1 的系统验证需求对应的AADLAGREEannex表示如表2 所示?使用AGREE可以完成对该模型的验证分析, 确认其需求得到满足.AGREEannex具体语法可参见手册①■packageI nteger_Toypubli cwit hBase一Types;system八feat uresInput: indataport Base一Types; ! I nt eger;Ou tput:outdat aportBase一Types: :I nteger;annexagree{**assume“Ai nputrange”:I nput <20;guarant ee“Aoutputrange”:Output <C2* I nput;**} ;endA;systemBfeat uresI nput: indataportBase一Types: :Integer;Output: outdataportBase一Types: :I nteger;annexagree{**assume“Bi nputrange”: I nput <20;guarantee* *Boutputrangew :Output<CInput-f1 5;* *} ;endB;systemCfeat uresI nput  1: indataportBase一Types: : Integer;Input2 : indat aportBase一Types: : Int eger;Output:outdataportBase_Types*II nteger;annexagree{**guarantee“Coutputrange”:Output:I nputl+Input2 ;**;:endC;systemt op_levelfeat uresI nput:indat aportBase_Types! ;I nteger;Output:outdataportBase_TypesI;I nteger;annexagree{**assume“Systemi nputrange”: I nput <=9 ;guarantee''Systemoutputrange* *:Output  <C50;**} ;endtop_level ;systemimplementationtop_l evel.I mplsubcomponentsA_sub: systemA;B_suh: syst emB;C_sub:syst emC;connectionsI N_TO_A:port Input—〉A_sub. I nput{ Commu ni cation_Properties: : Ti mi ng=〉immediate ; } ;A_TO一B:portA_sub. Output—〉B_sub. I nput{ Communi cation一Properties: :Ti mi ng=〉i mmedi ate; } ;A_TO_C:portA_sub. Output—>C_sub. I nput l{ Communication_Properties: :Ti mi ng=〉immediate ;B一TO_C:portB一sub. Output—〉C_sub. I nput 2{ Communication_Properti es: : Ti mi ng=〉immedi ate ;};C一丁C)_Output:portC一sub. Output—>Output{ Commu ni cati on一Properti es:: Ti mi ng=〉i mmediate:;endtop_level.I mpl;endI nteger_Toy;2. 3UPPAAL概述UPPAAL[ ?是一个依靠时间自动机进行验证分析的验证环境, 可以构造时间自动机网络模型对实时系统进行建模、 模拟和验证. 在UPPAAL中进行的模型验证的理论基础是自动机中的可达性验证理论, 依据该理论可以验证模型中所有状态在可达路径上的性质集合. 若用M来表示一个时间状态自动机, 用i?表示验证过程中用到的时序逻辑, 在验①AssumeGuaranteeReasoni ngEnvi ronment( AGREE).ht tp: //l oonwerks.com/tools/agree.ht ml.201 9, 08,2411 期&-*AgxBt<<\\\\AGGG2138 计 算 2020年证过程中, 会搜索所有的M的状态, 而且会验证R在搜索过程中经过的每一条可达的路径. 验证需求的i? 必须使用特定的形式化描述, 在UPPAAL中使用了一个简化版的时序逻辑TCTL对表示的.一个TCTL公式可以验证模型中某个状态是否存在, 比如x= =3在任何工等于3 上的状态为真. 所有的状态公式和状态转移都不能更改状态机中的表达式, 状态公式可以析取. 表3 给出了UPPAAL支持的TCTL公式及其能力, 使用这些公式可以完成对模型的可达性、 活性、 安全性等性质的验证.表3 路径公式公式类型 公式表示 说明可达性公式 EO<p表示状态公式9 是从初始位置可达的,比如“初始状态一定是可达的活性公式 A<)<p活性表示在某种情况下,一个事情最终一定发生,通常表述为“好事”会发生.A〈 〉9? 表示最终一定满足安全性公式A[]炉E[2<p安全性是指在某种情况下,一件事永远都不会发生,一般用来表达不希望出现的事情, 因此安全性也可以表述为“坏事”不会发生. A[]p表示在所有可达的所有状态中都应该满足 而 表示有一条路径上的状态都满足&2. 4 面向安全关键软件的AADL模型组合验证方法研究框架已有的验证方法往往是将扁平化的整个AADL模型进行模型转换然后直接验证, 但是对工业界复机 学 报杂的AADL模型直接验证往往存在状态空间爆炸的问题. 工业界的AADL模型涉及到大量的函数调用行为, 在AADL模型中可以使用子程序及行为附件来表达, 但是现有的验证手段很少涉及对子程序及其行为附件的验证分析. 因此, 为了更好的完成对复杂系统的验证分析, 本文提出了一种面向安全关键软件的AADL模型组合验证方法. 该方法总体框架如图3 所示, 包括三部分:( 1 ) 提出AADL体系结构模型的组合验证方法, 根据需求及需求分解使用AADL层次化的构建体系结构模型, 同时确定其组件划分, 使用需求及子需求构造组件的契约, 基于组件契约对系统的体系结构模型进行组合验证, 验证系统体系结构的正确性.(2) 提出基于UPPAAL的组件功能行为验证方法, 基于模型转换语言ATL(Atl asTransformati on1^吨1^昭6)[23]将单组件AADL模型( 主要是子程序)转换为UPPAAL模型. 根据AADL2UPPAAL的模型转换方法, 将AADL组件功能行为模型( 主要是子程序和行为附件)转换为UPPAAL模型并进行验证分析, 从而验证叶子组件的功能行为的正确性.(3) 实现了AADL模型验证原型工具, 用于支持AGREE组合验证和UPPAAL的组件功能行为验证, 并通过插件技术集成在AADL 建模工具OSATE±,面向安全关键软件的AADL模型组合验证方法图3 面向安全关键软件的AADL模型组合验证方法框架张博林等:一种面向安全关键软件的AADL模型组合验证方法 21391 1 期3AADL的体系结构模型的组合验证方法一个复杂的系统需求需要对其进行分解并分配给不同的子系统, 体系结构的分解同时涉及到需求和体系结构, 体系结构的可能会影响需求分配给每一个子系统, 所以在分解的同时需要确定需求分配给子系统的架构能否满足系统级需求, 确定子系统架构的建立对系统环境是否有改变[34], AADL建模语言可以完成复杂系统的体系结构建模需求.3.1 基于AADL的火箭发射控制子系统体系结构建模火箭发射系统是在用来控制火箭执行各项操作以及包含火箭自主执行的部分发射功能的系统, 控制从接收到发射的指令一直持续到火箭顺利离开发射装置. 经过简化的火箭发射系统的结构如图4 所示, 主要包括发控单元计算机、 火箭供电机箱、 供电控制组合、点火控制组合等组成, 本文主要介绍的火箭发射控制子系统在发控单元计算机中运行. 火箭发射控制子系统的功能主要是根据主控任务的控制命令, 进行相应的命令的执行, 是处于发控单元计算机中过程层的控制系统.图4 火箭发射系统结构图火箭发射控制系统的需求SR为: 首先打开排气盖和箭舱盖, 执行火箭发射准备命令, 同时进行火箭加电控制, 然后解锁箭舱和安全机构, 最后执行火箭点火命令. 如果执行过程中出现故障, 则进行断电控制. 经过对系统的功能行为详细分析之后, 对系统需求进行分解, 可以得到以下子系统需求:( 1) 排气盖控制SR1 . 收到排气盖开/关盖控制命令, 执行排气盖开/关盖控制, 如果排气盖状态查询正常, 回告发控系统排气盖开/关盖控制执行成功; 如果排气盖状态查询异常, 则回告发控系统排气盖故障.(2) 箭舱盖控制SR2. 收到火箭舱盖开/关盖控制命令, 执行箭舱盖开/关控制, 如果箭舱盖状态查询正常, 回告发射控制系统箭舱盖控制执行成功; 如果箭舱盖状态查询异常. 则回告发控系统箭舱盖故障.(3) 火箭发射准备/取消控制SR3. 收到火箭发射准备/取消控制命令, 进行火箭发射准备/取消控制, 如果闭合级电路状态查洵正常, 回告发射控制系统火箭发射准备/取消控制执行成功; 如果闭合级电路状态查询异常, 则回告发控系统火箭发射准备/取消异常.(4) 火箭加电控制SR4. 收到火箭加电命令, 如果加电自检正常则进行火箭加电控制, 回告发控系统火箭加电行成功; 如果加电自检异常, 则进行断电控制, 回告发射控制系统异常.其余子需求为: 箭舱解锁/锁定控制SR5 、 热电池激活控制SR6、 安全机构解锁/恢复控制SR7、 火箭点火控制SR8、 火箭断电控制SR9, 这里就不再赘述. 构造火箭发射控制系统的AADL模型如图5所示.图5 火箭发射控制子系统体系结构为了说明与火箭发射控制子系统的需求分解与体系结构分解的关系, 本文以火箭加电控制SR4 为例说明对需求的进一步细化分解. 火箭加电控制由火箭加电1 控制SR4C1、火箭加电2 控制SR4C2 和火箭加电3 控制SR4C3 三个子组件组成, 每一个加电控制是针对不同的电池组件进行控制, 火箭在进行加电控制时, 正常情况下是按照严格的加电顺序进行加电, 否则会回告加电错误. 下一层以火箭加电1 控制为例可以分解为火箭加电1函数SR4C1H1、火箭自检结果查询函数SRC1 H3 和火箭类型识别码查询函数SRC1H4; 这一层还能够进一步划分,以火箭自检结果查询函数为例可以划分为单步自检看门狗函数WDSE、 单步自检函数SSE、 连续自检看门狗函数WDSI 以及连续自检函数SSI. 此时对模型已经细化到了子程序层面, 其体系结构如图6 所示.2140 计 算机 学 报2020年丨 冬丨 6 火箭发射控制子系统体系结构模型3. 2 基于契约的需求形式化复杂安全关键软件的层次分解涉及到需求分解和体系结构模型, 在3.1 节中层次的构造其体系结构模型后, 如果对体系结构模型进行组合验证, 需要把系统各个层次的组件需求形式化为组件契约.即抽象的外部可见行为, 本节主要介绍基于契约的需求形式化.由于自然语言需求描述不精确的问题. 把一个需求抽象为一个契约, 首先要明确其输入输出, 然后忽略其内部行为, 将组件抽象为黑盒, 最后明确组件的输入输出关系, 然后构造组件契约. 本节以火箭加电控制子系统的需求及其需求分解为例构造其契约.首先需要说明一个控制命令应该由火箭模式( 单步或连续) 、火箭状态( 正常态或训练态) 、 操作命令、 火箭码等数据组成,一个控制命令会由获取控制命令子程序进行分解. 然后返回具体命令到调用该子程序的组件中. 本文为了表达的简洁, 在叙述需求时不再对控制命令进行详细介绍.根据上节的介绍可以知道, 火箭加电控制的需求为SR4, 其需求和体系结构分解为: 加电1 控制SR4C1、加电2 控制SR4C2 和加电3 控制SR4C3,每个子系统应完成相应的加电控制. 而此需求描述实际上涵盖了子系统中组件的功能, 根据需求SR4其输入为: 火箭发射控制系统的加电命令. 输出为:加电命令的执行结果、 是否发出断电令以及断电码.输人输出关系为: 输人正确的加电令且子系统反馈正常, 回告加电命令

[返回]
上一篇:面向多无人机协同对地攻击的双层任务规划方法研究
下一篇:任意多次散射机理的GTD散射中心模型频率依赖因子表达