智能手机和平板电脑的增长正在从根本上改变军事技术的面貌。与民用生活一样,商用现货 (COTS) 手持设备的强大功能使以前需要更大、更笨重的计算机的系统能够快速、前线访问。例如,坚固耐用的手机和平板电脑现在具有访问关键任务命令和控制以及通信系统的处理能力,同时便携到可以放入口袋。在这些系统中,原始操作系统(OS)和面向消费者的应用程序被定制版本所取代,这些版本包括使用专有和/或机密算法的特定领域软件。
然而,与引入军队的每一项新技术一样,手持设备需要满足严格的安全性和可靠性要求,并且在预算紧张的时代,必须尽可能多地重复使用现有的软件和技能。
艾达在前线
作为一种最初由国防部(DoD)赞助的语言,Ada在军事和航空航天领域一直被大量使用。专为长寿命应用而设计,其安全性、安全性和可靠性的结合使其成为任务关键型系统的自然选择。然而,在过去,Ada编程倾向于专注于大型软件系统,具有数千或数百万行代码。在瞬息万变的世界中,如何在不影响安全性、安全性或可靠性的情况下,将 Ada 的优势带到手持设备上?
在AdaCore,我们有机会找到答案。美国陆军与我们接洽,他们希望将现有的Ada应用程序用于更大的系统,并将其部署在可以在战场上使用的坚固耐用的Android平板电脑上。我们为运行Android的ARM Cortex处理器提供了GNAT Pro 7.2交叉开发环境,作为移植软件的工具。
将 Ada 和 Java 结合在一起
这个GNAT Pro版本托管在Windows和Linux上,是一个Ada工具套件,用于使用Ada和Java的混合开发和维护Android应用程序。开发人员可以利用 Ada 语言的优势,同时还可以利用 Android 平台提供的 Java 库和服务来实现用户界面。应用程序也可以仅用 Ada 编写,也可以使用 Ada 和其他本地语言的组合编写。
因此,对于此应用程序,开发人员可以利用 Ada 及其安全关键属性和高性能,同时使用用 Java 编写的 GUI,以便在现场轻松使用。现有 Ada 应用程序的一部分被移植到 Android 上,只需进行最少的修改。
GNAT Pro 7.2 包括新版本的 GNATbench,这是将 Eclipse 扩展到 Ada IDE 的 AdaCore 插件。除了一般增强功能外,此新版本还包括一个专用插件,为Android上的混合Ada-Java开发提供端到端支持。从处理所有项目设置详细信息的特定向导开始,用户只需指定要从 Java 应用程序调用的 Ada 包。
构建项目会自动调用 AJIS(Ada-Java 接口套件)来生成调用 Ada 代码所需的所有 Java 代码,将 Ada 代码编译为从 Java 端引用的共享库,并使两者可用于 Java 项目。构建器会自动检测并处理对 Ada 接口包集或这些包中的 Ada 代码的任何更改。为了提高性能,如果 Java 代码已存在,该工具不会重新生成该代码。生成的 Java 是高级的,因此避免了容易出错的直接使用 JNI。此外,Ada 和 Java 代码完全集成在 IDE 中,例如,允许在编辑器中进行导航。最后,通过普通的 Eclipse/CDT 调试器 GUI 支持调试 Ada 代码。
手持式应用程序的开发正在进行中,但该团队已经看到了这种两全其美的方法的真正好处。从业务案例中,他们可以重用现有的 Ada 应用程序和组件,并将开发和培训成本降至最低,从而减少所需的投资,同时最大限度地提高结果。
随着手持式COTS硬件成本的下降及其处理能力的迅速提高,军事界正在研究手持设备如何改善操作。正如我们的经验所表明的那样,Ada用于创建安全关键型可靠代码,Java用于图形功能,这提供了在更小、更便携的设备上将现有系统扩展到前线的机会,而不会影响安全性或可用性。
审核编辑:郭婷
-
计算机
+关注
关注
19文章
7519浏览量
88216 -
操作系统
+关注
关注
37文章
6850浏览量
123432 -
平板电脑
+关注
关注
4文章
2019浏览量
77856
发布评论请先 登录
相关推荐
评论