字体大小 [ ]    
  • 软件验证系统SHAM (Simulation Handling Module)

            飞行器计算机中的嵌入软件日趋复杂且数量庞大,SHAM是基于目标处理器的Processor-in –the-loop的仿真的软件验证设备,已经形成一系列产品。在太空应用中,已经支持了一系统处理器应用,这些处理器包括:

            MAS281

            MA3-1750

            PACE31750

            SPARC ERC-32

            DSP TSC 21020E

            SHAM已经几次检测出严重的错误,并防止了整个卫星的损失。这个观念已经广泛地被工业界的接受,这个软件验证设备目前已经成为XMM,Integral 和Rosetta项目的基础,在此之前还用作ESA实验室内的独立软件验证设备,为ISO、SHO\CLUSTER和Artemis作为测试工具。SHAM的软件测试原则在ISO、SOHO和CLUSTER项目中被证明为对于众多的软件验证任务是非常有效的。软件验证设备(SVF)的目标是提供一个通用的应用程序界面(API),使得这些工具和应用程序可以独立于目标处理器而工作。此外,它也提供了一个非结构化的测试环境的基本原则。SVF是一个多计算机的环境,包括一个宿主机(一般是一个工作站)和一个软件处理构件(SHAM)组成,SHAM包括目标处理器(CPU)的一个复制和一个支持与控制系统。这个目标CPU在测试过程中运行软件,支持与控制系统、控制目标CPU,并仿真低层次的硬/软件接口。工作站用来全面地测试,控制和复杂的环境仿真。因为目标CPU的类型和软件在测试中的类型是一样的,可以这被测软件就不需要重写了。SHAM的一个最重要的特性是目标CPU和所有与它相关联的时间可以被支持与控制系统所控制。这个随时可以停止的方法在目标处理被释放和由于环境仿真需要时间计算而冻结时,允许实时地运行。来自于目标处理器运行的时间可以认为是与仿真的实时时间是相同的,所以它被用来控制整个系统的时间线,因此它可被用来创建一个具有真实功能系统软件测试环境。支持与控制系统可以不需要指令来鉴示所有软件测试细节,为了支持被测试中的软件的观察,这里提供了一系统的功能:

            断点可以被设置在目标CPU的所有内存和I/O地址空间的位置。

            断点可以区分读和写访问,也能区分数据和指令的区别。

            断点可以按照模拟的实时进行设置。

            跟踪最后一个1K总线循环的缓冲区。

             在独立的位置层次上的内存访问检测。



            因此,SHAM的属性使得可以在宿主机上使用测试工具和仿真模型,测试和仿真对于SHAM遵从Client/server的概念。由于SHAM和HOST使用了同一个应用程序界面(API),用户可以自由地建立他的仿真模型,使得它更加有效。例如,如果一个分散的电子系统的模型在支持与控制系统中被执行,它就可以高效的运行,并且可以更容易地在一个通用的工作站上被用ESL或MATRIXX创建的复杂的动力仿真模型控制和运行。





            总之SHAM的主要的技术特性:

            模拟所有I/O

            在软件测试中不需要任何设备

            对所有的内存的I/O可以置断点。

            故障注入

            覆盖率分析

            跟踪缓冲区(反跟踪/逻辑分析)

            实时测试,系统可以重用

    Proven concept
    ISO
      validation/training
    SOHO validation/training
    Cluster validation/virtual reality
    XMM validation/maintenance
    Integral validation/maintenance
    Rosetta design/validation/main.


    Available target CPU’s
    MAS281 (opt MMU)
      SHAM1
    MA31750 (opt MMU) SHAM2
    PACE1750 (opt MMU) SHAM3
    ERC32 SHAM4