军事系统中移植和抽象应用的趋势

描述

随着当今军事电子行业的不断发展和复杂性的增加,旧技术往往会过时,从而需要标准化的开发工具。这些复杂的军事应用程序也可能带来许多挑战,包括使特定于操作系统的代码在不同的操作系统上运行。因此,可行的具有成本效益和资源效率的补救措施包括通过移植和抽象跨多个平台回收和共享软件。

随着当今军事电子行业的不断发展和复杂性的增加,旧技术往往会过时,从而需要标准化的开发工具。这些复杂的军事应用程序也可能带来许多挑战,包括使特定于操作系统的代码在不同的操作系统上运行。因此,可行的具有成本效益和资源效率的补救措施包括通过移植和抽象跨多个平台回收和共享软件。

嵌入式行业不断变化和发展,通常会使旧技术过时,并产生对更标准化开发工具的需求。由于军事系统应用经常庞大而复杂,适应快速的创新可能会带来巨大的挑战。因此,开发人员在使特定于操作系统的代码在不同的操作系统上运行以及在设计时考虑到不断变化的技术时面临障碍。在整个军事和国防系统行业中,跨多个平台回收和共享软件的想法

正迅速成为一种流行的思维方式,因为它绝对具有成本和资源效率。

在新操作系统平台上回收应用程序

军事系统中的嵌入式软件不断发展,以跟上不断变化的市场需求,以及

硬件和软件平台技术。这些进步通常会产生新的系统需求,并可能导致某些技术过时,因此有必要进行平台升级或操作系统更改。开发人员需要利用他们现有的软件和知识库,而不是从头开始重写软件并放弃在开发中的投资。

因此,军事工业对将现有嵌入式软件移植到升级平台或新操作系统的兴趣日益浓厚。这实质上允许开发人员“回收”他们的软件,从而消除了

昂贵的重写和浪费的投资。

但是,使为一个操作系统编写的软件在另一个操作系统上运行是一项艰巨且耗时的任务,并且有许多容易出错的陷阱,因为每个操作系统在许多方面都不同。一个简单的例子是每个操作系统提供的任务优先级级别。例如,在标准Linux 下,优先级范围从 0 到 99;对于 VxWorks,范围为 0 到 255;对于 LynxOS,范围为 0 到 512;对于 Solaris,范围是 0 到169 个优先级。要让软件在具有此类不一致的新操作系统平台上运行,需要重写和重组软件。为了加快这种复杂的任务,开发人员需要一个提供熟悉的API的工具,以消除新操作系统的学习曲线并减少项目的研究和开发时间。此工具应处理有问题的任务优先级变化和其他操作系统不一致,以帮助旧版软件轻松适应新的操作系统平台(参见图 1)。

图1

操作系统

跨操作系统平台共享应用程序:规划未来

军事系统应用程序通常庞大而复杂,需要能够相互通信并在具有各种操作系统的分布式计算机系统上运行。陆军未来作战系统(FCS)是迄今为止最大的国防部项目,被政府问责局(GAO)描述为“一项前所未有的事业”,“随着FCS设计的需求得到更好的理解,它将继续增长”。

例如,《华盛顿邮报》最近一篇关于FCS的文章指出,尽管陆军最初估计软件有3400万行,但由于开发范围的变化,新的预测是6380万行。

尽管需要对设计进行修改,但每次应用程序的技术要求发生变化或需要使用新技术时,重新配置系统是不合逻辑的。

鉴于这些问题,整个行业正在迅速意识到规划未来的必要性。开发人员正在寻求利用操作系统抽象工具来编写高度可移植的软件,该软件允许跨各种系统的多个应用程序之间进行通信,并且无需将来重写和昂贵的维护。然而,设计内部操作系统抽象是一项复杂的任务,类似于设计一个全新的操作系统,需要适应现在和未来的应用程序。这需要大量的开发工作和维护,从而将注意力从开发人员的核心项目上移开。

很难设计一个操作系统抽象,其中包含满足应用程序所有需求的所有特性和功能,因此它不依赖于底层操作系统的任何功能(例如:printf())。它还需要花费大量精力来设计一个抽象,允许将来扩展功能,而不会失去现有应用软件的向后兼容性。此外,设计需要考虑缺少某些 API 特性和功能,这些特性和功能仅在某些操作系统上可用,而在其他操作系统上不可用。

真正的操作系统抽象不仅应该抽象 API,还应该抽象数据类型、头文件和符号定义。操作系统抽象需要允许快速添加新的操作系统支持,而无需更改现有的应用程序软件。但是,这需要通过在多个操作系统上实现操作系统抽象解决方案来进行昂贵的测试,以确保它允许应用程序在不同的操作系统上运行而无需更改软件。当需要更改软件以将应用程序移动到新平台时,它完全违背了操作系统抽象设计的目的。很难知道应用程序将使用的每个操作系统(或操作系统版本),因为这需要预测未来,以便规划对应用程序要求的所有更改。也很难正确预测计划的操作系统是否始终可用且最新,也很难规划尚未发布的新操作系统。

为了适应未来的需求并避免如此复杂的项目,开发人员需要一个 COTS 操作系统抽象,以便轻松开发便携式软件。抽象需要允许设计更改,

而无需软件重写,从而保护软件投资。这种抽象工具的设计应具有对国防和任务系统至关重要的安全关键功能,同时又不牺牲实时性能(见

图2)。

图2

操作系统

保护操作系统投资

军事系统开发人员需要利用现有的知识库来消除学习曲线,并通过开发便携式应用程序来保护软件投资。例如,MapuSoft Technologiesí OSChanger和OS Abstractor使开发人员能够重用软件并适应未来的变化。这些产品旨在克服操作系统的不一致,使开发可移植代码变得毫不费力,同时包括高级安全关键和应用程序性能功能。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分