一种验证AADL模型运行状态与需求一致性的方法,步骤包括:(1)根据需求中的状态和状态迁移构建AADL模型,AADL模型中模式和模式迁移分别对应需求中的状态和状态迁移;(2)将AADL模型中模式和模式迁移转化为Petri网模型;(3)计算Petri网模型的关联矩阵C;(4)利用Petri网模型的状态方程判断构建的AADL模型运行状态与需求是否一致。本发明专利技术提出将AADL模型中的“模式”及“模式迁移”映射为Petri网模型中的库所及变迁,并将此Petri网模型作为被测模型,结合Petri网模型性质和AADL模型的特点计算AADL模型可达的状态集合,从而达到判断建立的AADL模型运行状态是否与需求一致的目的,提高了所建AADL模型的正确性,缩短了系统建立时间,节省了系统建立成本。
【技术实现步骤摘要】
本专利技术涉及一种验证AADL模型运行状态与需求一致性的方法,
技术介绍
近年来,伴随着嵌入式软件的规模和复杂度的不断增加,其开发周期和开发成本也急剧增加,对非功能属性的要求也越来越高。传统的以代码为核心的开发方法已经不能适应这种趋势,开发的重点逐步从代码级提前到模型级。模型驱动结构方法MDA(Model Driven Architecture)就是由OMG提出的一种很有应用前景的基于模型的软件开发方法。 使用MDA软件开发方法,系统设计者在设计阶段把需求转化成一种形式化语言描述的模型,再对系统模型进行充分的分析验证,将可能存在的大部分错误解决,使系统模型自动生成的代码中出现问题的几率将大大降低,当系统设计出现变更时,只需要修改系统模型后重新生成代码,目前MDA方法已经成为嵌入式软件开发中的研究热点。成功应用模型驱动开发方法的核心问题就是模型能否完整正确地反映软件需求。本专利技术就是提出一种基于 AADL模型的软件开发过程中所构建的系统模型运行状态与需求一致性的验证方法。AADL (Architecture Analysis and Design Language,结构分析禾口设计语言)是在自动化工程师协会SAE(Society of Automotive Engineers)指导下开发的,在目前基于模型驱动的开发方法中应用最为广泛。AADL将构件抽象为软件构件、执行平台(硬件)和系统构件3种类型,按照构件及构件之间的相互作用对应用系统的结构进行描述与分析, 并且支持对嵌入式软件非功能属性的描述。AADL模型并不关心具体的功能实现,描述的仅仅是系统框架,从而在体系结构级对系统的非功能属性进行规约,适合具有挑战性资源约束(如尺寸、重量和功率)、严格实时要求和高性能保证等级的嵌入式系统。目前面向AADL的测试工具主要包括SEI开发的开源工具集OSATE (open source AADL tool environment),Axlog开发的全局仿真工具ADeS工具等。OSATE提供基于AADL 的建模和基本的语义检查和架构分析等,但侧重于模型中构件的输入输出连接等检查和分析。Axlog开发的ADeS工具以模型的全局分析为目标,但是目前还不支持模式和模式迁移, 只能在初始模式下,进行任务分析,不能完整的验证系统的运行状态。计算机科学2009年第11期公开的《AADL模型的测试方法研究》利用马尔科夫链模型对AADL模型进行测试,以考察所建模型与需求中期望的模型行为的一致性,但其阈值等依据经验获得,测试结果欠缺准确性,且最后判断结果只能笼统地说所构建的AADL模型模式迁移有错误,并不能明确说明错误发生在哪些事件迁移上。
技术实现思路
本专利技术的技术解决问题是克服现有技术的不足,提供一种验证AADL模型运行状态与需求一致性的方法,提高了 AADL模型建立的可靠性。本专利技术的技术解决方案是一种验证AADL模型运行状态与需求一致性的方法,步骤如下4(1)根据需求中的状态和状态迁移构建AADL模型,AADL模型中模式和模式迁移分别对应需求中的状态和状态迁移;(2)将AADL模型中模式和模式迁移转化为Petri网模型,AADL模型与Petri网模型的转换关系为=AADL模型中的模式映射为Petri网模型中的库所Si,库所Si的集合形成库所集S,i e ,初始库所% Wtoken为1,AADL模型中的模式迁移映射为Petri网模型中的变迁、,变迁、的集合形成变迁集T,j e [1,m];(3)计算Petri网模型的关联矩阵C,关联矩阵C以库所集变迁集T为序标集, 其关联矩阵 C 的元素 C(Si,tj) =ff(tj, Si)-Ksi, tj),ff(s, t)为(s,t)上的权,W(t,s)为 (t,s)上的权;(4)利用Petri网模型的状态方程判断构建的AADL模型运行状态与需求是否一致,具体判断过程如下1)将需求中的所有状态根据其对应的Petri网模型中库所进行标识,需求中的状态Sti对应于Petri网模型中库所Si,需求中的所有状态迁移根据其对应的Petri网模型中变迁进行标识,需求中的状态迁移trj对应于Petri网模型中变迁、,根据需求列出将Stci 变为Sti的q个变迁序列T,q彡1 ;2)对于每一个变迁序列,通过Petri网模型的状态方程Mtl+⑶=M计算得到目标状态标识M,根据M中M (Sti)的值判断AADL模型运行状态与需求是否一致;所述Petri网模型的状态方程为Mtl+⑶=M,M0为根据需求中的状态确定的初始状 态标识向量,本文档来自技高网...
【技术保护点】
1.一种验证AADL模型运行状态与需求一致性的方法,其特征在于步骤如下:(1)根据需求中的状态和状态迁移构建AADL模型,AADL模型中模式和模式迁移分别对应需求中的状态和状态迁移;(2)将AADL模型中模式和模式迁移转化为Petri网模型,AADL模型与Petri网模型的转换关系为:AADL模型中的模式映射为Petri网模型中的库所si,库所si的集合形成库所集S,i∈[0,n],初始库所s0的token为1,AADL模型中的模式迁移映射为Petri网模型中的变迁tj,变迁tj的集合形成变迁集T,j∈[1,m];(3)计算Petri网模型的关联矩阵C,关联矩阵C以库所集Sx变迁集T为序标集,其关联矩阵C的元素C(si,tj)=W(tj,si)-W(si,tj),W(s,t)为(s,t)上的权,W(t,s)为(t,s)上的权;(4)利用Petri网模型的状态方程判断构建的AADL模型运行状态与需求是否一致,具体判断过程如下:1)将需求中的所有状态根据其对应的Petri网模型中库所进行标识,需求中的状态sti对应于Petri网模型中库所si,需求中的所有状态迁移根据其对应的Petri网模型中变迁进行标识,需求中的状态迁移trj对应于Petri网模型中变迁tj,根据需求列出将st0变为sti的q个变迁序列T,q≥1;2)对于每一个变迁序列,通过Petri网模型的状态方程M0+CU=M计算得到目标状态标识M,根据M中M(sti)的值判断AADL模型运行状态与需求是否一致;所述Petri网模型的状态方程为M0+CU=M,M0为根据需求中的状态确定的初始状态标识向量,向量元素M0(sti)为该标识下sti处的token值;C为关联矩阵;U为根据需求中的状态迁移确定的变迁标识向量,其状态元素U(trj)为具体变迁序列中变迁trj对应的标识,当变迁trj发生时U(trj)为1,变迁trj不发生时U(trj)为0;M为Petri网模型的目标状态标识向量,向量元素M(sti)为该标识下sti处的token值;根据M中M(sti)的值判断AADL模型运行状态与需求是否一致的过程为:设fp为第p个变迁序列Tp转化后的AADL模型运行状态与需求是否一致的标识,p∈[1,q],若第p个变迁序列Tp中含有导致状态sti出现的直接变迁个数与M(sti)的值相同,则在第p个变迁序列Tp下所构建的AADL模型运行状态与需求相一致,置fp=1;若第p个变迁序列Tp中含有导致状态sti出现的直接变迁个数与M(sti)的值不相同,则在第p个变迁序列Tp下所构建的AADL模型运行状态与需求不一致,置fp=0;设Fi=f1×f2×…×fp×…×fq,若Fi=1,则从st0变为sti的q个可行变迁序列T下所构建的AADL模型运行状态与需求相一致;若Fi=0,则从st0变为sti的q个可行变迁序列T下所构建的AADL模型运行状态与需求不一致。...
【技术特征摘要】
1. 一种验证AADL模型运行状态与需求一致性的方法,其特征在于步骤如下(1)根据需求中的状态和状态迁移构建AADL模型,AADL模型中模式和模式迁移分别对应需求中的状态和状态迁移;(2)将AADL模型中模式和模式迁移转化为Petri网模型,AADL模型与Petri网模型的转换关系为AADL模型中的模式映射为Petri网模型中的库所Si,库所Si的集合形成库所集S,i e ,初始库所% Wtoken为1,AADL模型中的模式迁移映射为Petri网模型中的变迁、,变迁、的集合形成变迁集T,j e [1,m];(3)计算Petri网模型的关联矩阵C,关联矩阵C以库所集民变迁集T为序标集,其关联矩阵 C 的元素 C(Si,tj) = Ktj, Si)-Ksi, tj), ff(s, t)为(s,t)上...
【专利技术属性】
技术研发人员:王崑声,张辉,经小川,张刚,谢伟华,
申请(专利权)人:中国航天科技集团公司第七一〇研究所,
类型:发明
国别省市:11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。