软件可靠性测验是当时软件技能范畴中一个比较抢手的论题,软件可靠性对整个体系可靠性的影响越来越大,特别关于航空类体系软件来说,软件毛病往往是导致体系失利的首要原因之一。选用模仿被测方针软件实践运转环境对软件进行测验是现在国内外共同以为比较抱负的软件测验办法之一。合理规划方针软件可靠性的运转环境,较为实在地模仿出被测软件的实在运转环境,不光能够检测到方针软件运转进程中存在的毛病,而且也能够确保测验成果的实在性和置信度。
本文在介绍软件可靠性仿真测验渠道的组成及功用的基础上,以仿真器分体系为例,对渠道在实时测验进程中的一些完结技能进行了研讨。
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 仿真器调度模块的规划
仿真器关于各类使命选用时刻、事情以及数据驱动相结合的调度准则进行操控办理。为了进步体系的实时性和适应性,选用了动态和静态调度战略相结合、使命产生的周期和优先级相结合的调度办法。
在调度结构中会集不同的调度战略。在运转形式下:体系测验作业正常,则关于周期性的实时使命选用静态生成的调度战略;在体系产生毛病时,则选用暂时的动态调度战略,它依据体系的运转情况,实时参加动态使命,并依据动态使命的等级,决议该使命是当即履行仍是按次第履行。跟着毛病的扫除,撤销该使命,体系从头康复到从前的调度战略。 仿真器依据使命运转占用时刻的不同,以不同速率来调度不同模块,满意实时驱动的要求。选用优先级调度和分时调度相结合的办法:优先级调度办法即调度模块关于每一项使命都赋予了严厉的优先级,按优先级的次第从高到低履行;分时调度办法是选用时刻片轮转的办法来履行各个使命,这种调度办法多是在停止形式下选用(或在运转形式下,体系现已完结短周期的使命,还留有时刻余量的情况下)。例如,关于1553B数据驱动和交联数据生成等短周期使命在每25 ms守时届时串行化履行,被赋予了较高优先级,而关于显现和记载数据等长周期使命分时履行或穿插履行,被赋予了较低优先级,以确保能正常驱动MBI卡。
依据上述规划,在实时测验进程中,仿真器的实时调度层次模型如图3所示。
图3 RUN()形式下实时使命调度模型示意图
3 结束语
本文以实时测验某航空软件可靠性为布景,介绍了仿真器在仿真测验渠道中的效果。依照模块化和可扩大的规划思维,给出了仿真器功用结构组成;而且侧重介绍了仿真器的使命调度办理模块的规划思维,针对具体使命和体系作业形式,提出了集成动态调度战略;关于优先+级的调度办法,选用了优先级起浮的准则。别的,给出了实时网络完结的办法,评论了图形实时显现的可行性,使用WinDriver完结了在Win98下对硬件MBI卡的直接驱动。试验成果表明,上述调度思维与相关技能归纳运用,很好地满意了仿真器体系作业的实时性。