210 lines
44 KiB
TeX
210 lines
44 KiB
TeX
软件系统已经成为各行各业的重要基础设施,包括信息基础设施、软件嵌入的物理设备、以及软件提供的服务设施等。可以预计,基于这些软件基础设施,未来的应用软件系统将以面向领域的人机物融合场景计算为主要呈现形式。即应用软件系统将使计算服务嵌入各行各业以及民众生活,使计算从单纯的赛博空间进入人机物融合空间,综合利用人类社会(人)、信息空间(机)和物理世界(物)等的资源,通过协作进行领域特定的个性化计算,实现领域价值。
|
||
|
||
近年来,软件定义网络、软件定义存储、软件定义数据中心等的不断出现,揭示了计算系统在能力描述上的趋势,其内在本质是资源虚拟化和功能可编程。未来的现实世界,场景就是计算机,软件系统要在各种各样的现实应用场景中,发挥其核心纽带作用,软件定义的方法和技术将成为其基本手段。
|
||
|
||
本章选择几个典型的,涉及``人-机''或``物-机''或``人-机-物''紧密交互的典型应用场景下的软件及其所处的系统,从系统体系架构和软件技术挑战等方面分别予以阐述,展示软件系统的发展趋势。本章亦将讨论高性能 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{软件定义的无人自治系统}
|
||
无人自治系统(UAS)是机械装置,计算技术,传感器和软件的融合,包括无人地面车辆、无人飞行器、智能机器人等。其典型特征是能自主感知其周边环境的状态,通过其内部搭载的计算部件理解环境状态并作出对下步动作的决策,并将决策结果直接实施到其机械装置上,其各个部分的工作全部通过软件来协调完成。比如,无人地面车辆(UGV)是在与地面接触且没有人在场的情况下运行的车辆,一般配备一组传感器以观察其周边环境,并自主决定其行为。
|
||
|
||
无人自治系统,其核心是其环境和情景的可感知性和行为的自治性,典型的具有如下能力:(1)环境感知能力:能收集其周边环境的信息,形成对环境的认知,例如获得建筑物内部的结构,检测环境中感兴趣的物体,如人和车辆;(2)规划和自主行为能力:不同功能的无人自治系统有不同的规划和行为能力,比如,无人地面车辆可以在没有人工导航的情况下自主在航点之间行走,无人飞行器可以在没有人工导航的情况下自主在航点之间飞行,智能机器人可以在没有人工控制的情况下自主完成为它设定的任务,等等;(3)自我维护修复能力:自我定期维护,对很多故障无需外部协助即可自行修复;(4)环境安全保护能力:能在完成设定任务的同时避免对人员,财产或自身造成伤害;(5)自主学习能力:包括,在没有外部帮助的情况下学习或获得新功能,根据环境调整自身的行为策略,在没有外部帮助的情况下适应环境,培养针对完成任务目标的道德意识。
|
||
|
||
自主无人系统的群体协作系统,是从单体自主无人系统扩展而来的。除了单体自主无人系统具有的特点外,群体协作系统还具有:(1)功能分布性:即不同功能的自主无人系统协同工作以完成更复杂的任务,通过共享资源,扩大完成任务的能力范围;和(2)空间分布性:多个自主无人系统可以分布在工作空间的各个区域同时工作,提高完成任务的效率,增强系统的鲁棒性。
|
||
|
||
\subsection{参考体系架构}
|
||
|
||
无人自治系统,除其本体机械装置外,其系统架构包含四个层次:首先,无人自治系统包含多传感器系统,分为内部传感器与外部传感器,内部传感器主要用于测量系统内部状态信息,外部传感器通过与外部环境进行交互获得相应的环境信息。其次,无人自治系统需要采集系统状态数据与环境数据,通过虚拟化和标准化,传给其控制软件,实现无人自治系统位/姿控制管理、资源调度与优化和载荷资源管理。第三,在此基础上,无人自治系统需要进行环境感知与理解、定位与规划、决策与控制、自诊断与自愈合、安全与自成长和群体协同与合作。最后,需要利用应用编程接口支持各类应用程序,并通过丰富的应用程序为用户提供个性化服务。其系统架构如图\ref{fig4}所示。
|
||
\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)超大规模模拟前后处理交互能力与工程设计建模精细化水平同步提升,实现可交互操控的网格单元数的数量级跨越;(4)CAE的基础理论、方法和科学数据的快速的集成和工程化能力的飞跃,实现高性能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软件的功能特征和关键技术挑战。
|
||
|