EDN China > 设计实例 > 测试与测量 > 虚拟仪器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 软件可靠性仿真测试平台实时技术研究

测控技术/作者:北京航空航天大学第五研究室 刘东艳 申功勋?? 2008年06月04日 ?? 收藏0

  软件可靠性测试是当前软件技术领域中一个比较热门的话题,软件可靠性对整个系统可靠性的影响越来越大,尤其对于航空类系统软件来说,软件故障往往是导致系统失败的主要原因之一。采用模拟被测目标软件实际运行环境对软件进行测试是目前国内外一致认为比较理想的软件测试方法之一。合理设计目标软件可靠性的运行环境,较为真实地模拟出被测软件的真实运行环境,不但可以检测到目标软件运行过程中存在的故障,而且也可以保证测试结果的真实性和置信度。

  本文在介绍软件可靠性仿真测试平台的组成及功能的基础上,以仿真器分系统为例,对平台在实时测试过程中的一些实现技术进行了研究。

  1 仿真测试平台系统功能及组成框架

  整个仿真测试平台采用分布式结构,由主控机分系统(以下简称为主控机)、仿真器分系统(以下简称为仿真器)和激励器分系统(以下简称为激励器)三个分系统组成,各分系统与被测目标软件的交联关系如图1所示。其中,主控机是测试平台的控制中心,它负责生成原始测试数据,向仿真器、激励器分发测试用例,协调两个分系统的工作,并根据测试状况控制仿真器和激励器的工作模式。仿真器和激励器将主控机传送过来的测试用例数据,生成真正的目标软件可以接收的测试用例数据传送给目标系统,同时,仿真器和激励器负责将自身工作状态信息和从目标系统得到的测试结果数据通过底层网络实时或非实时地传送回主控机。

仿真测试平台的交联关系图

  图1 仿真测试平台的交联关系图

  由于目标软件由汇编语言写成,内部处理过程较为复杂,所以采用黑盒测试方法。目标软件的处理周期为25 ms,因此在实时测试过程中,需要每25 ms有一组测试用例数据由仿真器通过1553B总线,激励器通过并口同时输入给目标软件。仿真器和激励器不仅需要每25 ms产生目标软件的输入数据,同步向目标软件发送数据,而且仿真器还能接收目标软件的输出,并且对输出数据进行相应的实时处理,如结果数据的收集、保存及数据的显示等等。由于整个测试平台是在非实时、多任务的Win98操作系统上实现的,因此,如何利用Win98的多任务并发的特性,采用合理的任务调度策略,在任务处理周期内,按时完成各种任务,并将多个任务协调一致,是整个设计过程中主要应该解决的问题。

  在图1所示的平台各分系统中,主控机与目标软件是通过仿真器形成实时闭环的。仿真器通过测试用例,实时给出目标软件闭环运行所需要的交联子系统发出的命令和数据,使得目标软件能够在较为真实的仿真任务剖面和交联环境中运行。因此,仿真器是仿真测试平台中的一个重要组成部分,仿真器的实时实现方法是整个平台系统设计的重点。

  2 仿真器分系统的功能设计及实时实现技术

  2.1 仿真器分系统功能结构

  仿真器分系统是个实时任务系统,在整个测试过程的运行模式下,需要并发处理不同的任务,如数据实时存盘、提取、交互式显示、每25 ms驱动1553B总线等任务,任务调度涉及到CPU、内存、网络、硬盘、数据结构、I/O接口等资源,因而合理调度各个任务,正确分配其所占用的系统资源,是仿真器测试平台设计的关键之一。

  为了提高平台系统的可靠性和故障快速恢复能力,仿真器采用功能模块化设计方法。不同任务对应的工作模块工作相对独立,可以随时依据新技术对相应模块的软件算法进行更新和扩充,这种设计易于发挥Win98的多任务的特性,提高平台系统实时工作的能力。其中,任务调度管理模块是仿真器平台系统的核心,其他各功能模块的运行都是在管理调度模块的统一管理控制下完成的。它与其他任务的功能模块之间的逻辑调用关系如图2所示。

任务调度管理模块调用关系

  图2 任务调度管理模块调用关系

  在仿真器设计中,除了必要的网卡(和主控机连接)和MBI卡(和目标系统连接)等硬件设备以外,仿真器的各项功能均是通过软件来完成的,因而系统软件设计中采用合理的调度策略,避免操作系统的缺陷,以实现仿真器的功能。

  2.2 仿真器分系统实时实现技术

  2.2.1 任务调度管理模块

  从上面的讨论知道,仿真器的实时性是通过仿真器的任务调度管理模块实现的。任务调度管理模块为仿真器分系统的主控模块,是分系统的全面管理者。该模块根据用户通过仿真器分系统人机接口界面输入的参数、显示过程的控制命令和主控机通过网络传送来的控制命令及参数,对并发执行的实时自检/维护、网络通信、交联仿真数据生成、数据/状态显示、数据记录、交联数据驱动、测试过程分析以及仿真器不同功能模式对应的任务队列进行管理和调度,协调各模块的工作,进行各模块的衔接,实现各线程的管理,完成与目标系统实时交联仿真任务。

  2.2.2 仿真器分系统任务划分

  由于仿真器分系统是用于目标软件的实时仿真测试,每个任务都必须根据目标软件运行的需要,满足实时交联仿真的定时限制,所以,为保证仿真器的实时性能,根据任务和平台系统工作模式的不同,在调度框架中集中不同的调度策略,任务调度涉及到实时任务和普通分时任务的调度。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

实时技术? 软件可靠性? 调度策略? 实时通信?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈