CN102053910B - 一种基于aadl模态蜕变关系的嵌入式软件测试方法 - Google Patents

一种基于aadl模态蜕变关系的嵌入式软件测试方法 Download PDF

Info

Publication number
CN102053910B
CN102053910B CN 201010554273 CN201010554273A CN102053910B CN 102053910 B CN102053910 B CN 102053910B CN 201010554273 CN201010554273 CN 201010554273 CN 201010554273 A CN201010554273 A CN 201010554273A CN 102053910 B CN102053910 B CN 102053910B
Authority
CN
China
Prior art keywords
mode
event
aadl
state
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201010554273
Other languages
English (en)
Other versions
CN102053910A (zh
Inventor
董云卫
张凡
孙博
路晓丽
周兴社
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN 201010554273 priority Critical patent/CN102053910B/zh
Publication of CN102053910A publication Critical patent/CN102053910A/zh
Application granted granted Critical
Publication of CN102053910B publication Critical patent/CN102053910B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于AADL模态蜕变关系的嵌入式软件测试方法,技术特征在于:基于AADL架构模型文件中的模态信息,构造模态迁移图,根据改进的深度优先遍历算法将该图转换成蜕变测试需要的模态关系树。通过遍历该模态关系树,构造出模态蜕变关系中的源测试用例,然后借助由AADL模型中的模态蜕变关系生成后续测试用例,验证模态蜕变关系,得出蜕变测试的结论。解决了嵌入式软件测试中存在的“Oracle问题”,方便用户在软件设计的早期对嵌入式软件进行测试,在系统的架构级别保证软件的可靠性,如果模型架构不能满足相应的要求,可以在开发的早期修改软件的架构,这样不仅节约了开发成本,同时也可以缩短开发周期。

Description

一种基于AADL模态蜕变关系的嵌入式软件测试方法
技术领域
本发明涉及一种基于AADL模态蜕变关系的嵌入式软件测试方法,涉及软件测试中的蜕变测试技术。 
背景技术
随着计算机技术的发展,嵌入式系统在工业领域扮演着越来越重要的角色。早期嵌入式软件的任务简单明确,同时软件的规模也比较小,因此在软件的设计和实现过程中,关注的重点是如何有效地满足软件的功能及非功能性需求,基本不考虑软件工程中控制和管理系统规模及复杂性的方法和技术。随着嵌入式软件系统复杂性不断扩大,早期的嵌入式软件开发方法已不能够完全满足嵌入式软件设计需求,这对嵌入式软件开发中的设计合理性、验证完备性,以及开发效率等方面都带来了挑战,迫切需要研究使用新的嵌入式软件开发方法。 
目前,业界引入模型驱动结构方法(MDA-Model Driven Architecture),该方法是由OMG(Object Management Group)定义的软件开发框架。在MDA的开发方法中,软件开发行为被提升到更高的级别—分析模型级,而针对特定计算平台的编码工作由机器自动完成,这样就将业务逻辑与逻辑实现技术成功分离,使软件模型成为开发过程中的核心,从而提高软件的可信性、缩短系统开发周期。另外,为了提高系统的开发效率,嵌入式软件也表现出开发工具方面的集成化趋势,以及向构件复用方面发展的趋势。在开发工具方面,需要把覆盖需求、设计、代码生成、验证等整个生命周期的工具集成起来,形成嵌入式软件开发过程的生产线。同时,采用基于构件的复用技术开发方法,可以在不同产品之间复用软件模块,有效降低开发和维护方面的成本。 
基于这个思想,由美国卡内基-梅隆大学开发,美国自动化协会SAE发布了航空 标准AS5506——架构分析与设计语言(Architecture Analysis & Design Language,AADL)。AADL系统建模语言拥有对各种应用系统的强大描述能力,如描述系统行为的并发、通信、时间和层次化结构以及设计约束等。AADL支持在非功能属性方面(如:时间、吞吐量和可靠性等)对嵌入式实时系统的软硬件体系进行早期和迭代分析。AADL采用了基于构件的系统分析与设计技术,把构件分为应用软件、运行平台和系统三种类型。AADL通过构件以及构件间的交互对系统架构进行描述与分析,不关心构件的具体实现,通过软件构件、硬件构件和系统构件,对实时嵌入式系统以及高可靠性系统进行了描述与分析。同时,AADL中定义了模态的概念——构件的模态是对包含构件,关联以及属性值的一个明确定义的配置,是一个系统或者构件可选的操作状态。当为一个构件声明多个模态,一个模态迁移行为声明标识了哪个事件引起模态切换和产生一个新模态,即不同的结构的一个变化。只有一个模态被认为是当前模态,当前模态决定被认为是活动的线程集合,即准备响应分派,和可行的传输数据和控制的关联。一个模态迁移是指从一个状态或条件到另一个的可能的运行时通道,这样的迁移由事件触发。通过对系统的AADL模型进行分析和测试,可以在嵌入式软件开发的早期发现问题,保证嵌入式软件的可靠性。 
在嵌入式软件开发过程中,软件测试作为其中的重要组成部分,它在软件的整个生命周期内持续发挥着作用,保证着软件功能属性和非功能属性(如可靠性、安全性等)要求。由于AADL开发的软件是基于模型进行开发设计和分析的。在对应基于模型的嵌入式软件测试中,常用的模型包括:UML模型,有限状态机(FSM-Finite State Machine),状态图(Statechart),马尔科夫链等。但这些模型对于基于AADL的模型测试的支持较少,另外更值得注意的是在嵌入式软件测试过程中,由于构件实际运行环境的多样性和构件之间交互的复杂性,往往出现程序执行结果不能提前预知,或者 为了预知结果使用人工方法需要花费较大代价的现象,这种程序的执行结果不能预知的现象在测试理论中称为“Oracle问题”。而已有的构件化软件测试模型和方法是程序在特定测试用例下的运行结果和预期运行结果比对来判断程序设计实现是否有错误,它导致测试人员只能选择一些可以预知结果的简单测试用例进行测试,而不能完整有效地揭示程序存在的错误。需要有新的测试方法来对AADL模型进行支持,并且能够解决测试过程中的“Oracle问题”。 
发明内容
要解决的技术问题 
为了避免现有技术的不足之处,本发明提出一种基于AADL模态蜕变关系的嵌入式软件测试方法,解决嵌入式软件测试过程中的“Oracle问题”,对AADL模型进行测试,保证AADL模型的可靠性。 
本发明的思想在于:基于AADL架构模型文件中的模态信息,构造模态迁移图,根据改进的深度优先遍历算法将该图转换成蜕变测试需要的模态关系树。通过遍历该模态关系树,构造出模态蜕变关系中的源测试用例,然后借助由AADL模型中的模态蜕变关系生成后续测试用例,最后运行源测试用例和后续测试用例,验证模态蜕变关系,最后得出蜕变测试的结论。 
技术方案 
一种基于AADL模态蜕变关系的嵌入式软件测试方法,其特征在于步骤如下: 
步骤1:通过AADL设计工具对需要测试的AADL系统架构模型进行实例化操作,将AADL文件转换为AAXL文件,从转换的AAXL文件中利用模态关键字进行识别得到系统模态之间的迁移信息; 
步骤2:利用步骤1中得到的系统模态迁移信息和有限状态机的方式,将其构造 成模态迁移图:MTD=(ΩM,E,bo,be,σ),其中,ΩM={M0,M1...Mi,...Mn}为模态状态空间,Mi为其中某模态;E={e1,e2,...ei,...en}为触发模态迁移的事件集合;bo为初始状态;be为终结状态;σ为变迁函数,σ=ΩM×E->ΩM; 
所述触发模态迁移的事件集合E包括可触发模态Mi迁移的事件集合与非可触发模态Mi迁移的事件集合;所述可触发模态Mi迁移的事件集合为触发某模态Mi发生迁移的事件ei的集合;所述非可触发模态Mi迁移的事件集合为不能触发某模态Mi发生迁移的事件ej的集合。 
步骤3:将步骤2中的模态迁移图转换成蜕变测试需要的模态关系树,树的结点表示AADL模型中的任一模态,父结点指向孩子结点的边表示触发父结点的模态迁移到孩子结点模态的事件; 
转换步骤如下: 
步骤a:以模态迁移图中的初始状态顶点为模态关系树的根结点,作为当前访问的顶点,并加以标记; 
步骤b:依次从当前访问的顶点的未标记的边或者邻接点出发,深度优先遍历模态迁移图,遍历的过程中标记已访问的结点,标记进入该结点访问路径上的边; 
步骤c:当遍历的过程中遇到如下其中之一的情况时,返回父结点,转到步骤b继续进行如下遍历: 
A.遍历到初始状态顶点; 
B.遍历到终结状态顶点; 
C.遍历到的顶点,以该点出发的边及指向该点的边均已标记; 
步骤d:当模态迁移图中的所有结点和边均已标记,模态迁移图到模态关系树的转换结束,形成模态关系树; 
步骤4:从步骤3中得到的模态关系树的根结点出发,深度优先遍历模态关系树,将每条从根结点到叶子结点的路径信息作为一条记录,得到包括所有结点和边信息的路径信息记录;当叶子结点为初始状态结点时将该条路径信息放入路径集合A中,否则放在路径集合B中; 
步骤5:构造模态蜕变关系: 
模态蜕变关系1:f(M0,Eoi)=f(M0,Eoi n
其中f为AADL系统模型,M0为系统的初始模态,Eoi为某最小自达状态事件集合, 
Figure BSA00000355134400051
n为大于等于1任意正整数,表示了集合Eoi顺序执行的次数;如果模态蜕变关系1等式不成立,则该系统的AADL架构模型不可靠; 
模态蜕变关系2:f(M0,Eti)=f(M0,Eti′) 
其中,Eti为非自达状态事件集合,Eti′是在事件集合Eti中插入任意数量的非可触发当前模态迁移的事件后形成的事件集合;如果模态蜕变关系2等式不成立,则该系统的AADL架构模型不可靠; 
所述正确事件集合包括自达状态事件集合和非自达状态事件集合; 
所述自达状态事件集合为:可触发系统由初始模态返回到初始模态的一系列有序事件的集合,它表示为Eoi=(ei1,....,ein),满足关系式f(M0,Eoi)=M0,其中f为AADL系统模型,M0为系统的初始模态;若Eoi中 
Figure BSA00000355134400052
eii≠eij,则该集合称为最小自达状态事件集合;不同的该类型的集合组成最小自达状态事件集合的空间,表示为ΩE=(Eo1,Eo2,...Eoi...,Eon); 
所述非自达状态事件集合为:可触发系统由初始模态迁移到非初始模态的一系列 有序事件的集合; 
步骤6:根据步骤4得到的路径信息,分别除去集合A和B中的每条路径信息记录中的模态信息,得到集合A′和B′,其中集合A′中的每个元素为最小自达状态事件集合,集合B′中的每一个元素为非自达状态事件集合;集合A′和B′中的每个元素构成了模态蜕变关系中的源测试用例; 
步骤7:对每个最小自达状态事件集合Eoi进行n次的扩展形成新的有序事件集合,构成步骤5中模态蜕变关系1中的Eoi n成为后续测试用例,n为大于等于1的任意正整数;对非自达状态事件集合如Eti,由步骤4知Eti中每个事件前面位置上的模态,再根据步骤2中的非可触发该模态迁移的事件集合,选取其中的任意事件,在该位置插入,构成步骤5中模态蜕变关系2中的Eti′成为后续测试用例; 
步骤8:从AADL架构模型的初始模态出发,以步骤6中由最小自达状态事件集合构成的源测试用例和对应的步骤7中的后续测试用例,判断步骤5中的模态蜕变关系1中的等式是否成立;从架构模型的初始模态出发,以步骤6中的由非自达状态事件集合构成的源测试用例和对应的步骤7中的后续测试用例,判断步骤5中的模态蜕变关系2中的等式是否成立;;如果上述两组模态蜕变关系的等式均成立,说明AADL架构模型测试通过,否则报错,说明模型设计中存在缺陷模型不可靠。 
有益效果 
本发明提出的基于AADL模态蜕变关系的嵌入式软件测试方法,适合用来对航空、航天等大规模、复杂的嵌入式软件设计分析进行前期的验证工作,是对系统架构模型进行正确性检验的方法,解决了嵌入式软件测试中存在的“Oracle问题”,方便用户在软件设计的早期对嵌入式软件进行测试,在系统的架构级别保证软件的可靠性,如果模型架构不能满足相应的要求,可以在开发的早期修改软件的架构,这样不仅节约 了开发成本,同时也可以缩短开发周期。 
附图说明
图1:本发明方法流程图; 
图2:本发明实施例中的系统模态迁移图; 
图3:系统模态关系树; 
图4:系统模态迁移图到关系树的转换流程图; 
具体实施方式
现结合实施例、附图对本发明作进一步描述: 
该实例描述了一个飞行控制系统,系统有两个子构件分别为飞行状态处理进程Modify和错误处理进程Error_Deal。该系统有5个系统模态,分别为初始模态Initialize、飞行员控制模态Hum_Control_Mode、飞机自动控制模态Autopilot_Control_Mode、故障模态Malfuction_Mode、待重置模态Wait_Mode。其中当系统接收来自Init_Done的事件,系统由Initialize转换到Hum_Control_Mode,此时当接收来自Back_Init的事件系统会返回Initialize。系统由Hum_Control_Mode经进程Modify中的Autopilot_Control_UP端口事件的触发会转换到Autopilot_Control_Mode,此时如果收到Hum_Control_UP端口事件的触发返回Hum_Control_Mode。另外当系统由初始模态Initialize,接收到Init_error事件的触发会转换到Malfuction_Mode,此时如果接收到错误处理进程Error_Deal中的Repaired事件,会转换到Initialize,如果接收到Unrepaired事件,系统会转换到Wait_Mode。 
下面为该系统的AADL架构模型代码 
process Control_Modify_Process 
  features 
    Hum_Control_UP:out event port; 
    Autopilot_Control_UP:out event port; 
end Control_Modify_Process; 
process Error_Deal_Process 
  features 
    Repaired:out event port; 
    Unrepaired:out event port; 
end Error_Deal_Process 
system Flight_System 
  features 
    Init_Done:in event port; 
    Init_Error:in event port; 
    Back_Init:in event port 
end Flight_System; 
system implementation Flight_System.Impl 
  subcomponents 
    Modify:process Control_Modify_Process; 
    Error_Deal:process Error_Deal_Process 
modes 
    Initialize:initial mode; 
    Hum_Control_Mode:mode; 
   Autopilot_Control_Mode:mode; 
   Malfuction_Mode:mode; 
   Wait_Mode:mode; 
   Initialize-[Init_Done]->Hum_Control_Mode; 
   Initialize-[Init_Error]->Malfuction_Mode; 
   Hum_Control_Mode-[Back_Init]->Initialize 
   Hum_Control_Mode-[Modify.Autopilot_Control_UP]-> 
Autopilot_Control_Mode; 
    Autopilot_Control_Mode-[Modify.Hum_Control_UP]-> 
Hum_Control_Mode; 
    Malfuction_Mode-[Repaired]->Initialize; 
    Malfuction_Mode-[Unrepaired]->Wait_Mode; 
end Flight_System.Generic; 
按步骤1通过AADL设计工具对需要测试的AADL系统架构模型进行实例化操作,将AADL文件转换为AAXL文件,从转换的AAXL文件中利用模态关键字进行识别得到系统模态之间的迁移信息,结果如下: 
Initialize-[Init_Done]->Hum_Control_Mode; 
Initialize-[Init_Error]->Malfuction_Mode; 
Hum_Control_Mode-[Back_Init]->Initialize 
Hum_Control_Mode-[Modify.Autopilot_Control_UP]->Autopilot_Control_Mode; 
Autopilot_Control_Mode-[Modify.Hum_Control_UP]->Hum_Control_Mode; 
Malfuction_Mode-[Repaired]->Initialize; 
Malfuction_Mode-[Unrepaired]->Wait_Mode; 
按步骤2将步骤1得到的系统模态信息,构造为模态迁移图,见图2。 
按步骤3将步骤2中构造的系统模态迁移图按照步骤3里的方法(方法的流程见图4)转换成模态关系树,见图3。 
为方便表示将模态Initialize、Hum_Control_Mode、Autopilot_Control_Mode、Malfuction_Mode、Wait_Mode分别表示为M0至M4,事件Init_Done、Back_Init、Modify.Autopilot_Control_UP、Modify.Hum_Control_UP、Init_Error、Repaired、Unrepaired分别记作e1至e7。这些模态的可触发模态迁移的事件集合以及非可触发模态迁移的事件集合见表1。 
按步骤4,深度优先遍历步骤3生成的模态关系树,得到相应的路径信息,其中 得到集合A的元素分别为: 
(M0,e1,M1,e3,M2,e4,M1,e2,M0),(M0,e1,M1,e2,M0),(M0,e5,M3,e6,M0)。 
集合B中的元素为:(M0,e5,M3,e7,M4)。 
按步骤5构造两个模态蜕变关系。 
模态蜕变关系1:f(M0,Eoi)=f(M0,Eoi n); 
模态蜕变关系2:f(M0,Eti)=f(M0,Eti′)。 
按步骤6,除去步骤4得到的集合A中的每条路径信息记录中的模态信息,得到集合A′={Eo1,Eo2,Eo3},其中Eo1=(e1,e3,e4,e2),Eo2=(e1,e2),Eo3=(e5,e6)。A′中的每个元素均为个最小自达状态事件集合,并作为测试中的源测试用例;除去步骤4得到的集合B中的每条路径信息记录中的模态信息,得到集合B′={Et1},其中Et1=(e5,e7),Et1为非自达状态事件集合,并作为另外一组测试中的源测试用例。 
按步骤7构造后续的测试用例。 
针对步骤6中最小自达状态事件集合构成的源测试用例和步骤5中的模态蜕变关系1,这里取n=3时,对于Eo1=(e1,e3,e4,e2)的后续测试用例为Eo1 3=(e1,e3,e4,e2,e1,e3,e4,e2,e1,e3,e4,e2),相应的Eo2 3=(e1,e2,e1,e2,e1,e2),Eo3 3=(e5,e6,e5,e6,e5,e6)。 
针对步骤6中非自达状态事件集合构成的源测试用例和步骤5中的模态蜕变关系2构造后续测试用例。源测试用例Et1=(e5,e7),它是由步骤4中的路径记录(M0,e5,M3,e7,M4)生成的,因而可插入的事件位置有3处,即箭头所在的位置,如(↑1 e5,↑2 e73)。根据步骤2中的非可触发相应模态的事件集合(见表1),在↑1处对应的模态为M0,可插入事件集合{e2,e3,e4,e6,e7}中的任一事件,这里可取e3;↑2处对应的模态为M3,插入对应的非可触发M3迁移的事件集合{e1,e2,e3,e4,e5}中的任一事件,这 里取这里可取e2;↑3位置对应的是M4,因而可以插入事件集合E中的任一事件,这里取e4;最后可得一个后续测试用例为Et1′=(e3,e5,e2,e7,e4)。 
按照步骤8系统的初始模态为M0,分别运行根据步骤6生成的源测试用例和对应的步骤7中的后续测试用例,验证模态蜕变关系是否保持。验证步骤5中的模态蜕变关系1:f(Mo,Eo1)=f(Mo,Eo1 3),f(Mo,Eo2)=f(Mo,Eo2 3),f(Mo,Eo3)=f(Mo,Eo3 3)是否成立;以及验证步骤5中的模态蜕变关系2:f(Mo,Et1)=f(Mo,Et1′)是否成立;如果上述两组关系均成立则AADL架构模型测试通过,否则说明系统架构模型存在缺陷,模型不可靠,需要改进。 
至此,方法已完成对系统架构模型的蜕变测试。 
表1系统模态对应的可触发模态迁移和非可触发模态迁移的事件集合 
Figure BSA00000355134400111

Claims (1)

1.一种基于AADL模态蜕变关系的嵌入式软件测试方法,其特征在于步骤如下:
步骤1:通过AADL设计工具对需要测试的AADL系统架构模型进行实例化操作,将AADL文件转换为AAXL文件,从转换的AAXL文件中利用模态关键字进行识别得到系统模态之间的迁移信息;
步骤2:利用步骤1中得到的系统模态迁移信息和有限状态机的方式,将其构造成模态迁移图:MTD=(ΩM,E,bo,be,σ),其中,ΩM={M0,M1...Mi,...Mn}为模态状态空间,Mi为其中某模态;E={e1,e2,...ei,...en}为触发模态迁移的事件集合;bo为初始状态;be为终结状态;σ为变迁函数,σ=ΩM×E->ΩM
所述触发模态迁移的事件集合E包括可触发模态Mi迁移的事件集合与非可触发模态Mi迁移的事件集合;所述可触发模态Mi迁移的事件集合为触发某模态Mi发生迁移的事件ei的集合;所述非可触发模态Mi迁移的事件集合为不能触发某模态Mi发生迁移的事件ei的集合;
步骤3:将步骤2中的模态迁移图转换成蜕变测试需要的模态关系树,树的结点表示AADL模型中的任一模态,父结点指向孩子结点的边表示触发父结点的模态迁移到孩子结点模态的事件;
转换步骤如下:
步骤a:以模态迁移图中的初始状态顶点为模态关系树的根结点,作为当前访问的顶点,并加以标记;
步骤b:依次从当前访问的顶点的未标记的边或者邻接点出发,深度优先遍历模态迁移图,遍历的过程中标记已访问的结点,标记进入该结点访问路径上的边;
步骤c:当遍历的过程中遇到如下其中之一的情况时,返回父结点,转到步骤b继续进行如下遍历:
A.遍历到初始状态顶点;
B.遍历到终结状态顶点;
C.遍历到的顶点,以该点出发的边及指向该点的边均已标记;
步骤d:当模态迁移图中的所有结点和边均已标记,模态迁移图到模态关系树的转换结束,形成模态关系树;
步骤4:从步骤3中得到的模态关系树的根结点出发,深度优先遍历模态关系树,将每条从根结点到叶子结点的路径信息作为一条记录,得到包括所有结点和边信息的路径信息记录;当叶子结点为初始状态结点时将该条路径信息放入路径集合A中,否则放在路径集合B中;
步骤5:构造模态蜕变关系:
模态蜕变关系1:f(M0,Eoi)=f(M0,Eoi n)
其中f为AADL系统模型,M0为系统的初始模态,Eoi为某最小自达状态事件集合,
Figure FSB00000879110600021
n为大于等于1任意正整数,表示了集合Eoi顺序执行的次数;如果模态蜕变关系1等式不成立,则该系统的AADL架构模型不可靠;
模态蜕变关系2:f(M0,Eti)=f(M0,Eti′)
其中,Eti为非自达状态事件集合,Eti′是在事件集合Eti中插入任意数量的非可触发当前模态迁移的事件后形成的事件集合;如果模态蜕变关系2等式不成立,则该系统的AADL架构模型不可靠;
所述事件集合包括自达状态事件集合和非自达状态事件集合;
所述自达状态事件集合为:可触发系统由初始模态返回到初始模态的一系列有序事件的集合,它表示为Eoi=(ei1,....,ein),满足关系式f(M0,Eoi)=M0,其中f为AADL系统模型,M0为系统的初始模态;若Eoi则该集合称为最小自达状态事件集合;不同的该类型的集合组成最小自达状态事件集合的空间,表示为ΩE=(Eo1,Eo2,...Eoi...,Eon);
所述非自达状态事件集合为:可触发系统由初始模态迁移到非初始模态的一系列有序事件的集合;
步骤6:根据步骤4得到的路径信息,分别除去集合A和B中的每条路径信息记录中的模态信息,得到集合A′和B′,其中集合A′中的每个元素为最小自达状态事件集合,集合B′中的每一个元素为非自达状态事件集合;集合A′和B′中的每个元素构成了模态蜕变关系中的源测试用例;
步骤7:对每个最小自达状态事件集合Eoi进行n次的扩展形成新的有序事件集合,构成步骤5中模态蜕变关系1中的Eoi n成为后续测试用例,n为大于等于1的任意正整数;对非自达状态事件集合Eti,由步骤4知Eti中每个事件前面位置上的模态,再根据步骤2中的非可触发该模态迁移的事件集合,选取其中的任意事件,在该位置插入,构成步骤5中模态蜕变关系2中的Eti′成为后续测试用例;
步骤8:从AADL架构模型的初始模态出发,以步骤6中由最小自达状态事件集合构成的源测试用例和对应的步骤7中的后续测试用例,判断步骤5中的模态蜕变关系1中的等式是否成立;从架构模型的初始模态出发,以步骤6中的由非自达状态事件集合构成的源测试用例和对应的步骤7中的后续测试用例,判断步骤5中的模态蜕变关系2中的等式是否成立;如果上述两组模态蜕变关系的等式均成立,说明AADL架构模型测试通过,否则报错,说明模型设计中存在缺陷模型不可靠。
CN 201010554273 2010-11-18 2010-11-18 一种基于aadl模态蜕变关系的嵌入式软件测试方法 Expired - Fee Related CN102053910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010554273 CN102053910B (zh) 2010-11-18 2010-11-18 一种基于aadl模态蜕变关系的嵌入式软件测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010554273 CN102053910B (zh) 2010-11-18 2010-11-18 一种基于aadl模态蜕变关系的嵌入式软件测试方法

Publications (2)

Publication Number Publication Date
CN102053910A CN102053910A (zh) 2011-05-11
CN102053910B true CN102053910B (zh) 2013-01-16

Family

ID=43958255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010554273 Expired - Fee Related CN102053910B (zh) 2010-11-18 2010-11-18 一种基于aadl模态蜕变关系的嵌入式软件测试方法

Country Status (1)

Country Link
CN (1) CN102053910B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140053542A (ko) * 2012-10-26 2014-05-08 삼성전자주식회사 내장형 소프트웨어의 자동 테스트 장치, 자동 테스트 방법 및 테스트 시나리오 작성방법
CN103617117B (zh) * 2013-11-15 2016-03-23 中国航空无线电电子研究所 一种基于航空嵌入式软件测试知识库系统
CN104699595B (zh) * 2013-12-06 2017-07-28 北京大学 一种面向软件升级的软件测试方法
CN104598381B (zh) * 2015-01-26 2018-01-02 中国人民解放军理工大学 一种蜕变测试中失效测试用例的定位方法
CN104915680B (zh) * 2015-06-04 2018-06-19 河海大学 基于改进型rbf神经网络的多标签蜕变关系预测方法
CN107291435B (zh) * 2016-04-12 2020-08-25 华东师范大学 一种不确定性环境下混成aadl模型量化分析方法
CN106874200B (zh) * 2017-02-14 2020-07-07 南京航空航天大学 基于aadl的嵌入式软件可靠性建模与评估方法
CN110502211B (zh) * 2019-08-02 2023-02-28 中国航空无线电电子研究所 一种基于SysML模块图的AADL模型构造方法
CN110823226B (zh) * 2019-10-30 2021-04-30 北京航空航天大学 一种基于蜕变测试技术的无人机智能航路规划测试方法
CN111553408B (zh) * 2020-04-26 2020-12-25 智泉科技(广东)有限公司 视频识别软件自动测试的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807147A (zh) * 2010-04-15 2010-08-18 西北工业大学 一种从嵌入式软件代码中自动抽象软件架构的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234094B2 (en) * 2003-09-30 2007-06-19 Sudhir Dattaram Kadkade Automaton synchronization during system verification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807147A (zh) * 2010-04-15 2010-08-18 西北工业大学 一种从嵌入式软件代码中自动抽象软件架构的方法

Also Published As

Publication number Publication date
CN102053910A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
CN102053910B (zh) 一种基于aadl模态蜕变关系的嵌入式软件测试方法
US10657029B2 (en) Partitioning block diagrams into executable contextual models
CN103699489A (zh) 一种基于知识库的软件远程故障诊断与修复方法
Zhou et al. A class of general transient faults propagation analysis for networked control systems
US10275548B1 (en) Interactive diagnostic modeling evaluator
CN111108481B (zh) 故障分析方法及相关设备
Hooda et al. A review: study of test case generation techniques
CN115687115B (zh) 一种移动应用程序自动化测试方法及系统
Morozov et al. Openerrorpro: A new tool for stochastic model-based reliability and resilience analysis
CN103678116A (zh) 用于促进自动化程序测试的方法和系统
Naslavsky et al. Mbsrt2: Model-based selective regression testing with traceability
Sadri‐Moshkenani et al. Survey on test case generation, selection and prioritization for cyber‐physical systems
Lipaczewski et al. Using tool-supported model based safety analysis--Progress and experiences in SAML development
Fabarisov et al. Model-based stochastic error propagation analysis for cyber-physical systems
Garro et al. Modeling of system properties: Research challenges and promising solutions
CN115176233B (zh) 以确定性顺序执行测试
BELL et al. Model-based mutation testing using pushdown automata
Prosvirnova et al. AltaRica 3.0 project: Compile guarded transition systems into fault trees
US20140053137A1 (en) Method for developing software in a parallel computing environment
Bouali et al. Formal verification for model-based development
RU2447488C1 (ru) Способ и система построения модели нарушенного функционирования технического объекта и машиночитаемый носитель
Zhao et al. Nesting algorithm for dual-graph error propagation models
Grimmeisen et al. Automated generation of hybrid probabilistic risk models from sysml v2 models of software-defined manufacturing systems
Hulse et al. Synthetic fault mode generation for resilience analysis and failure mechanism discovery
JP5736588B2 (ja) ソースコード変換方法及びソースコード変換プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

Termination date: 20141118

EXPY Termination of patent right or utility model