基于有色petri网的车载设备模式转换测试序列生成方法-赵晓宇.pdf
《基于有色petri网的车载设备模式转换测试序列生成方法-赵晓宇.pdf》由会员分享,可在线阅读,更多相关《基于有色petri网的车载设备模式转换测试序列生成方法-赵晓宇.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 8卷,第4期2 0 1 7年7月中 国 铁 道 科 学CHINA RAILWAY SCIENCEV0138 No4July,2017文章编号:10014632(2017)04011509基于有色Petri网的车载设备模式转换测试序列生成方法赵晓宇1,杨志杰2”,吕旌阳4(1中国铁道科学研究院研究生部,北京100081;2中国铁道科学研究院通信信号研究所,北京100081;3中国铁道科学研究院国家铁路智能运输系统工程技术研究中心,北京100081;4北京邮电大学信息与通信工程学院,北京100876)摘要:为高效、自动生成覆盖车载设备所有转换路径的测试序列,根据CTCS-3级列控系统系统需求
2、规范,首先基于有色Petri网构建车载设备模式转换(MTCPN)模型,并采用ASK-CTL公式和非标准状态空间查询法对MTCPN模型进行分析和验证,然后根据车载设备模式转换规则,将车载设备的工作模式及其转换路径映射为有向图,采用中国邮路算法求解有向图,生成1条最优邮路,并对该邮路进行二次优化,生成车载设备模式转换的测试目标序列集;将测试目标序列作为MTCPN模型的输入,仿真生成满足全路径覆盖准则的可执行的测试序列集和XML文件。验证结果表明:基于有色Petri网的测试序列生成方法能够满足测试需求,并且避免了既有方法的状态空间爆炸和搜索死循环问题,提高了测试效率。关键词:测试序列;车载设备;列车
3、控制系统;模式转换;有色Petri网;中国邮路算法;路径覆盖量中图分类号:U284482 文献标识码:A doi:103969jissn1001463220170416CTC孓3级列控系统由车载设备和地面设备组成,属于典型的安全苛求系统。为了验证其行为功能的正确性,并保证不同厂家设备的兼容性,对其系统的功能进行测试成为必不可少的环节。如何高效地自动生成覆盖车载设备所有转换路径的测试序列,是目前车载设备模式转换测试的关键性问题。现有测试方法以人工测试和现场测试为主,测试时间较长,测试费用昂贵,导致测试效率较低,并且在很多情况下已经无法满足测试的需求。在这种背景下,自动测试方法应运而生。针对车载设
4、备模式转换功能的测试序列生成问题,李伟1将其转化为中国邮路问题2,使用遗传算法生成测试序列;张勇3采用Edmonds-Johnson算法及LINGO工具解决测试序列生成问题;但文献1,3都未涉及具体的测试序列生成过程,仅给出了车载设备模式转换的测试顺序。测试序列的合理性验证方面,张仕雄4对CTCS-3级列控系统测试序列的合理性进行了验证,但仅对序列合理性进行了初步分析。近年来,基于模型的测试方法51有效地融合了形式化方法与传统测试技术,在形式化建模方法的基础上,自动生成大量可靠的测试用例,提高了人工编写测试用例的效率,缩短了与自动化程度较高的测试执行过程的距离。基于模型的列控系统测试方面,赵显
5、琼8针对多端口协同测试问题提出了端口标记的时间输人输出自动机(LpTIOA);袁磊9提出了1种能够满足全状态、全变迁覆盖准则的测试套自动生成算法;并且文献89均通过UPPAAL和CoVer工具生成满足相应覆盖标准的测试套,但生成的测试套抽象层次太高,无法描述系统的并发行为;姜鹏10根据安全苛求攸关场景建模需求,扩充了UML的事件驱动机制和时间特性描述机制,并提出了1种面向安全攸关场景的测试用例自动生成方法,但UML无法描述系统的并发行为,不能进行模型检验,具有一定的局限性。相对于其他形式化语言,有色Petri网收稿日期:20160510;修订日期:20170412基金项目:中国铁路总公司科技研
6、究开发计划项目(2015X002一B)第一作者:赵晓宇(1990),女,河南延津人,博士研究生。E-mail:zhaoxiaoyu059126com万方数据116 中国铁道科学 第38卷(CPN)nq3具有直观的图形表示和严密的数学基础,在描述系统的分叉、同步和并行等行为、层次化建模及处理数据方面具有很大优势;牟小玲14分析了目前基于Petri网的测试用例生成方法,并指出了未来研究方向。在CPN的建模方面,刘婧1阳针对BitTorrent协议的高并发性和交互行为复杂性,给出了协议的CPN层次模型,充分利用了CPN在层次建模、复杂数据处理与模型检验的优势。在CPN的模型检验方面,马国富16提出了
7、1种基于ASkCTL及模型检验理论的死标志合理性验证算法。在基于CPN的测试研究方面,Farooq17提出了基于控制流的测试序列生成方法,通过随机漫步算法对CPN模型的状态空间进行多次搜索,生成满足覆盖标准的测试例集合,但容易生成冗余的测试案例;刘婧18研究了基于CPN的输入输出一致性测试(IOCO)生成方法,并给出了1种基于CPN描述测试目的模型并驱动IOCO一致性测试选择的新方法”1;赵显琼20给出了基于CPN的测试案例自动生成算法和测试序列搜索算法;郑伟21对测试案例生成算法20进行了改进,提出了基于CPN的全路径覆盖优化算法和序列优选算法,后又提出了基于改进蚁群算法的测试序列生成方法2
8、 2|,用于提高自动测试执行的效率。总体而言,这些研究均采用启发式搜索算法生成测试用例,容易造成状态空间爆炸和死循环问题。同时,车载设备模式转换的复杂性,增加了传统搜索算法实现转换路径全覆盖的困难。相比而言,基于CPN的模拟仿真,属于状态空间的动态探索分析,是解决状态空间爆炸和死循环的有效途径。因此,本文基于CTCS-3级列控系统系统需求规范(SRS)23(简称规范),针对车载设备模式转换的功能,提出基于CPN的车载设备模式转换测试序列生成方法。1基于CPN的车载设备模式转换测试序列生成方法11方法的总体框架基于CPN的车载设备模式转换测试序列生成方法的总体框架如图1所示,包括如下3个部分。(
9、1)根据规范,基于CPN构建车载设备模式转换(简称为MTCPN)模型,并采用ASK-CTL公式和非标准状态空间查询法对MTCPN模型进行分析与验证。(2)根据规范,采用中国邮路算法生成车载设备模式转换的测试目标序列。(3)将生成的测试目标序列作为MTCPN模型的输入,仿真生成满足全路径覆盖准则和CPN相应覆盖准则的可执行的测试序列集和XML文件集,避免了采用启发式搜索算法导致的状态空间爆炸和死循环问题。图1基于CPN的车载设备模式转换测试序列生成方法框架图12相关定义定义1:非层次化CPN模型采用9个元素表示,即CpN一(P,T,A,三,V,C,G,E,工),其中各个元素的含义如下。(1)P为
10、库所的有限集合;T为变迁的有限集合;A为弧的有限集合;且满足Pn TPnATnA一乃,APTn丁P。(2)三为有限非空的颜色集合,用于定义模型中的数据类型;V为变量集合;且满足Type口E三,础V。(3)C(C:P一三)为着色函数,用于定义库所上允许的颜色类型,即从库所P到颜色集三的映射。(4)G(G:r+EXPR。)为守卫表达式函数,用于定义变迁上的守卫函数,给出了变迁的点火条件。(5)E(E:AEXPR。)为弧表达式函数,用于定义弧上的弧函数,满足而peE(口)一C(p),即与弧连接的库所的着色函数约束着弧表达式的数据类型,其中Cm为集合C的多重集集合。(6)I(I:P-,EXPR垂)为初
11、始化赋值函数,万方数据第4期 基于有色Petri网的车载设备模式转换测试序列生成方法 117用于定义库所的初始数据赋值,满足TypeJ(夕)一C(P)Ms。定义2:CPN模块采用4个元素表示,即CPNM一(CPN,P。,Tsub,PT),其中各个元素的含义如下。(1)C州为一个非层次化CPN模型。(2)P。P为端口位置集合;TsubT为替代变迁集合。(3)PT:PD。一IN,0UT,IO)为端口类型函数,用于定义端口位置;P。表示3种端口类型:输入端口IN)、输出端口(OUT)和输入输出端口IO)。定义3:层次化CPN模型采用4个元素表示,即CPNH一(S,SM,PS,FS),其中各个元素的含
12、义如下。(1)S为CPN模块的有限集合,即S一(P,p,A5,驴,C,G,P,r),E。b,Pk,P个);其中,当S1,s2S,51S2时,有(P电UP)n(P5z U T2)一够。(2)SM:Ts曲一S为子模块函数,用于关联替代变迁和对应的CPN模块。(3)PS()P础()P潞幻(V tTsub),用于定义端口间的关联性,P础()为替代变迁所在模块的端口库所,P裂。为与替代变迁对应的CPN模块的端口库所,满足V(p,P 7)Ps(),PT(p)=PT(p 7),C(夕)一C(p),j(户),即具有关联性的库所是相通的。(4)FS2p是库所融合集,满足V(P,P7),fsFS,C(P)一C(P
13、),I(P),即库所融合集中的所有库所是相通的。定义4:ASK_CTL状态公式表示如下,其中各参数的定义见文献24。A:一tt a IA A1 V A2 Il EU(A1,A2)l AU(A1,A2)一荭l a NOT(A)I A1 U A2 IIEU(Al,A2)J AU(Al,A2)定义5:ASK-CTL状态公式的语义如下,其中各参数的定义见文献24。(1)og,口ISttt总是为真;(2)og,口Ista,iif a在节点口上为真;(3)og,口ISt-I ANOT(A),iif notog,口I=stA;,(4)og,u lStAl VA2一A1 UA2,iif og,可IStAl o
14、r og,口lstA2;(5)og,铆Is。,iifa一(s,(,6),5 7)Ana IT,B;(6)og,勘IstEU(A:,Aj),iifj丌vPaths(s):了J:V0i勺:og,丌(口,) IStAl人V i巧:og,丌(剧i) IstA2;(7)og,剐I=s,AU(Ai,Ai),iff了7rEvPaths(可):J:Voi勺:og,7r(口i) l=-stAl八V i巧:og,丌(口i) IStA2。ASKCTL的变迁公式和语义也见文献24。2 MTCPN模型的构建和验证21 1wrCPN模型的构建根据规范可知:CTCS-3级列控车载设备有9种工作模式,即完全监控模式(FS)、
15、目视行车模式(OS)、引导模式(CO)、调车模式(SH)、隔离模式(IS)、待机模式(SB)、冒进防护模式(TR)、冒进后防护模式(PT)和休眠模式(SL);且车载设备各工作模式之间存在的转换条件(即转换路径)数量见表1。表1车载设备的模式转换路径数量表不同模式之间的转换路径数量条FS oS 00 SL TR根据规范,提出以下8条建模规则。(1)采用分层(2层)建模规则构建MTCPN模型,上层模型只考虑各模式之间的转换路径,下层模型考虑各模式转换的具体转换流程。(2) 规范中的“转换条件18”是针对CTC孓2等级的,本文不做讨论。(3)为使MTCPN模型简洁且不失普遍性,除SH,IS和SL模式
16、外,默认其他模式均与RBC已建立通信会话,并且只考虑各模式转换流程,对模式转换后的流程不做处理。(4)为使MTCPN模型便于分析,凡是跟应答器相关的流程,均按照单个应答器处理。璐一1l111lO1O盯一oooooo,oo1O1O1OO1O1OOl1OO1O瓣=踮刚f2孑3豫盯盆万方数据118 中国铁道科学 第38卷(5)建模过程严格遵守车载设备模式转换规范,暂不考虑特殊情况。(6)MTCPN上层模型的模式转换均用替代变迁表示,具体的转换流程均在MTCPN下层模型表示。(7)MTCPN模型中,颜色的定义、变量和库所等的命名均遵循一定的规则,以辅助算法实现。(8)对数据内容的判断行为,均在守卫函数
17、中体现。由此构建出MTCPN模型。其中,上层模型如图2所示;下层模型共有39个,这里仅给出其中SB模式转FS模式的下层模型,如图3所示。图2 MTCPN模型的上层模型m矗nm fms93:a(!In le:val“Eq孓;阳九沁媳etl,5,0卜27in,ms93)ena图3 SB模式转FS模式的下层模型22 MTCPN模型的验证模型验证的基本思想是用状态迁移系统表示系统的行为,用模态时序逻辑公式描述系统的性质。Cheng等人将CPN与模型检验相结合,并在CPNTools工具中引人了1种扩展逻辑语言ASKCTLE2 4|。本节根据CPN模型检测理论,使用分支时序逻辑ASK-CTL公式及非标准状
18、态空间查询法对构建的MTCPN模型进行验证。万方数据第4期 基于有色Petri网的车载设备模式转换测试序列生成方法针对图2进行MTCPN模型的死锁分析,其结果如图4所示,可知MTCPN模型无死标识节点,属于强连通图,说明构建的MTCPN模型满足规范要求的模式转换功能。letvaI ridTextIOopenOut“DeadMarkings txt“val一;TextlO。output(fid,”List of dead markings:n”)val一霉EvalNodes0istD母adMafklngs(), fn n=INT。output(rid,nval一。Te媲Io,output(rid
19、,“、n Number of dead morkings:。val一黧INToutput(fid。egdl“$tDeadMarkings0)InTextIOctoseOut(fidend;图4 MTCPN模型的死锁分析结果针对图3进行转换规则的验证,其结果如图5所示。实际测试的车载流程中,车载设备的初始工作模式始终为SB模式,即库所SB的初始标记为1 7(6,true)(变量“6”表示MMODE=6,即车载模式为SB模式,变量“true”表示BWrieComm=true,即SB模式下车载设备已与无线闭塞中心RBC建立了通信连接,那么存在某条路径,使得SB模式可转人FS模式;同理,存在某条路径,
20、使得FS模式可转入TR模式,执行ASLCTL公式,返回执行结果“true”,如图5(a)所示;如果删除库所SB的初始标记,其返回vaI lsConsideredTs 1 fn:Arc o boolval myASKCTLformuta t MODAL fEXISTUNTIL(13囊F C”Is Dead Trans黼ON“,fn,j怠。trL。:b。Ifun IsConsideredTs a=(T1sBFsSBFs 1彗ArcToTl a);vaI myASKCTLformulaMODAL(POS(AF(“Is Dead Transition“。IsConsideredTs)1evalnode
21、 myASKCT“ormula InitNode;fu九lsConsideredTs a=(T1FSTRReceiveMSGl6 1。矗rcToTl akcaI myASKCTLformulaMODAL(POS(AF(“Is Dead Transition“,lsConsidereb)jeval node myASKC飘ormula InitNode;¥al IsConsidered丁-fn:Arc-boo姻l m_I,ASKCTLformula m MODAL(EXI$LUNTIL m$Dead Transition”知):Ava“t mtrue:bool(a)存在I作模式情况FvaI Is
22、ConslderedTs I fn:ArcbooIval myASKCTLformula I MODALEXIST_UNTIL(TT,AF(“Is Dead Transition“,fn:AvaIit。faIse:booIfun IsConsideredTs a-T1s8Fss矗lFs l瓣如cToTI a);val myASKcTLformula班MODAL(POS(AF(“Is Dead Transition”,IsConsidere酣s):oval_node myASKCTLformula Inode;n lseonsIde阳dTs a=(TI。弼丁RReceiveMi;G16 I*Ar
23、cTvl akamyASKCTLformulaMODAL(POS(AF(“Is Dead Transition”IsConsideredTs)iovalnode myASKCn如rmula InitNode;vaI lsConslderedTs z fn:Arc-booIvaI myASKCTLformula t MODAL fEXI玎_uNTIL(TT-F(Is Dead Transition”抽):AvaI建-false:boo|(b)不存在工作模式情况F图5模式转换规则的验证结果结果如图5(b)所示,表示这种情况永远不会发生;如果设置库所FS的初始标记为1 7(o,true),其执行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 有色 petri 车载 设备 模式 转换 测试 序列 生成 方法 赵晓宇
限制150内