论文部分内容阅读
计算机联锁系统是保证车站内行车安全的关键设备,是高安全性、高可靠性的实时系统,在投入使用前需要进行全面、严格的测试。由于联锁系统涉及到的工程量十分庞大,依赖于现场试验很难遍历其功能发现漏洞,利用计算机仿真测试技术可降低测试损耗,但在测试过程中依然面临着依赖专业人员手工操作、测试重复步骤多、测试耗时长等难题,测试效率难以提高。针对上述情况,本人提出了一种计算机联锁软件仿真测试方法,该方法利用时间自动机模型自动生成测试序列,利用萤火虫算法自动优化测试序列,最后结合实际站场数据自动执行测试序列。主要内容包括:(1)提出了一种基于进路控制的自动测试框架,该框架基于传统测试需求文档,通过分析计算机联锁软件测试需求,并根据进路控制时序逻辑将其包含的功能场景重组成了可以连续执行的测试项,减少一定重复操作的同时为后续对联锁的建模奠定了基础。(2)使用UPPAAL工具建立了基于进路控制的联锁系统时间自动机模型,该模型包含驱动测试、进路建立、自动解锁、取消进路、人工解锁和区段故障解锁六个子模型,子模型之间可进行信息交互,并利用该工具自带的仿真和验证功能证明了模型的正确性,引入辅助软件CoVer自动生成了覆盖模型所有迁移路径的原始测试序列集。(3)设计了基于萤火虫算法的测试序列优化方法,选取了三个基本功能场景对算法的应用进行说明,并与时间自动机产生的原始测试序列和基于遗传算法优化的测试序列进行对比,证明了萤火虫算法在收敛更快的情况下,有效降低了 9%的冗余度。(4)开发了计算机联锁仿真测试平台,结合实际站场对本文提出的方法进行了验证,结果表明,该仿真测试方法相对于传统方法,每条进路的全功能测试的抽象测试序列冗余度减少14%,具体测试步骤最多可减少36.1%,测试一个小型站场的时间由1~2天减少到7个小时左右,测试一个中型站场的时间由3~5天减少到18个小时左右。本文的研究结果表明,基于时间自动机模型和萤火虫算法的联锁仿真测试方法在保证测试覆盖度的同时,提升了测试的自动化程度,减少了测试的重复操作,相对于传统测试方法对测试效率有了明显提升。