可靠、安全和可靠?Ada和VxWorks可以提供帮助!
由Guest Conderstor Ben Brosgol,高级技术人员,骗子
编写可靠、安全和安全的软件很难。对于具有严格认证要求的硬实时系统(如用于航空电子设备的DO-178B或DO-178C)来说,这样做更为困难,实际上是开发人员必须面对的最艰巨的挑战之一。应对这一挑战需要经验丰富的编程语言、开发工具和目标平台支持:AdaCore和风河系统公司自我们两家公司于2001年正式建立合作关系以来,一直向我们的共同客户提供服务。利用Ada语言和扩展的工具集风河的工作台IDE,应用程序开发人员可以在一系列中以最高级别的安全临界性生产软件实时操作系统平台和处理器系列。
涂层/风河开发环境在航空航天和国防工业中拥有悠久而强大的血统。展示的应用程序包括:
- 波音787 Dreamliner(普通核心系统,空调控制)
- EADS A-330多功能油轮运输(尾臂控制)
- 波音KC-46A加油机(通用核心航空电子平台)
- 巴西航空工业公司AMX喷气式飞机(运行飞行计划)
- 泰利斯英国精明级潜艇潜望镜
- Barco高级商务喷气式飞机显示系统
- Lockheed-Martin C-130J(块升级/飞行管理系统)
- 波音C-130 AMP(任务处理器)
- 波音KC-767A油轮(任务控制系统)
涂层/风河合作伙伴如何帮助您?
Ada语言
Ada本身带来了很多好处。作为一种现代通用语言,Ada具有强大的类型检查功能,可以在错误转化为运行时错误之前,尽早检测并纠正错误(在许多情况下是在编译时)。它具有您所期望的高级功能:面向对象、通用模板、异常处理、数据抽象、并发(任务)、广泛的标准库等。该语言的最新版本支持“基于契约的编程”,实际上,将需求嵌入源代码中,在源代码中可以动态(通过测试)或静态(通过适当的工具支持)验证需求。Ada还提供低级编程所需的功能;您可以在Ada中编写中断处理程序,指定数据表示和对齐方式,管理端点问题,与C接口,并且通常可以像在汇编程序中一样控制硬件。
AdaCore工具
一种语言的好坏取决于它的工具支持,而对于Ada来说,一个广泛的工具集与Wind River的工作台IDE顺利集成,加速了软件生命周期的开发和验证过程。静态分析工具包括堆栈使用计算器、编码标准执行器、度量报告器和与CWE兼容的“bug查找器”。对于最关键的应用程序,基于正式可验证的SPARK语言(Ada的子集)的证明技术可以证明程序属性,如无运行时错误、安全策略一致性,甚至全功能正确性。对于动态分析,覆盖工具可以确定MC/DC的源代码覆盖率,测试线束生成器可以简化测试套件的组织和管理。其中一些工具已根据DO-178B(DO-178C中的TQL-4或TQL-5)认证为验证工具,通过自动化需要手动完成的活动降低了认证成本。
VxWorks RTOS.
adacore的gnat pro编译器将Ada的动态功能有效地将Ada的动态功能映射到底层VxWorks服务,允许开发人员利用语言的高级构造而不会牺牲性能。除了完整的ADA运行时间库外,还有几种专用配置文件,可特别适用于安全关键应用程序。例如:
- ZFP(零封装外形)配置文件包含最少的运行时代码。
- CERT配置文件将ZFP扩展到VxWorks 653上的ARINC-653 APEX进程的功能,包括支持ARINC-653 APEX进程。此配置文件实现了未来空中能力环境(FACE™)标准的ADA安全基础和安全性能集。
- Ravenscar Cert Profile通过支持Ravenscar Tasking Subset来增强证书简介。它提供了面部标准的ADA安全扩展功能集所需的功能。
这些配置文件已针对Wind River的符合面VxWorks 653 V2.5 RTO和VxWorks 653 V3.x实施。
GNAT Pro ADA开发环境现已用于ARM 64位上的VxWorks 7 RTOS,PowerPC 64位和英特尔32位多核架构。这些发行添加到VxWorks 7目标(ARM 32位,PowerPC 32位和Intel 64位),VxWorks 6和VxWorks 653的现有GNAT Pro支持。
底线
生产、认证和维护安全关键应用程序是一项艰巨的任务,需要一流的语言、工具和RTOS技术。AdaCore和Wind River近二十年来一直满足这一要求,为VxWorks平台提供Ada环境,帮助客户将风险和成本降至最低。尽管开发和验证问题很难解决,但解决方案的决定很容易:选择Ada和VxWorks,并确保您的软件能够可靠运行。