吴海军 2023-01-31发布 阅读:607次 ⋅ DARPA  软件工程   ⋅

导读:作为跟踪DARPA的成果,工业4.0研究院对其重塑软件工程的情况做了研究,重点对2016-2022年期间发生的事件和人物做了梳理,以《DARPA重塑软件工程》系列文章分享给大家。

DARPA作为颠覆性创新的领先机构,它非常重视寻找革命性的技术和方法,为此,它专门开发了海麦尔问题方法论,重构软件工程就采用了该方法。

了解软件工程历史的读者应该清楚,它的产生来自当时的“软件危机”(Software Crisis),即在计算机软件的开发和维护过程中所遇到“两低一高” 问题:质量低、效率低、成本高。

对于DARPA来讲,具有50多年历史的软件工程再次进入了危机阶段,它需要从根本上对它进行改造,建立适应未来需要的软件工程体系。

本文作为《DARPA重塑软件工程》第二篇文章,探讨一下DARPA的颠覆性创新方法,即它的“革命”之路。

DARPA的海麦尔问题

毋庸置疑,DARPA希望重塑软件工程,但按照海麦尔问题原则,它必须具备可行性。

重塑软件工程的首要任务就是找出现有方法的问题,并解释新方法的“新”在什么地方,以及为什么认为DARPA能够干成。

现有软件工程的问题很容易找到,那就是装备系统越来越复杂,软件占比越累越高,需要新的工程方法论来改变这个困境。

DARPA分析认为,之所以出现现有装备研发速度越来越慢,是因为传统的系统工程(硬件)和软件工程(软件)是两个不同的体系,这使得两个域开发出来的东西,还需要不断调试集成,既耽误了时间,又带来了新的问题。

为了解决这个问题,DARPA跟NSF、NASA、AFRL和GE等机构联合开展多项创新,期间提出了信息物理系统(NSF)、数字孪生体(NASA/AFRL)和工业互联网(GE)等新概念。

长期的颠覆性创新经验显示,DARPA相信必须从根本上创造一套工程体系,才是解决传统问题的根本办法。

为此,DARPA提出了“颠覆性工程”(Disruptioneering)概念,成为最近10年推进数字工程的核心。

经过一段时间的探索,DARPA认定数字孪生体才是真正的颠覆性技术,但考虑大国竞争的需要,它主要隐藏在AFRL之后开展相关工作。

以海麦尔问题来判断,利用数字孪生体来重塑软件工程,能较好平衡物理和软件两个域的工程实施,这跟信息物理系统以物理设备为主,工业互联网以软件为主有本质性的区别。

标准和多样性的矛盾

在《软件定义战术》报告中,曾经在DARPA负责重塑软件工程的Daniel Patt对此有经典描述:

人们认为F-35战斗机具有更短的航程、更低的巡航速度,而且比F-22战斗机的隐身性能要差,但它确是更有用的武器,其根本原因是F-35战斗机拥有更丰富的软件元素,包括电子战能力、传感器融合和通信能力等,都是由软件定义的。

DARPA认为,人们希望“标准统一天下”(One-Size Fits All),这无法通过传统的系统工程或软件工程来完成,只有建立新的软件工程体系,才能够保证“多样性”的价值(Value of Diversity),这是未来战争制胜的来源。

Daniel Patt离开DARPA之后,可以对在DARPA所做工作做一定程度的解密了。

他在《软件定义战术》报告中指出,新的软件工程是为了解决标准和多样性的矛盾,这都跟“适应性”(Adaptability)有关系。

企图通过标准化来实现互联互通,跟互联网初期电信公司力图打造“异步传输模式”(ATM,Asynchronous Transfer Mode)一样,能够实现,但成本或代价很高。

未来战争将面临大量的武器装备,它们的多样性是为了适应战场环境或作战任务的需要,以“标准”的名义抹杀这些多样性,无法实现美国国防部正在推进的JADC2,更无法在大国竞争中占据领先优势。

Daniel Patt表示,解决未来军事力量的体系问题,不应企图打造复杂的标准,这无异于给对手提供了“一劳永逸”的靶子,只有在多样性基础上建立的复杂性,才是未来战争的常态。

如何推动软件工程的革命?

既然想推动软件工程的革命,就一定会面临传统力量和新兴力量之间的碰撞。

DARPA的做法只有一个:给项目经理提出问题,项目经理提出解决方案。

跟国内不少专家反感“新概念”不同,DARPA鼓励所有项目经理提出新概念,它的逻辑很简单,如果没有“新概念”,项目经理怎么会有做父亲的感觉?毕竟父亲有机会给自己的孩子取一个名字。

通常这个孩子拥有父亲的性,他如果很成功,那么这位父亲会感到很骄傲。这是人性。

拥有不到200人的DARPA,其核心是项目经理,这些项目经理来自各种渠道,包括军方、企业、大学,甚至于是无业游民。

当这些拥有梦想的人有机会进入DARPA,亲自给自己的项目命名,一旦成功,有可能改变世界,那么他们有什么理由不去做呢?

Daniel Patt进入DARPA的时候,提出了“马赛克作战”概念,很多人仅仅把这个概念当成一种作战模式,忽略了支撑它的软件工程。

按照DARPA的说法,如果不能解决软件工程的问题,那么马赛克作战也不可能实现。

为了解决异构系统之间的数据机制问题,DARPA利用数字孪生体,并搭建了数字线程,形成了一套新的软件工具链(Software Toolchain),这就是所谓STITCHES项目所解决的问题。

必须指出,DARPA在重塑软件工程的过程中,各个项目经理都利用了其他项目经理已有的成果,例如,Daniel Patt在开展马赛克作战的时候,就从DARPA十多个相关项目中获得了不少帮助。

总体来讲,DARPA在推动软件工程革命的时候,采取不断设立新项目经理的方式,让这个过程具有延续性,但解决的问题却没有重大改变。

目前,DARPA在新的主任领导下,“抛弃”马赛克作战,以“持续对抗”新项目的方式,继续重塑软件工程。



评论

您不能发表评论,可能是以下原因
1、登录后才能评论
2、作者关闭了评论