software-strategy-book/Ch2-7-DomainApplication.tex

224 lines
49 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

软件系统已经成为现代社会的重要基础设施,包括提供云计算、大数据等支持的信息基础设施、软件嵌入的物理设备、以及软件提供的服务设施等。在这些基础设施的支撑下,传统的软件应用如科学计算、办公自动化、企业管理决策等正朝着服务化和智能化的方向发展,以提供更强的功能、更高的性能和更佳的用户体验。更为重要的是,基于这些软件基础设施,未来的应用软件系统将以面向领域的人机物融合场景计算为主要呈现形式。即应用软件系统将使计算服务嵌入各行各业以及民众生活,使计算从单纯的赛博空间进入人机物融合空间,综合利用人类社会(人)、信息空间(机)和物理世界(物)等的资源,通过协作进行领域特定的个性化计算,实现领域价值。
在此人机物融合的大视野下,软件至少在两个方面承担关键角色。自顶向下观之,软件因其驾驭复杂适应系统的突出能力,通过软件定义的方式,充当人机物融合大系统的集成者与管理者。自底向上观之,软件实现了科学第三(计算驱动)、第四(数据驱动)范式,极大提升了人类的工程能力,是改造待融合之物理世界的不可或离的服务者与赋能者。
在前一方面,近年来,软件定义网络、软件定义存储、软件定义数据中心等的成功及软件定义一切的趋势,揭示了计算系统在能力描述上的潜能,其内在本质是资源虚拟化和功能可编程。未来的现实世界,场景就是计算机,软件系统要在各种各样的现实应用场景中,发挥其核心纽带作用,软件定义的方法和技术将成为其基本手段。本章从天地一体化并覆盖生产、生活、国防等不同领域的角度,选取了作为太空探索及应用平台的新型卫星系统、作为面向生产的先进制造平台的流程工业控制系统、作为城市治理和生活服务平台的智慧城市系统,以及在生产、生活、国防领域都有广泛应用的无人自主系统,从系统体系架构和软件技术挑战等方面分别予以阐述。需要强调的是,本书之前章节所述的共性软件软件技术在这些系统的开发运维中仍然使用,但本章着重于讨论领域特定的内容,并从软件定义的角度展示新型人机物融合软件系统的发展趋势。
在后一方面软件对物理世界进行数字化模拟仿真和计算分析以此支持对现实世界的科学认知和工程改造。从手段上看这是以虚拟镜像的方式实现的一种“机物”融合从目的上看无论是重大工程还是高端装备其日益明显的趋势是建造出更加利于融入软件定义的人机物大系统的关键物理子系统。这方面的关键软件应用系统包括高端EDA、虚拟制造和高性能CAE等。其中高性能CAE软件系统作为支撑高端装备、重大工程和重要产品计算分析、模拟仿真与优化设计的工程软件为关键装备及科学装置的研制提供物理世界的数字化模拟为现实世界人机物融合系统中的物理规律分析和验证提供了平台支持。为此本章亦将讨论高性能 CAE 软件系统的技术挑战和研究方向。
\section{卫星系统}
长期以来,卫星的研制模式一直采用``为特定任务定制卫星、为特定卫星定制载荷、为特定载荷定制软件''的技术路线。卫星按功能划分,一种卫星只能完成一种任务,入轨之后无法增加新的功能。随着商业航天时代到来,这种``一星一任务、一箭定终生''的模式显然不能满足商业航天时代的需求。软件定义卫星成为一个新的发展趋势。2018年11月20日中国第一颗软件定义卫星``天智一号''发射升空,是软件定义方法进入卫星领域的成功案例。
软件定义卫星采用开放系统架构,以计算为核心,支持有效载荷虚拟化,即插即用,应用软件按需编排、生成与加载,系统功能快速重构的新一代卫星系统。从平台优先到载荷优先,从载荷优先到算法优先、软件优先,改变了卫星的研制模式,成为实现具备``一星多任务''能力的通用卫星的重要一步。
软件定义卫星与传统卫星的主要区别是,通过软件的方式重构有效载荷、改变和扩展系统功能、并优化其性能,最大程度地解除卫星软硬件间的紧耦合,使其可以各自独立演化。利用强大的计算能力,一方面支撑更多应用软件,将卫星的硬件效能发挥到极致;另一方面实现对卫星全系统资源的虚拟化,简化卫星的硬件实现。软件定义卫星以计算为核心,硬件最小化,软件最大化,可最大程度地降低卫星研制成本,缩短卫星研制周期,提高卫星应用效能,从而最大程度地提高卫星的效费比。
\subsection{参考体系架构}
软件定义卫星的基本理念是,基础资源层实现有效载荷虚拟化,应用层实现应用逻辑可编程,为了实现从应用层到资源层的动态按需调用,需要在基础资源层和应用逻辑层之间,建立支撑应用层的任务及其运行管理,以及支持资源层的资源管理调度机制,从而建立上下两层间的动态映射,因而引入独立的卫星操作系统平台,并实现系统平台可演化。其抽象系统架构如图\ref{fig1}所示:
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{fig2-7/stars.png}
\caption{软件定义卫星体系架构}
\label{fig1}
\end{figure}
其中,面向卫星的泛在操作系统成为卫星应用和卫星资源的桥梁。它向下提供硬件载荷抽象层,实现卫星硬件资源的标准化和虚拟化,为高层统一资源的调度管理提供一致的访问控制接口;向上提供应用编程与编排框架,以及统一的编程接口,支持各类应用程序,并通过丰富的应用程序为用户提供个性化服务;其核心功能是资源的调度、管控、配置、组装及演化。
\subsection{关键技术挑战}
软件定义卫星从概念模型到全面实现仍面临诸多技术挑战,包括卫星有效载荷的虚拟化,异构资源的管理与实时调度,以及卫星按需定制和演化及其可靠性等。
\begin{itemize}
\item 异构资源的功能抽象和虚拟化。卫星上核心资源是卫星操控机制除此之外其它硬件资源还包括星敏、太敏、磁强计、陀螺仪、GNSS、动量轮、CMG、磁力矩器、推进、数传发射机、测控应答机、可见光相机、红外相机、高光谱相机、SAR、雷达等诸多种类其功能特性高度异构。需要提供统一的虚拟化机制构建相应的模型通过结构化模型表示其能力便于软件驱动或控制这些硬件设备。
\item 系统平台硬件资源的实时调度。卫星平台硬件资源虚拟化后都映射为结构化模型表示成为软件调度的系统资源统一资源空间中的资源调度与管理存在两个层次上的差异性其一是使星载计算机系统资源适应不同应用算法需求的调度与管理DSP、FPGA、CPU、NPU、GPU等计算资源以及网络通讯与数据存储资源其二是有效载荷虚拟化后的功能资源满足不同应用算法需求的调度与管理如何对不同层次上的资源进行实时的协同调度与管理是软件卫星定义卫星功能有效性的挑战。
\item 软件定义卫星系统的持续演化。软件定义卫星需要支撑两个层面的适应性和演化性,一是面向容错的载荷资源的功能升级换代,这需要资源虚拟化和软件定义具备自动更新机制,具有自我修复与更新的软件定义自动生成能力;二是应对卫星应用场景需求或者环境变化,提供算法重构和重配置的能力。这向下要求载荷功能定义模型具有自动演化和更新能力,向上要求卫星应用定制程序和架构具有针对需求和环境变化的自适应能力。
\item 面向卫星应用场景的定制和卫星载荷资源的优化。传统的卫星基本都是专用的不具有能力的可定制性在软件定义方法的支持下有可能通过领域任务知识的软件定义化实现面向应用场景的定制实现针对不同应用的APP。其挑战性问题是如何根据不同任务需求从载荷资源优化利用出发实现一星多用最大限度地发挥硬件的能力。
\end{itemize}
\subsection{未来研究方向}
面对以上技术挑战,围绕软件定义卫星需进一步开展以下研究工作:
\begin{itemize}
\item 基于模型的有效载荷虚拟化及其可靠性检验方法。有效载荷的虚拟化不仅是提供访问接口,还需要有功能的抽象及其软件定义,需要从功能抽象的角度,研究并建立卫星硬件能力的建模和软件定义方法,需要研究基于模型的硬件资源的检验技术和基于模型的测试技术,为卫星有效载荷资源虚拟化提供可靠性检测方法。
\item 软件定义的卫星系统的资源协同管理体系。涉及三个方面,一是研究面向应用(算法)需求的星载计算资源统一调度模型;二是研究面向有效载荷的资源调度与使用模型;三是研究面向应用需求的资源协同调度和管理方法。
\item 软件定义卫星应用的持续演化框架。其涵盖一系列软件系统演化机制和方法需研究包含1领域特定的编程语言及运行时系统2与编程语言系统适配的自适应计算卸载机制以及代码自动生成与修复技术3基于样例的API自动合成4面向场景不确定性的管控逻辑自适应编排5基于自主学习与数据驱动的管控目标自适应演化机制。
\end{itemize}
\section{流程工业控制系统}
流程工业控制系统指专用于或主要用于流程工业控制领域,为提高制造企业制造、生产管理水平和工业管理性能的系统软件,包括嵌入式工业软件、协同集成类软件、生产控制类软件、生产管理类软件等四大类。流程工业控制系统利用信息技术将流程工业过程的控制逻辑化、管理流程代码化,从而驱动装备和管理业务按照既定的逻辑自动高效地运行,并实现预先设定的功能。流程工业控制系统的应用可以提高产品价值、降低企业成本进而提升企业的核心竞争力,是现代工业装备的大脑,也成为支撑第四次工业革命的核心。
过去流程工业领域已有很多信息化工作但在新时代的背景下流程工业控制系统需通过软件定义的方式完成平台化的重构。这种软件定义的流程工业控制系统呈现出以下三方面的优势1通过协同研发平台优化研发管理体系以数据和流程的标准化以及跨企业研发平台的建设思路为核心优化研发管理体系2通过对传统工艺的理解和改造推广工业机器人在垂直行业的应用3应用商业智能实现数据驱动企业发展在商业智能系统中实现全员统一查阅企业视图全面预测数据洞察驱动的业务流程最佳化形成统一的基础架构预先构建的分析解决方案演变成企业绩效管理系统。
\subsection{参考体系架构}
流程工业控制系统的主要特点是:第一,机电仪控设备、生产设备、生产资源的虚拟化;第二,数据采集、过程控制、过程优化、生产调度、企业管理、经营决策的定制化;第三,工业应用开发、数据集成和分析服务的平台化。
其系统架构如图\ref{fig2}所示。
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{fig2-7/industry.png}
\caption{软件定义的流程工业控制系统}
\label{fig2}
\end{figure}
\subsection{关键技术挑战}
从软件系统的角度看,流程工业控制系统的特殊性体现在设备和生产资源的虚拟化和工业大数据采集和管理上,其中包括工业信息化数据、机器设备数据和产业链跨界数据等,其中数据的采集环境多样,数据采集具有很高的准确性和实时性要求,并且大部分数据具有时序特性。流程工业控制系统的主要挑战,来自于对上述四大类软件系统的合理重构,需要系统的角度进行资源的划分、能力的定义,需要抽象出制造过程的任务,形成可动态重组的业务逻辑单元,并支持按需业务重组和资源调度。具体挑战包括:
\begin{itemize}
\item 贯穿工业生产全过程的体系化的软件系统之系统:流程工业涉及多个方面,既涉及与企业价值相关的产品生产需求,又涉及原材料提取、传递及其通过物理、机械和/或化学方式转化成其他产品的过程。当工业生产的每个环节都配备传感和通信设备之后,为了实现智能制造,首先需要构建各个生产环节上的独立的信息系统和控制系统,比如生产管控系统、安全环保系统、供应链管理系统、能源管理系统、资产管理系统等。但如何汇聚这些独立的软件系统和物理设备,用统一的机制综合物流、能源流、资金流,形成工业生产全过程全方位的动态镜像,从而实现基于生产数据和管理数据多维度共享基础上的工业智能,不仅是软件技术和软件架构上的挑战,也是先进控制和管理上的挑战。
\item 流程工业控制操作系统的安全性和系统失效的风险性:一方面,相对独立的流程工业控制系统越来越多地与开放的管理系统互联,在实现数据共享、智能决策的同时,也为流程工业控制系统安全带来隐患与威胁。这类系统中的控制协议,大多在开始设计时只考虑如何能满足要求的效率、实用性和可靠性,而忽略了安全性要求。如何增强工控系统的控制协议的安全性,成为建立并实施一体化流程工业软件系统之系统的最大忧患。另一方面,流程工业系统中包含了成千上万的物理设备,这些设备很多具有很高的损耗率和失效率,而这些常常导致巨大事故,其系统设计时的风险分析、运行时的失效监测数据实时准确采集、以及精确的风险预测和溯源分析等等,对软件系统的设计和运行支撑都带来挑战。
\item 海量多维流数据的实时处理。流程工业控制操作系统需要面对的是超高的数据通量和低质乱序的传输同时需要满足的需求又是高质全序查询与复杂分析。只要系统处于运行态检测设备7天24小时不间断地产生数据数据采集频率高而且量大。软件系统需要管理千万条时间序列数据并以每秒百万至千万点的速度处理数据。更加困难的是这些数据基本都是异构的而且从异地采集的常常出现表头缺失、数据错列、数据缺失、数据串行等问题需要高效正确的纠错算法等等这些都是系统设计和运行时的挑战性问题。
\end{itemize}
\subsection{未来研究方向}
流程工业控制系统的未来研究方向包括:
\begin{itemize}
\item 实时准确的信息感知和数据采集。工业生产过程优化调控和经营管理优化决策需要准确的信息,其难点是如何实现从原料供应、生产运行到产品销售全流程与全生命周期资源属性等的快速获取与信息集成。因此,原材料与产品属性的快速检测、物流流通轨迹的监测以及部分关键过程参量的在线检测是实现流程工业智能优化制造的前提和基础。
\item 生产运行监测和动态优化决策。生产计划的不确定因素众多,原料采购价格和市场需求多变,给生产运行和经营管理的决策带来难题。核心要解决如何深度融合市场和装置运行特性知识进行管理模式的变革,以大数据、知识型工作自动化为代表的现代信息技术为制造过程计划和管理的优化决策带来了契机。
\item 以软件为核心的生产全流程自动协同控制。工业制造采用由经济优化、计划调度、先进控制、基础控制等不同功能层组成的分层递阶结构,如何根据实际过程的动态实时运行情况,从全局出发协调系统各部分的操作,成为生产过程优化调控的核心。软件系统需要将物质转化机理与装置运行信息进行深度融合,建立过程价值链的表征关系,支持生产过程全流程的自动协同控制与优化。
\item 生产过程故障诊断与环境安全监测和预报。保证生产制造装备安全、可靠运行是保证生产制造全流程优化运行的关键,也是综合自动化系统正常运行的保证。需要软件系统集成传感、检测、控制以及溯源分析等技术,实现模型与数据驱动的流程工业过程运行工况的故障预报、诊断与自愈控制,以及生产制造全生命周期安全环境足迹监控与风险控制,实现绿色制造。
\item 高通量时序数据全生命周期管理、传输和利用。工业物联网的数据采集、管理和利用涉及跨越“云-网-端”三层体系架构,终端层需要支持高性能的写入、高压缩比的存储以及简单查询。场控层需要配备高效丰富的时间序列查询引擎。数据中心层需要能与大数据分析平台无缝集成,支持时序数据处理和挖掘分析。
\end{itemize}
\section{智慧城市系统}
智慧城市系统利用信息技术,将城市的系统和服务打通并集成,以提升资源运用的效率。智慧城市系统建设已经成为城市治理的必要需求,其驱动力在于需要突破地域、部门或系统的边界,促进城市信息空间、物理空间和社会空间的深度融合,从而向城市管理者提供城市规划管理的支持,优化城市管理和服务,提高城市治理水平,向市民提供泛在、周到的智能服务,改善市民生活质量。
智慧城市涉及交通出行、环保保护、应急处理、电子政务、医疗卫生、民生服务等众多领域,应用需求丰富,以往采取各个应用系统独立规划、独自建设的方式,造成了硬件``各为其主''、数据``互不往来''、软件``各自为政''的局面,不仅不利于软硬件资源的复用,也限制了跨部门、跨系统业的数据共享与业务系统,成为制约智慧城市发展的瓶颈。
在此背景下近年来软件定义的智慧城市系统成为一个重要的发展趋势。在软件定义的智慧城市系统中原来各自独立的城市应用系统被整合成一个基于统一城市基础支撑平台的应用生态系统。在这个平台中原来服务于不同应用的感知终端、各应用系统中的数据服务、以及云环境中的计算和存储资源都被虚拟化并通过一组API被访问。新的应用系统在构造时不再``从零开始''而是通过访问这些API复用现有的硬件、软件和数据资源从而实现系统的快速构造并自然实现了数据的跨系统流动以及服务的跨界融合。
\subsection{参考体系架构}
从软件定义的角度看,智慧城市的典型体系结构如图\ref{fig3}所示。该结构分为三层,最下层是要打破现有城市信息系统的边界,实现跨域信息系统互连互通,并将现有系统中的数据、功能封装为可复用的信息资源;中间层则是为各种城市智慧应用提供开发、运行支撑和知识萃取等共性服务的基础支撑平台,并要随着城市应用需求、数据、技术的变化而演化;最上层是复用已有信息资源构建的大量应用系统,这些应用的功能和性能在基础平台的支撑下,实现功能和性能的自适应,并由平台统一管理并根据用户的情境与偏好推荐用户使用。
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{fig2-7/city.png}
\caption{软件定义的智慧城市系统}
\label{fig3}
\end{figure}
\subsection{主要技术挑战}
智慧城市系统的主要技术挑战包括:
\begin{itemize}
\item 系统边界可伸缩,实现跨域信息系统互操作。在城市信息化建设的初期,城市管理的各个部门独立开展信息化工作,建成了大批``孤岛系统''。建立智慧城市系统的首要挑战就是针对跨部门跨系统的应用场景,如何进行异构信息交换、系统间互操作以及协同问题求解。智慧城市系统的功能重点体现在信息服务上,系统边界体现为信息边界。通过软件定义把信息资源虚拟化,再通过软件系统对虚拟资源进行管理和调度,这是实现跨域信息系统互连互通的技术支撑,也是目前存在重要技术挑战。具体而言,其主要挑战在于,如何进行信息资源的虚拟化,以及如何在信息资源虚拟化的基础上,实现信息服务可编程,通过统一系统调用接口,访问信息资源提供的服务,实现信息资源的灵活管理、调度和更新,以满足对信息服务的多样需求。
\item 满足数据的准确一致性要求,提供可信的城市信息服务。在软件定义的智慧城市系统中,不同的业务系统由不同的组织运营,从不同的渠道不断产生和收集数据。跨系统的数据共享,使得系统的运营方不再依靠自身的力量获取本系统所需的所有数据,这在提高效率的同时也带来了新的问题。如何评价从其他部门和系统中获得数据的可信性?当不同来源的数据出现不一致时,如何取舍?因此需要建立智慧城市的可信性管理机制,其重点体现在,第一,保证信息来源的可信性,比如如何根据信息服务需求,判断并评估需求相关的权威信息来源,并进行可靠的信息挖掘和抽取;第二,对需要推理产生的综合信息服务需求,需要有高置信度的信息源比对、推理和信息融合方法,以保证可以从多信息源中获得所需要的综合信息;第三,如何保证综合信息服务中信息的一致性,也是目前的重要挑战。
\item 满足信息服务时变性和场景相关性特征,实现及时个性化信息萃取和挖掘。智慧城市系统需要能满足不同用户不同场景的个性化信息服务需求,但其信息来源多,分布广,信息海量且动态变化,实现需求驱动的信息动态采集,进行场景相关的信息萃取和综合,并实现适时适地适用的信息服务,是智慧城市系统的重要挑战。
\item 在海量信息的基础上建立各种分析机制和决策模型,成为提高城市治理水平的重要支撑。在实现成熟大数据汇聚和信息融合的基础上,一个针对城市管理高层决策的需求凸显出来,需要针对城市治理和应急管理等高层需求,通过软件定义的技术,建立面向城市资源全局调度、重大突发事件管控等的决策模型库,建设支持动态决策支撑平台。
\end{itemize}
\subsection{未来研究方向}
智慧城市系统的未来研究方向包括:
\begin{itemize}
\item 城市信息资源互操作与管理。建立城市信息资源互操作与管理系统,一方面需要打破城市各孤岛系统的壁垒,建立数据共享开放、功能协同的机制;另一方面需要实现对城市各类信息资源的统一索引、授权、监控管理,促进基于语义的资源大规模共享与协同。
\item 城市知识萃取、演化和服务化。城市信息系统具有``智慧''的前提是必须掌握与城市相关的各种知识。既包括特定应用相关的专门知识的获取和管理,也包括智慧城市的基础支撑平台,以针对跨应用的共性城市知识建立统一的知识萃取与演化机制,为各类应用提供共性支撑,包括三方面能力:一是领域知识模型构造能力,将分散在信息系统和专家头脑中的知识集中抽象成统一知识模型并建立相应的知识库;二是领域知识模型演化能力,随着城市知识的演化更新知识模型,并保持知识库的一致性;三是知识可信性评估能力,从溯源、推理、传播、交叉验证等多种渠道,评估知识的可信性。同时,从跨系统的数据中萃取的知识也不应该仅服务于某个特定的应用系统,而应该被封装成一组服务,嵌入到城市公共服务平台中,通过即插即用的方式被各个应用系统使用。
\item 城市信息群体感知和协同推荐。智慧城市系统应满足城市全方位感知和多样化信息服务需求,需要研究多人多组织参与的群体感知和服务定义。具体包括三个方面。第一,群体城市感知。将持有智能手机在城市中移动的市民,视为是融合手机的感知、计算、通信能力和人类智能的“综合感知终端”,形成群体城市感知网络;第二,构建基于``云-边-端''计算架构的智慧城市互连和协作架构,使能``综合感知终端''通过移动互联网,实现云平台支撑下的互联和协作,完成大规模、复杂城市感知任务。第三,智慧城市服务定义和推荐。面向智慧城市中信息服务应用的多样化、本地化、个性化的需求,促进人机交互和协作,在基于互联网的信息汇聚平台支撑下,研究信息服务的软件定义方法,实现大规模协同式信息服务的定义、设计和推荐,形成各展所长、相互支撑的共生生态系统。
\item 城市规划仿真和突发事件管控。在城市大数据和多系统互操作的基础上,体系化地构建城市管理,特别是突发事件管控的模型库、预案库、策略库。研究多渠道城市运行管理事件关联分析、预警预报和综合决策技术,研究多系统协同指挥的流程及机制,研究基于跨系统城市功能协同的城市风险预测和推演技术,构建城市智能模拟/预测/推演平台;研究城市风险和灾害等不同情况下的城市危害与次生危害仿真模型,建立能支持突发公共事件风险的网络治理机制和城市群应急管理联动体制的平台。
\end{itemize}
\section{无人自主系统}
无人自主系统是机械装置、计算技术、传感器和软件的融合包括无人地面车辆、无人飞行器、智能机器人等。其典型特征是能自主感知周边环境通过内部搭载的计算部件理解环境状态并作出相应的行为决策然后根据决策结果控制其机械装置执行相应的行为。以上各部分工作全部通过软件来协调完成。例如无人地面车辆UGV是在地面上自主行驶的车辆一般配备一组传感器以观察其周边环境通过感知和决策自主决定其行为。
无人自主系统的核心是其环境和情境的可感知性和行为的自治性典型情况下具有如下能力1环境感知能力能收集其周边环境的信息形成对环境的认知例如了解建筑物内部的结构、检测环境中感兴趣的物体如人和车辆2规划和自主行为能力能对自身的行为进行规划并自主执行例如无人地面车辆可以在没有人工导航的情况下自主在航点之间移动无人飞行器可以在没有人工导航的情况下自主在航点之间飞行智能机器人可以在没有人工控制的情况下自主完成为它设定的任务等等3自我维护和修复能力自自身进行定期维护对一些故障无需外部协助即可自行修复4环境安全保护能力能在完成所设定任务的同时避免对人员、财产或自身造成伤害5自主学习能力能自主学习多方面的知识和技能包括实现新的功能、根据环境实现行为的自适应调整、形成任务执行过程中的自主决策。
无人自主系统经常会以群体协作系统的形式出现。这种群体协作系统是从单体无人自主系统扩展而来的。除了单体无人自主系统具有的特点外群体协作系统还具有以下特点1功能分布性即不同功能的无人自主系统协同工作以完成更复杂的任务同时通过共享资源扩大完成任务的能力范围2空间分布性多个无人自主系统可以分布在工作空间的不同区域同时工作提高完成任务的效率增强系统的鲁棒性。
传统的无人自主系统针对单一的任务类型,通过硬编码的方式实现任务目标。随着无人自主系统在智慧城市、智能制造、智慧医疗、国家安全等领域的广泛应用,任务场景和应用目标的多样性和变化性逐渐成为一大挑战。为此,新一代无人自主系统正在逐步向软件定义的定制化开发的方向发展,通过针对包含感知和执行装置等设备的资源层面以及包含感知、分析、规划、执行在内的自适应软件控制环路层面上的软件定义化,向下管理基础软硬件资源、向上开放硬件资源及自适应控制编程接口,从而支持无人自主系统应用的灵活定制化开发。
\subsection{参考体系架构}
无人自主系统,除了作为其本体的机械装置外,其系统架构自下而上包含四个层次:硬件装置层、硬件抽象层、自适应控制层、应用层。其系统架构如图\ref{fig4}所示。
硬件装置层包含各种传感、成像和执行装置。其中,传感器分为内部传感器与外部传感器:内部传感器主要用于监测系统内部状态,外部传感器主要用于监测外部环境状态。
硬件抽象层向下管理各种传感、成像和执行装置,实现无人自主系统位/姿控制、资源调度与优化等管理任务,并通过虚拟化抽象向上提供物理资源编程能力。
自适应控制层通过包含感知、分析、规划、执行等部分的自适应环路实现路线规划、运动控制等自主移动功能以及自优化、自配置、自治愈、自保护等其他自适应控制。对于无人自主系统集群,自适应控制层还需要实现相应的群体协作控制。
应用层通过硬件抽象层和自适应控制层提供的编程接口对相关资源和能力进行定制和编排,实现各种面向特定目标和任务场景的无人自主系统应用。
目前无人自主系统硬件抽象层已经广泛采用了专用操作系统。例如得到广泛应用的机器人操作系统Robot Operating SystemROS提供了机器人应用软件开发的系统级框架提供了支持软件开发和运行的工具、开发库与规范。
这一硬件抽象层与自适应控制层一起构成了无人自主系统泛在操作系统,以软件定义的方式为上层应用的开发和运行提供支持。
其中ROS实现了对传感、成像、执行装置等物理资源包含机械部件及其配套电子装置的软件定义化提供了相应的操作接口。基于ROS的机器人应用可以通过同步服务访问或异步话题通信的方式使用接口操控机器人实现面向特定任务目标的信息采集与动作执行。
自适应控制层通过软件定义方式将自适应环路中的自适应策略(如数据分析方法、自适应控制规则等)定义和配置能力开放给应用层,实现自适应控制逻辑可编程。
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{fig2-7/auto.png}
\caption{无人自主系统基本结构框图}
\label{fig4}
\end{figure}
\subsection{关键技术挑战}
无人自主系统分为单体和集群系统两类。从软件定义的角度看,其关键技术挑战包括以下几个方面。
\begin{itemize}
\item 环境感知的实时性和场景理解的综合性:无人自主系统的上下文环境是物理世界,物理世界的时间动态是不可逆转的,这对系统的实时性提出了很高的要求,信息获取和处理的实时性影响系统判断与决策的精度。无人自主系统的环境具有多个方面的属性,系统一般搭载多种不同的装置分别采集不同的信息,分布信息的实时关联和准确汇聚也是构造软件系统的关键挑战。场景感知的目的是对场景的理解,只有在准确理解的基础上,才能正确地进行决策并实施有效的控制。其信息采集的实时性、多维信息关联的一致性、以及场景理解的准确性是无人自主系统的一大挑战。
\item 行为决策的适应性和系统控制的鲁棒性:物理世界不是完全可预测和可控的,无人自主系统需要具备动态自适应能力,即使遇到意想不到的情况,也要保证系统的鲁棒性。同时还必须满足其可靠性和效率等方面的需求。更重要的是,当系统用于安全攸关或者危险环境中时,由于系统实施的控制行为,将对物理环境产生直接的作用效果,系统需要具有强的内生安全性,并保证其行为不会对环境造成威胁。
\item 无人自主系统集群的通信、协作和冲突消解:无人自主系统集群是由多个无人自主系统按照一定的结构或关系构成的一个群体系统。这种群体系统的结构决定单个系统间的交互框架,决定单个系统间的信息和控制关系。两种常用的结构是:集中式和分散式。无人自主系统形成集群的目的是完成需要协作才能完成的任务,建立有效的结构是任务完成的关键,有效的结构可以增强无人自主系统集群的协作程度。如何根据任务的复杂性和不确定性,建立动态自组织群体结构是群体有效通信和协作的关键挑战。无人自主系统集群在任务执行过程中,常常出现任务冲突、空间冲突或路径冲突等,一旦发生冲突很容易引起系统的混乱,影响系统的性能,无人自主系统集群的在线冲突消解和有效的行为协调也是本研究方向的一大挑战。
\end{itemize}
\subsection{未来研究方向}
无人自主系统首先是一个完成特定功能的系统,其自主、自治特性体现在在没有人干预的情况下根据其所处的环境自主决定如何更好地完成其功能。因此,其主要研究围绕自主决策这个特性展开,即主要关注``环境-监测-分析-规划-实施-环境''这样一个决策回路,其中环境指系统所处的现实世界,该回路中的所有活动以系统所拥有的知识(包括环境知识和行为决策知识)为基础,系统根据知识去感知环境、分析场景并进行行为决策和采取行为。具体包括:
\begin{itemize}
\item 环境感知和场景理解(监测):指无人自主系统对环境信息的感知和分析能力。环境感知包括三个方面:空间感知和建模、静止物体感知和运动物体感知。无人自主系统的环境感知依赖多种传感设备,第一,需要分离空间感知能力和环境实体感知能力,研究空间建模方法以及系统和空间的位置关系判别方法;第二,对静止物体和运动物体的感知,包括物体探测和物体识别,实时捕捉物体和空间及物体和物体间的关系,在系统中建立空间状态的镜像;研究运动物体行动轨迹的追踪方法,变化物体的变化性分析和预测方法;第三,需要研究如何组合空间状态感知和(静止/运动)物体感知和认知,并运用时序关联建立综合感知的技术,研究理解系统所处环境的场景的方法。
\item 安全风险因素识别和风险评估指根据系统所处的环境场景研究系统环境安全因素的监测和安全风险评估方法。根据不同特定领域的基础研究提取安全因素的特征工程技术、深度学习技术、强化学习技术等研究安全因素的分类并确立风险等级。这里的安全因素是广义的安全关注点和无人自主系统的应用场景相关包括坏境给系统带来的风险和系统对环境带来的风险两个方面需要研究以应用场景为依据的安全关注点提取和建模方法建立安全因素分类体系和因果关系模型这是系统知识库的重要部分。在此基础上研究基于HAZOP原理的安全风险评估方法。
\item 行为优化和自主决策:无人自主系统工作过程的首要矛盾就是既要采用最佳策略完成预定任务又要规避各种可能的安全风险。由于系统常常处于动态变化的环境中,行为(包括系统运动行为和交互行为)优化和自主决策(解决已有行为规划是否需要改变、改成什么、如何改变等问题)成为关键特征。为了支持自主决策,需要研究针对系统应用领域和场景的自适应规则和策略的提取和建模,这也是系统知识库的另一个重要组成部分。值得研究的问题包括:环境因素到系统行为到系统任务间的关联关系建模,基于关联关系的任务完成度和安全风险的推理和分析,以及基于系统决策知识的自适应行为优化。
\item 自主学习和模型演化:赋予系统``学习能力''是为了使能系统能充分应对复杂多变的环境,使系统能根据运行时的经验,支持模型(包括系统环境模型和系统能力模型)的演化,自动提升系统的能力,提升系统的性能。但无人自主系统引入自主学习能力,还有很多问题需要研究,包括:学习和自主决策的关系、学习能力的需求识别、系统不同活动与自主学习能力的集成原理和方式、不同活动和不同学习方法的集成、学习构件的任务定义和交互定义、等等。更重要的是,基于控制论的无人自主系统引出了各种源于标准控制系统的体系结构,基于学习的无人自主系统自适应也可能需要以学习能力为中心的新的系统体系结构。
\item 群体协同和动态合作在复杂任务场景下多无人自主系统依赖任务分解和自主行为进行群体协作和动态合作提高任务完成的质量和效率。需要研究的内容包括1群体中个体的在线调度问题需要将动态观测需求常态化研究有效的机制来制定任务规划/重规划的决策时间点、机制策略、规划算法等。其难点是需要综合考虑个体动态环境和计算能力如其他个体状态信息获取延迟滞后、任务发布与任务到达间的动态不确定的时间差、应急任务的时效可用性、个体计算能力对任务的应急响应性能等2针对异构群体的任务分解和协同问题包括任务驱动的群体配置和协同架构机器协同算法机制架构的有效性度量和成本分析机制等群体架构的优化方法等有效分解复杂任务确定协调控制策略, 控制任务的求解过程, 实现个体间的有效协调配合。
\end{itemize}
无人自主系统的发展,将推动包括智能制造、智能交通、智能农业、智能医疗、智能城市、国家安全等的重大变革。但无人自主系统的全面应用还需要很多工程性的工作,比如,建立以数据驱动的无人车间/智能工厂的体系架构和标准体系,形成人机协同的无人车间/工业智能系统完整的体系、技术与标准,实现知识驱动的无人车间/智能工厂的广泛应用,攻克以无人自主系统为基础的智能装备全生命周期的高安全性、高可靠性、高实时性、高精确性等难题等。
\section{高性能CAE软件系统}
高性能CAE软件系统是计算力学、计算数学、相关工程科学、工程管理学与计算机科学技术相结合的产物是实现高端装备、重大工程和重要产品的计算分析、模拟仿真与优化设计的工程软件是支持科学家进行创新研究和工程师进行创新设计的最重要的工具和手段在重大工程实施、核反应堆设计与安全分析、航空发动机优化设计、飞行器优化设计、高端精密仪器装备、重大科学实验装置、复杂电磁环境与防护等关重装备/科学装置研制问题领域中具有举足轻重的作用。
高性能CAE软件系统是连接上层丰富多样的应用场景与底层高性能计算硬件平台的桥梁。一方面高性能CAE软件系统应该提供适应特定问题领域的高层抽象建模机制使得应用开发者能够使用领域特定语言进行领域特定应用的高效开发。另一方面高性能CAE软件系统需要能够将应用需求有效地转化为基于高性能计算硬件平台的高并行可扩展性算法实现应用的高效与高质运行。
软件定义为高性能CAE软件系统的可持续发展提供了重要的方法指导。在应对丰富多样的应用场景方面利用软件定义机制可以实现对不用问题领域应用需求的个性化建模以及基于构件定制与组装的需求快速实现。在应对高性能计算硬件平台计算规模的变化性和计算资源的异构性方面利用软件定义机制可以通过对计算资源的抽象建模与动态分配有效提高计算资源的使用效率。
\subsection{参考功能特征}
高性能CAE软件系统在应用上具有广泛性和综合性在研制上具有融合性和协作性是一种多学科综合、知识密集的复杂软件系统需要工程应用人员、工程科学家、数学家、计算机软硬件科学家和工程师等利益相关者密切合作才能完成其设计、开发及成功应用。其参考功能特征包括
\begin{itemize}
\item 大规模复杂几何结构的快速网格生成能力:能处理由众多具有高阶/间断曲面的零部件构造的、空间尺度跨度比大的复杂结构,实现大规模网格的快速生成;
\item 多学科耦合的复杂系统耦合求解能力:复杂的工程/产品大都是处在多物理场与多相多态介质非线性耦合状态下工作,其行为绝非是多个单一问题的简单迭加;
\item 复杂物理现象的精准刻画和交互分析能力:交互显示全机构/全场景复杂系统中的精细复杂的装置结构、极端物理条件下未知的复杂物理现象、几何结构与物理场以及多物理场间的难以解析描述的相互影响;
\item 高效发挥高性能计算机计算效率的能力:能够适应高性能计算机体系结构的复杂性,高效利用其结点间高速互联、结点内众核异构、处理器内多层嵌套的体系结构特点,实现深度并行。
\item 集成化、连贯性: 实现数值模拟流程的连贯性;实现多学科模拟集成,提高工程/产品开发整体流程的连贯性能够帮助用户选择分析流程和判断分析结果使CAE软件具有像``傻瓜''相机一样的一按即得的功效。
\end{itemize}
\subsection{关键技术挑战}
目前高性能CAE软件系统的关键技术挑战包括1软件的计算能力与超级计算机硬件峰值性能同步提升实现数量级跨越2软件的置信度与科学建模水平同步提升多维度提高仿真置信度3超大规模模拟前后处理交互能力与工程设计建模精细化水平同步提升实现可交互操控的网格单元数的数量级跨越4CAE的基础理论、方法和科学数据的快速的集成和工程化能力的飞跃实现高性能CAE软件能力的跨越式发展5基于新兴技术的智能化、网络化和云化的新型服务模式实现随时随地的仿真模拟。
为了实现以上飞跃,从软件角度看,必须应对以下关键技术挑战:
\begin{itemize}
\item 突破效能瓶颈随着计算性能的不断提升高性能计算机的体系越来越庞大结构越来越复杂涉及到计算芯片、计算结点、网络互联、存储系统等诸多方面。高性能计算机体系结构上的每项变化都会给CAE软件对计算能力的发挥带来挑战需要在算法研究、应用优化、编程实现等方面进行重大调整使得数值模拟软件获得计算机峰值性能变得更加困难难以做到软件计算能力与计算机硬算力同步发展。
\item 突破精度瓶颈:多可变形体、多相多态介质、多物理场、多尺度耦合分析,以及从材料到工程/产品设计一体化的仿真与优化分析在高性能CAE中普遍存在。在并行模拟仿真情境下数学物理方程解算算法的精度、多物理耦合解算过程中解算算法间耦合的精度以及解算算法与物理模型的匹配度决定了复杂体系科学建模的集成与转化能力是提升高性能CAE软件置信度的决定性因素。
\item 突破交互及其效率瓶颈高性能CAE软件要求人机交互界面直观、直觉和操作便捷。随着工程建模精细度的提高高性能CAE用户界面功能日趋繁杂工作流程的构建及操作日益繁琐同时离散网格和数据场规模持续增长导致人机交互响应速度减慢。这使得在使用高性能CAE软件开展仿真过程中大量时间和人力被花费在几何建模、网格生成和可视分析花费于前后处理的繁琐的参数调节以及漫长的交互响应等待影响了工程/产品的创新型设计和研发严重降低了高性能CAE软件的仿真产出。
\item 突破软件研发效率瓶颈高性能CAE软件的成功研制依赖于工程建模、数值离散、并行计算和大规模前后处理等方向在基础理论、算法研究和软件开发等方面系统化的创新成果。作为一个多学科交叉的、综合性的知识密集型产品CAE软件由数百到数千个算法模块组成其数据库存放着众多的设计方案、标准构件行业性的标准、规范、判定设计和计算正确与否的知识性规则。以上原因导致高性能CAE软件体系结构复杂、代码量巨大、软件开发难度大。
\end{itemize}
\subsection{未来研究方向}
对高性能CAE软件系统而言其未来研究方向包括
\begin{itemize}
\item 匹配于高性能计算机硬件体系结构的高可扩展、可移植并行性能优化针对效能瓶颈开展高并发情形下的数据通信、负载平衡、混合并行、深度并行、微处理器浮点运算性能优化等高性能计算共性基础研究支撑CAE软件的计算能力从当前串行、小规模并行向数千上万处理器核上的大规模并行跃迁。
\item 面向数学物理方程的高精度并行解算器:针对解算精度瓶颈,以实现复杂系统高效、高精度求解为目标,研究适应于并行求解环境的高精度/高效率解算算法、解算算法间高精度耦合并行算法设计实现解算算法易于集成的开放式架构和编程接口研究匹配于物理模型的解算算法智能选择机制提高高性能CAE软件的模拟置信度。
\item GUI界面的个性化定制针对交互瓶颈研发高性能CAE软件前后处理技术为精细化建模场景下大规模高质量网格快速生成、海量数据场的复杂物理规律交互展现奠定基础研发高性能CAE软件GUI定制技术实现GUI的个性化定制提高软件操控便捷性实现前后处理自动/半自动的使用方式,降低数值模拟整体时间开销,提高产出效率。
\item 高性能CAE软件系统快速研发新模式针对高性能CAE软件系统研发效率瓶颈研究既适用于基础/共性成果快速集成,又便于基础/共性成果快速专业化应用的高性能CAE软件研发新模式。提供载体将在突破效能瓶颈、精度瓶颈和交互瓶颈过程中形成的工程建模、数值离散、并行计算、前后处理的共性研究成果集成于其中。
\end{itemize}
\section{本章小结}
卫星系统、流程工业控制系统、智慧城市系统、无人自主系统等新型软件系统体现了空天地一体化并覆盖了生产、生活、国防等不同领域,集中体现了人机物融合以及软件定义一切的发展趋势。这些领域普遍面临着异构资源抽象与虚拟化、面向特定场景的定制与优化、多维数据融合与互操作、复杂系统管理与持续演化、安全性与可信性保障等方面的挑战。同时,在人机物融合及软件定义一切的大背景下,这些领域也都蕴含着平台再造与整合的发展机遇,即以软件作为万能集成器对相关系统原有的软硬件和服务资源进行解构然后以平台化的方式进行重构,从而建立软件定义的融合发展平台。为此,这些人机物融合的新兴应用领域和新型软件系统将朝着基于泛在操作系统的平台化方向发展,相关的重要研究内容包括面向特定领域的人机物资源及应用的软件定义方法、面向特定场景的人机物融合应用自适应与自演化方法、多源异构数据的融合治理与分析决策方法、人机物融合的群体智能产生与持续发展机制等。未来,这些新兴应用领域将在软件定义的泛在操作系统支撑下,以空天地一体化的智能化服务渗透到人们生产和生活的方方面面,为幸福美好生活打下坚实的技术基础。
%本章考察软件定义卫星、流程工业控制软件、无人自治系统、智慧城市系统等4类领域应用软件分别从这类系统的功能需求出发按软件定义的视角勾画出它们的三层体系架构突出其软件系统向下管理和调度资源向上实现应用逻辑编程以满足需求的核心作用目的是建立基于软件定义的泛在软件系统的参考示范。本章另外还讨论了高性能CAE软件的功能特征和关键技术挑战。