如果您的页面无法显示,请点击这里
简介
当今世界中的大多数工程学科都采用了模拟技术。从模拟机翼上大气条件的风洞,到机械应力模拟、飞机引擎热特性模拟,再到集成电路运行方式的模拟,与单纯利用实体世界相比,模拟可以让工程师们更快速、更经济且更可靠地完成设计测试。
全系统模拟
但颇具讽刺意味的是,嵌入式软件模拟的使用却一直滞后于其它工程学科。在这种背景下,当下的模拟对象变成了嵌入式目标硬件的各种行为特征,其中包括处理器的指令集、缓存、内存,中断、存储和以太网控制器之类的设备,以及板载与非板载总线。该类型的模拟通常被称为全系统模拟,是一种虚拟平台,或者说是一种虚拟样机,它可以让一整套嵌入式目标软件堆栈(从管理程序到固件、操作系统,再到应用程序)运行于虚拟平台之上,且与在物理硬件上运行的方式相同。

除此之外,全系统模拟还使一套完整的目标系统成为了可能——不管是单板、通过一个背板连接的一个机架板,还是通过以太网或互联网连接的一系列设备。如此则史无前例地为开发人员、系统集成商以及测试人员提供了访问一整套完整系统的权限。

正如其它类型的工程模拟一样,使用全系统模拟器也可以带来许许多多相关的好处。除了让工程师能够更快地尝试新硬件设计与体验之外,虚拟平台还可以为整个软件团队、测试团队以及集成团队提供随处可及的目标硬件访问权限。

但最重要的是,虚拟平台可以让工程师做到利用物理硬件绝对办不到的事情,比如冻结整套系统的状态,存储下来以备之后访问,界时,不管您在世界的任何地方,都可以再像从来没有停止过一样继续执行。目标计时可以调慢或调快,从而排除计时相关漏洞;目标执行可以反向运行,以查找某实际漏洞的成因;而目标设备也可以由模拟器操纵,以模拟硬件及系统故障。全系统模拟器还提供无干扰性执行分析度量,其中包括读取、执行或写入内存和I/O位置。
DO-178B/C 认证活动
就参与过DO-178B/C项目的任何人来讲,要求验证的各个等级是重头戏,可能会占用该项目70%以上的总体资源和精力。而且,随着航空电子设备与其它设备类型的集成化、连接化(比如以太网或互联网),验证的复杂程度(及安全分析)也有显著增长。

DO-178B/C的建议是:最有效的验证测试,就是测试该系统功能的、基于高层次要求的测试。之后,再辅以低层次要求测试及稳健性检验作为补充。应该在运行这些测试时执行覆盖率分析,而且如果得到的覆盖率不是100%,则要再创建附加测试以实现100%的代码覆盖率。

实际上,由于技术的诸多限制(比如不能获得整个目标系统的访问权限、存储覆盖率数据的目标内存有限、主机/目标通信限制、影响实时性能等等),所以有些时候,许多的航空电子设备开发人员会以牺牲对基于要求的测试投资为代价,转而将大量的验证资源投向创建单元测试,从而确保100%的代码覆盖率。尽管单元测试确实可以实现100%的代码覆盖率,但其在验证该系统是否在履行正确行为方面却不太有效。

欲达成DO-178B/C的验证目标,还有一个稳健性检验的问题。对于实验室里几乎不可能生成的某种间歇性硬件故障或其它硬件(或系统)状况,一款测试软件又该如何应对?
虚拟平台可以解决上述问题。
首先,虚拟平台可以充当整个目标系统的高仿真替代:不仅仅是一个单板,还包括所有单板,甚至是整体的机架板。完整、未经修改与编译的目标软件可以运行于模拟的目标硬件上方,从而无需存根、重新编译或是不同的操作系统库。如此一来,便可以在该虚拟平台上进行高层次系统要求测试的开发与运行。而且,这些测试也能更有效地运行。如果是在一部有所限制的单独物理硬件上执行测试,从开始到完成,测试可能会花去几天甚至几个星期的时间;而利用多个虚拟系统并同时运行,则可以一夜完成。除此之外,所有测试者和集成商都拥有随处访问目标系统硬件的权限,允许他们更长时间地访问目标硬件,而且与物理硬件通常的生命周期相比,使用亦处于较早阶段。如此可改善测试的质量与完全性。

第二,虚拟平台能以一种无干扰的方式收集执行数据。就算是可能会因频繁的主机/目标通信而影响到系统实时性能的源代码覆盖率分析器,也由于可以利用该全系统模拟器所提供的内置框架而较少干扰地运行。结果就是,覆盖率分析数据可以更有效地从基于高层次要求的测试中收集,而不是设计用于生成结构化覆盖的低层级单元测试中。

第三,因为全系统模拟会为系统测试人员提供一个可配置的目标平台,所以硬件和系统故障都可以方便地以编程方式生成,从而测试出该系统的稳健性。比如说,可轻松模拟将目标系统的时钟调快或调慢,以检查计时敏感性、可能损坏的内存与I/O,或者是线路阻塞中断。即便是片上系统之类的设备内部故障,也可以利用虚拟平台轻松创建。

最后,利用虚拟平台,就算是在某种DO-178B/C环境中,也能出现像持续集成与测试之类的敏捷方法,这一点可能最为明显。但是,如果从整个系统层面考虑,其优势甚至更大。如果只使用物理硬件,许多系统及基于要求的测试都只能在目标硬件可用之后,才可以开发和运行。而虚拟平台通常都会提前几个月发布,从而允许这一类测试开始于进程当中非常早的阶段。这样做的好处是,系统级的漏洞可以在早期——也就是修复相对简单且成本不高的时候被发现。从一个项目管理人员的角度来看,如此可大幅减少DO-178B/C项目中的风险。
 
 
关于风河系统公司
风河(Wind River)公司是Intel(NASDAQ: INTC)的全资子公司,也是全球领先的嵌入式和移动软件提供商。从1981开始至今,风河公司一直是嵌入式设备中计算技术的先锋。在当今世界中,已经有超过10亿台产品应用了风河公司的技术成果。风河公司总部设在美国加州的Alameda,在全球15个国家设有分支机构。关于风河的更多内容,请访问 http://www.windriver.com/http://blogs.windriver.com/