一种针对IMA资源共享机制的状态关联动态分析方法与流程

文档序号:18374649发布日期:2019-08-07 02:00阅读:250来源:国知局
一种针对IMA资源共享机制的状态关联动态分析方法与流程
本发明提供一种针对IMA资源共享机制的状态关联动态分析方法,它涉及一种IMA系统(简称系统)设计分析中的状态关联动态分析方法,具体涉及一种基于状态关联模型的多约束分析方法。属于IMA系统设计分析领域。
背景技术
:航空电子的发展经历了分立式、联合式、综合式以及先进综合式几个阶段,旨在增强航空电子系统功能、性能,降低飞机生命周期费用的同时,解决系统软硬件的升级移植问题。针对传统航空电子系统中存在的问题,美国航电委员会在90年提出了综合模块化航空电子(IMA)的概念,并被航空工业组织采纳,在空客380、波音777、F-22、F-35等项目上进行实施,取得了良好的效果。综合化航空电子系统本质上是一个开放的分布式实时计算环境,通过综合,达到硬件通用化,功能软件化,软件运行环境标准化,最终实现系统的高度综合以及信息的高度共享。现代航空电子系统与综合中提到:IMA系统平台的资源可以共享,如可以通过获取时间的方法来共享处理资源和硬件。由于每一种共享的资源都有可能造成单点失效,这种失效会影响所有应用使用该资源。因此,需要针对IMA资源共享需要进行系统设计分析。同时IMA系统基于分区操作系统,IMA系统平台针对高度资源综合的问题提供了共享资源的健壮分区隔离:当需要时,IMA平台能够提供共享资源的健壮分区隔离的特性,能确保驻留的应用获得共享的平台资源,且这些资源是受保护的。IMA平台资源管理确保只有已规定的、有预期用途、规定交互和接口等的资源可由平台和应用共享,可见IMA分区交互是不可避免的。IMA系统通过分区操作系统实现其共享机制,时间与空间的分区特性赋予了故障状态复杂的关联关系,而IMA系统的故障状态是系统动态反应的输入,针对故障状态系统可以做出一系列的反应满足任务要求,例如降级、关机、重启、再配置等。状态关联指的是,在IMA系统中,各部件在运行过程中均有不同的状态,例如分区有初始化、运行和故障等状态,而共享资源有正常和故障的状态,当某分区与共享资源进行交互时,它们的状态存在关联关系,例如:分区对故障的共享资源操作时有可能导致该分区也进入故障状态;由于系统设计错误,分区对正常的共享资源误操作,也可能导致该分区进入故障状态。目前针对IMA系统的分析研究均是从可靠性、安全性、实时性以及可调度性等角度出发对IMA系统进行评估,然而,对于IMA系统的故障状态关联,至今仍没有适用的分析方法,本发明提出一种基于模型的分析方法解决此问题,其中涉及针对IMA共享机制进行的AADL建模、模型转化、以及CGSPN模型分析。模型驱动开发(modeldrivendevelopment,简称MDD)能够在早期阶段对系统进行分析与验证,有助于保证系统的质量属性、控制开发时间和降低成本,从而正确无误地、且快速高质量地完成一个软件开发过程。而质量属性是由系统体系结构确定的,因此,基于体系结构模型驱动(model-basedarchitecture-driven)的设计与开发方法成为复杂嵌入式系统领域的重要研究内容。常用的体系结构描述语言有UML,ADL和AADL,其中AADL(architectureanalysis&designlanguage)是美国汽车工程师协会SAE(societyofautomaotiveengineers)在建模语言MetaH、ADL以及商业建模语言UML和HOOD(hierarchicalobject-orienteddesign)的基础上于2004年提出嵌入式实时系统体系结构分析与设计语言(AADL),该语言提供了一种标准而又足够精确的方式,设计与分析嵌入式实时系统的软、硬件体系结构及功能与非功能性质,采用单一模型支持多种分析的方式,将系统设计、分析、验证、自动代码生成等关键环节融合于统一框架之下。为扩展AADL的描述能力,SAE也发布了一系列附件,如图形附件、错误附件、数据附件、ARINC653附件和行为附件等,分别扩展了对AADL的图形化表示、错误传播、数据结构、综合模块化航空电子和系统行为的描述。Petri网最早出现在1962年德国人CarlAdamPetri的博士论文"CommunicationwithAutomata"(用自动机通讯)中,并因此而得名。Petri网是一种网状结构的信息流模型,具有并行性、不确定性,同时具有异步和分布描述能力及分析能力,为复杂系统的分析提供了一种以图形和数学为基础的形式化建模方法。通过在各个领域的广泛应用,Petri网已经被证明是一种行之有效的图形化、数学化建模与分析工具。作为一种图形化工具,Petri网可以用作一种与数据流图和网络相似的辅助方法;而作为一种数学化工具,Petri网也可以用来建立状态方程、代数方程和其它描述系统行为的数学模型。为了丰富Petri网的建模和分析能力,人们对经典Petri网进行了多种方式的扩展,提出了一系列高级Petri网,其中最具代表性的分别是:着色Petri网、时间Petri网、层次Petri网、着色广义随机Petri网。技术实现要素:(1)发明目的目前的针对IMA系统的状态关联研究相对缺乏,本发明的目的是为了解决IMA系统状态关联的分析问题,利用本发明提出的基于模型的多约束分析方法,可以分析共享资源故障引起的故障状态关联情况,通过加入系统设计多约束条件,可以对IMA系统设计进行验证。(2)技术方案为了解决IMA系统状态关联的分析问题,本发明提出一种针对IMA资源共享机制的状态关联动态分析方法,其总体技术方案如图1所示,具体包括以下几个步骤:步骤一:确定IMA系统对象,并利用AADL对IMA系统共享机制进行建模AADL标准包括文本、图形、XML交换格式和附件库;在AADL模型中,建模元素和他们之间的关系如图2所示;AADL组件分为三类:应用软件、硬件和系统组件,可执行二进制代码和数据通过软件组件来描述,它包括:进程、线程、线程组、数据和子程序;硬件组件描述了处理资源和软件和硬件的绑定关系;处理器、存储器、总线和设备构成了可执行平台组件;在AADL附件中,ARINC653附件提供了针对符合ARINC653标准及相似分区的系统架构的建模方法;其中,本步骤中所述的“确定IMA系统对象,并利用AADL对IMA系统共享机制进行建模”的具体作法如下:下表1给出了本发明的IMA系统元素与AADL建模元素的映射规则,表中AADL建模元素属于AADL语法规范;此建模映射规则结合AADL规范中ARINC653附件,适合于本发明的状态关联模型构建;其中,利用AADL的进程(Process)来表示IMA系统的分区(Partition),利用AADL的连接(Connection)表示IMA系统的通道(Channel),对IMA中的分区间通信(Queuingport、Samplingport),通过AADL的事件数据端口(Eventdataport)、数据端口(Dataport)和数据访问来描述,IMA系统的数据(Data)、存储(Memory)与AADL中的组件Data、Memory分别对应,IMA系统内的事件(Event)则利用AADL中错误附件的错误事件(Errorevent)来表示,IMA系统内状态(Component/Systemstates)用错误附件中状态(State)来表示;详细内容见下表;表1AADL与IMA元素的映射规则步骤二:通过模型转化,将AADL模型转化为CGSPN模型首先引入着色的广义随机Petri网(GCSPN),GCSPN是一个9元组:其中:P:有限库所集;T:变迁集,包括时间变迁和瞬时变迁,C:颜色集,C={C1,...,Cn}且:变迁优先级函数。I(.),O(.),H(.):输入弧函数,输出弧函数,抑制弧函数。W(.):变迁上的权函数,定义了变迁触发概率分布。M0:系统初始化状态标记。Y:变迁上依赖标记的权函数。对GCSPN进行模型适应改进,得到改进的着色广义随机petri网(CGSPN)模型:1.定义库所表示为系统组件状态。2.定义特定颜色集表示系统组件属性。分区颜色集定义形式为:colsetpartition=productP*partition_property*STATE*REALtimed;共享资源颜色集定义形式为:colsetRESOURCE=productR*resource_property*STATE*Ptimed。其中colset为颜色集标识符,product为笛卡尔乘积,partition和RESOURCE为颜色集名,P为分区标识符,R为资源标识符,partition_property和resource_property为分区和资源属性,STATE为状态标识符,REAL为时间记录。3.定义时间变迁为有时间延迟的系统事件,瞬时变迁为瞬时事件。扩展时间变迁上的时间延迟分布函数类型,包括指数分布、正态分布等。其中,本步骤中所述的“通过模型转化,将AADL模型转化为CGSPN模型”的具体作法如下:将基于AADL的资源共享模型转化为改进的着色广义随机petri网(CGSPN)模型,定义了相应的模型转化规则,符号->左边为AADL模型元素,右边为改进的CGSPN模型元素。规则1:分区(partition),处理器(processor),虚拟处理器(virtualprocessor),共享资源(sharedresources),故障状态(errorstate)->库所(place)分区包括以下几个状态:初始化状态、请求资源状态、获取资源状态、运行状态、故障状态、计算完毕状态。每个分区与一个虚处理器(virtualprocessor)进行绑定,对于IMA单核系统,分区运行时独占一个处理器(processor)。共享资源有如下状态:正常状态、故障状态。另外可以将AADL中的错误状态直接定义为place。规则2:通信行为(communicatebehavior),分区调度(partitionscheduling),数据访问(accesstodata),错误行为(errorbehavior)->变迁(transition)将分区间通信转化为CGSPN中的变迁,每个变迁表示一个通信行为,表示分区间的交互关系。将分区调度转化为调度变迁,控制每个分区在特定的时间点开始运行,这里将分区调度机制加入特定的变迁与库所结构,并辅以分区调度的颜色集,对分区调度进行控制。具体实现为定义schedule()函数加入到模型,函数(pi为分区i,ti为分区i的时间窗)形式为:funschedule(par)=caseparofp1=>t1|p2=>t2|p3=>t3;以上函数意为:给分区pi分配ti的时间窗。当系统对共享数据资源进行操作时,需要在CGSPN模型中以变迁来控制系统行为,因此将AADL中accesstodata的元素转化为对于共享数据进行操作的变迁。AADL的错误附件中定义了错误行为,包括故障事件触发系统或其部件发生故障,recovery事件触发系统或其部件故障恢复,此处将AADL中的错误行为转化为变迁,并加入错误行为事件的发生概率。另外分区状态转化在CGSPN模型中也被定义为变迁。规则3:分区属性(propertyofpartitions),数据属性(propertyofdata),开始时间(starttime),系统时间(systemtime),分区状态(stateofpartitions)->托肯(token)将分区和共享数据的属性,分区运行的开始时间以及系统时间,转化为当前系统状态的托肯。同时系统中分区状态也作为一个托肯作为分区状态的标记,记录分区是否故障。规则4:故障事件的发生概率分布(occurrencedistributionoferrorevent)->变迁的概率函数(functionoftransition)错误模型中错误事件的发生概率分布转化为时间变迁的随机时延函数或者瞬时变迁的发生概率函数。规则5:系统的多约束(multipleconstraintinsystem)->守卫函数(guardfunction)将针对共享资源设计的多约束条件转化为守卫函数,加入到CGSPN模型中;步骤三:将系统设计约束加入到CGSPN模型中在多约束分析方面,将约束限定为IMA共享机制下存在的约束集合,包括:1功能约束,功能指的是系统任务,功能可由一个或多个软件完成,它的实现需要通过对一系列的资源进行组织和操作,功能约束与功能需求、非功能需求紧密联系,功能约束可以通过以下方法构建,将功能约束映射到资源约束:1)确定系统的功能;2)确定实现系统功能所需要的系统组件或者系统软件;3)确定每个系统组件或者系统软件的资源使用要求,即资源约束;典型的功能约束包括实时性需求、任务执行顺序、分区应用执行频率等。2资源约束,该资源主要针对IMA系统中被共享的软硬件资源,资源约束包括存储能力,数据传输带宽,资源的时效性等。3动态约束,IMA系统运行时,存在某些系统事件,使得约束动态变化。动态约束为系统事件发生时动态改变的资源约束。例如,某IMA存储单元正常工作时,存储空间大小约束为100M,某时刻该存储单元被传感器检测到故障,可用存储空间大小降低到60M,存储空间约束即从(≤100M)变化为(≤60M)。这种动态约束由故障事件触发,影响约束集合下系统的故障分析。基于上述提出的系统约束,本发明将资源约束和动态约束以守卫函数的形式加入到CGSPN模型。资源约束的约束表达式表示为守卫函数;动态约束的实现是通过手工修改CGSPN模型中定义的相关属性值或者约束表达式;而功能约束的实现是通过仿真结果与预定义的功能约束进行比较。步骤四:针对CGSPN模型进行模型仿真分析通过CGSPN模型仿真,可以得出共享资源故障会关联到的系统组件;验证系统设计是否正确;通过以上步骤,达到了IMA系统状态关联分析的目的,所建的CGSPN模型仿真充分考虑到了系统状态关联的动态行为:1.能够分析资源故障后恢复是否会影响系统故障状态关联,即分析资源故障后恢复是否会导致系统其它部件进入故障状态;2.能够分析系统设计是否满足动态约束。(3)优点和功效与当前已有的IMA系统设计分析方法相比,本发明具有以下优点和功效:从资源和功能两方面分析系统是否满足设计约束,并加入动态约束的概念。既考虑系统的静态体系架构设计,又考虑系统的动态行为影响,能够全面确定系统设计的可行性。在一个IMA模块内,能够确定系统组件的故障状态关联到的分区状态,即部件故障后所导致的分区故障。同时,由于考虑了部件故障后有可能恢复,更加完善了这种状态关联的分析方法,全面的确定系统组件故障状态关联影响。附图说明图1是本发明所述方法流程图。图2是---AADL建模元素关系图。图3是---AADL模型实例图。图4是---CGSPN模型。图5是---仿真结果1。图6是---仿真结果2。图7是---仿真结果3。图8是---仿真结果4。图9是---仿真结果5。图3中序号、符号、代号说明如下:代号说明mem存储资源cpu计算资源obstacle_radar雷达distance_estimate雷达输出数据端口partition1_pr/partition2_pr/partition3_pr分区1/分区2/分区3input_distance、p2_in、p4_in、p5_in分区输入数据端口p3_out、p4_out分区输出数据端口shared_datain/shared_dataout数据访问连接输入/输出端口图5-9中序号、符号、代号说明如下:具体实施方式案例背景:本案例中,示例IMA系统利用设备radar传来信号,5个分区要对该信号进行处理和共享,每个分区有一个应用,分区间交互关系如图3所示,同时,该图为AADL建模的架构图。由于篇幅限制,本发明仅对该IMA系统进行简要介绍。分区1内有一个共享数据区,案例中分区1内应用产生的数据,被存放在共享数据区内,分区2和分区3共享该数据区,该共享数据区数据错误事件的发生时间服从指数分布。由于分区1对该数据区执行写操作,因此规定该共享数据区操作错误会影响分区1内应用正常运行。分区3内应用在运行过程中有可能失效,失效时间服从指数分布,且分区3自身的故障恢复机制会使其在规定时间延迟内恢复正常。AADL模型的关键参数如下表所示:表2AADL模型关键参数P1write_size(分区1写空间大小)20kbP3failuredistribution(分区3失效分布)Exponential(0.01)P3recoverytime(分区3故障恢复时间)3.0Shareddatasize1(共享数据区大小)30kbShareddatasize2(共享数据区大小)10kbShareddataerroreventdistribution(共享数据区故障事件分布)Exponential(0.05)Shareddataerrorfaildistribution(共享数据区失效分布)Exponential(0.05)其中P1write_size指的是分区P1要对共享数据写数据的数据大小;P3failuredistribution指的是分区P3失效的时间分布,服从参数为0.01的指数分布;P3recoverytime指分区P3失效后故障恢复时间为3.0ms;Shareddatasize1为共享数据区正常情况下的存储容量;Shareddatasize2为该共享数据区被Shareddataerrorevent事件触发后,存储容量缩减后,可用的存储容量;Shareddataerroreventdistribution和Shareddataerrorfaildistribution分别为Shareddataerrorevent和Shareddataerrorfail事件的发生时间分布。本发明一种针对IMA资源共享机制的状态关联动态分析方法,如图1所示,具体包括以下几个步骤:步骤一:确定IMA系统对象,并利用AADL对IMA系统共享机制进行建模。AADL标准包括文本、图形、XML交换格式和附件库;在AADL模型中,建模元素和他们之间的关系如图2所示;利用IMA共享机制与AADL的映射规则,可以构建该案例的AADL模型。模型如图3所示,由于篇幅限制,且该步骤不为本发明重点,本发明不对AADL文本模型描述。步骤二:通过模型转化,将AADL模型转化为CGSPN模型。将基于AADL的资源共享模型转化为改进的着色广义随机petri网(CGSPN)模型,利用定义的相应的模型转化规则,进行模型转化。具体转化元素对照如下:表3模型转换元素对照表在表3中,分区被转化为带颜色集的库所,代表分区不同的状态的库所有:initial,require_resource,get_resource,running,error,complete,分别代表分区的初始化、请求资源、获取资源、运行、故障以及完成6种状态;共享资源同样被转化为带有颜色集的库所,代表共享资源的不同状态:resource_normal,resource_error,分别表示共享资源正常和故障两种状态;处理器和虚处理器被转化为cpu和schedule两个库所;AADL元素错误附件中的错误状态,是分区和共享资源所转化的库所子集;分区间通信被转化为瞬时变迁,施加在瞬时变迁上的守卫函数用来唯一确定通信方向;错误行为具体指AADL错误附件中定义的错误事件,通过将其转化为时间变迁,用来表示错误事件触发时间;分区调度同样用时间变迁来限定分区运行时间;另外,分区和共享资源的属性被转化为CGSPN模型中的颜色集,该案例中分区和共享资源的颜色集为colsetpartition=productP*property*STATE*REALtimed和colsetRESOURCE=productR*resource_size*STATE*Ptimed,关键属性为property和resource_size,分别表示P1write_size和Shareddatasize1、Shareddatasize2,即分区1写需求空间大小和共享数据区大小,共享数据区大小分为:Shareddataerrorevent事件未发生时,共享数据区大小(Shareddatasize1);Shareddataerrorevent事件发生后,共享数据区大小(Shareddatasize2)。步骤三:将系统设计约束加入到CGSPN模型中。本案例在资源约束、功能约束以及动态约束中分别选取一个简单约束:资源约束:P1write_size≤Shareddatasize1,转化为在CGSPN模型中的约束为pro≤s(P1write_size=pro,Shareddatasize1=s)。该资源约束意义为:系统运行正常情况下,分区1的写操作产生的数据要小于等于共享数据区最大可用存储空间。功能约束:案例中任务在主时间框架内分区应用执行顺序为seq(P1,noseq(P2,P3),noseq(P4,P5),P2)。其中seq()表示分区执行为顺序关系,noseq(Pi,Pj)=seq(Pi,Pj)orseq(Pj,Pi),or表示或关系。动态约束:Shareddataerrorevent事件发生时,会触发动态约束:P1write_size≤Shareddatasize2,转化为在CGSPN模型中的约束为pro≤s(P1write_size=pro,Shareddatasize2=s)。通过模型转化以及多约束的加入,得到CGSPN模型,为了便于理解,本发明将CGSPN模型进行简化,如图4所示:图中,CGSPN模型中系统状态主要分为三类:共享资源状态、分区状态以及分区状态标记。这三类系统状态中:步骤二对共享资源状态和分区状态进行了描述;分区标记状态用来显示分区故障与否(通过定义颜色集STATE来显示,如果分区出现故障,分区状态标记对应的分区库所出现一个托肯)。此外,CGSPN模型还对资源约束、动态约束触发事件、分区故障与恢复以及分区间通信进行了描述,具体参照图示。步骤四:针对CGSPN模型进行模型仿真分析。1.验证系统是否满足功能约束:功能约束为seq(P1,noseq(P2,P3),noseq(P4,P5),P2)。在分区执行顺序方面,CGSPN模型仿真结果为:seq(P1,P2,P3,P4,P5,P2),且seq(P1,P2,P3,P4,P5,P2)∈seq(P1,noseq(P2,P3),noseq(P4,P5),P2),系统设计满足功能约束。2.验证系统是否满足资源约束和动态约束,确定系统状态关联情况。从三方面进行区分:系统Shareddataerrorevent事件是否发生、共享资源正常与故障、分区3正常与故障,共8种情况:1)系统Shareddataerrorevent事件未发生,共享资源正常,分区正常时。2)系统Shareddataerrorevent事件未发生,共享资源故障,分区正常时。3)系统Shareddataerrorevent事件未发生,共享资源正常,分区3故障且未恢复。4)系统Shareddataerrorevent事件未发生,共享资源正常,分区3故障且恢复。5)系统Shareddataerrorevent事件发生,共享资源正常,分区正常时。6)系统Shareddataerrorevent事件发生,共享资源故障,分区正常时。7)系统Shareddataerrorevent事件发生,共享资源正常,分区3故障且未恢复。8)系统Shareddataerrorevent事件发生,共享资源正常,分区3故障且恢复。仿真结果及其动态过程:a)系统运行正常:1)、4)(如图5所示);动态过程:情况4)中分区3故障后恢复。b)分区3、4、5故障:3)(如图6所示);动态过程:分区3首先进入故障状态,由于状态关联,通过通信的方式,分区4和分区5也进入故障状态。c)分区1、2、3、4、5故障:2)(如图7所示)、5)、7)、8)(如图8所示)、6)(如图9所示);动态过程:情况2)中共享资源故障,由于状态关联,依次使得分区1、2、3、4、5故障;情况5)中系统Shareddataerrorevent事件触发动态约束,对应的资源约束从pro≤s(P1write_size=pro,Shareddatasize1=s)转变为pro≤s(P1write_size=pro,Shareddatasize2=s),系统设计违反动态约束,分区1立即进入故障状态,由于状态关联,依次使得分区2、3、4、5故障;情况6)综合了2)和5)的动态过程,既发生共享资源故障,又发生了系统Shareddataerrorevent事件,触发了动态约束,且该系统设计不满足动态约束,最终导致分区1、2、3、4、5故障;情况7)中,综合了3)和5)的动态过程,既发生了分区3故障,又发生了系统Shareddataerrorevent事件,最终导致分区1、2、3、4、5故障;情况8)综合了4)和5)的动态过程,既发生了分区3故障且恢复的事件,又发生了系统Shareddataerrorevent事件。这种情况下,虽然分区2、3、4、5均能运行,但由于接收的数据错误,这些分区的数据处理结果也是错误的,从系统任务实现角度来看,所有分区处在故障状态。综上所述,该系统设计存在问题:1.共享资源故障后缺少故障恢复;2.动态约束方面,共享数据区与分区1写操作存储空间配置不合理。对应的设计建议:1.需要制定共享资源故障恢复策略,使系统在一定时间内及时对共享资源故障进行处理;2.合理配置共享数据区可用存储空间与分区1写操作存储空间,使其同时满足资源约束和动态约束。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1