罗韶杰 张立臣
(广东工业大学计算机学院 广东 广州 510006)
信息物理融合系统CPS的概念由美国国家自然科学基金会的Helen Gill于2005年末、2006年初提出。CPS在软硬件混成系统、嵌入式系统、传感器网等领域的基础之上发展而来。CPS是集计算、通信、控制于一体的系统[1];CPS由传感器感知环境,通过网络与计算设备通信,由计算设备实时综合处理数据、做出决策,再通过网络向执行器下达指令进行控制,其通过上述实时反馈环[2]将信息世界与物理世界深度融合,具有实时性、可靠性、安全性、多样性和自治性等性质[3]。CPS的应用范围十分广泛,涉及诸如航空航天、公路与轨道交通、电网、水资源调度、工业先进制造及自动化,以及近年来新出现的智能家居、智能农业等非常多的领域[4-5]。
CPS这一新兴概念一经提出,便在国际间引起了广泛的重视:无论是美国“先进制造业”战略、德国“工业4.0”战略等国外的发展战略,还是我国的“中国制造2025”战略,都把CPS视为重要领域、核心技术,“中国制造2025”提出:“基于信息物理系统的智能装备、智能工厂等智能制造正在引领制造方式变革”[6-7]。
虽然CPS是国内外战略中的重要领域和主攻方向,甚至已有相关的项目启动了,但是目前CPS体系结构方面的研究相比CPS其他方面的研究及其应用来说,还显得比较少。本文对CPS的体系结构展开了较为深入的研究。首先,归纳和介绍了几类比较主流的CPS体系结构;然后,对CPS的体系结构的层次划分、层级结构以及共性进行了总结和研究,总结出典型CPS体系结构以及典型CPS层级体系结构;最后,结合近年来新出现的热点概念及技术讨论了这些新兴或热点的概念及技术对CPS体系结构起到了怎样的影响,并讨论了CPS体系结构未来的发展。
Radhakisan Baheti与CPS概念的提出者Helen Gill认为CPS是涉及到计算科学、网络通信以及通信理论等跨学科的,各计算元素与物理元素紧密结合的,具有高可靠性,能相互协调处理不确定动态事件的一种系统[8]。
Edward A.Lee教授是国外最早对CPS展开研究的学者之一,其认为CPS是一类由嵌入式计算机以及其他计算核心通过网络监测与控制物理实体,而物理实体也通过网络和计算组件实现反馈的反馈闭环的计算进程与物理过程的集成系统[2]。
何积丰院士是国内最早对CPS展开研究的学者之一,他认为CPS是这样的一类系统:CPS在环境感知的基础之上,深度且紧密地融合计算、通信与控制能力,具有可控、可信以及可扩展的能力,是藉由计算进程与物理过程间相互影响的反馈循环来实现深度融合与实时交互以增加或拓展新功能的、以安全、可靠、高效、实时的方式监控物理实体的网络化的物理设备系统[9]。
为了从整体上把握CPS体系结构相关研究,查阅了国内外许多关于CPS体系结构的文献资料,经过遴选、分析、分类归纳和整合相似研究之后,得出现有主流的CPS体系结构。
上文已经介绍了Edward A. Lee教授提出的CPS中的计算组件与物理实体之间的反馈环理论。文献[10]对反馈环进行了分析,指出现有的将计算与物理世界的交互集成于一起的科学技术起源于嵌入式系统与实时系统,这种反馈环的实现可以从已有的嵌入式系统的研究入手。然后将反馈环参照嵌入式系统及根据实际情况演变转化成了控制循环,如图1所示。该控制循环分为信息系统、物理系统以及现实物理世界三个域,其中,信息系统又包含传感单元及高层控制单元。在该控制循环中感知和执行单元与高层控制单元紧密耦合,信息系统中,通过传感单元对物理世界中的信息进行采样,传送到高层控制单元进行分析处理,决定产生何种决策,再将决策命令下达给物理系统中的执行单元,执行单元执行决策,作用于并改变现实物理世界,而现实物理世界又将会被采样至信息系统,如此循环往复就构成了控制循环。
图1 控制循环体系结构
控制循环体系结构是基于嵌入式系统思想设计的,当系统的复杂性增加时,这种集中控制与紧密耦合的体系结构将会面临挑战:由于紧密耦合,系统复杂性增加时数据量将会加大,对通信带宽带来冲击,数据传输的可靠性、时效性将无法得到保障,数据的组织、传输和处理也将会变得繁琐,导致整个系统的可靠性、有效性、时效性降低;但文献[10]也发现,人类社会提供了一个很成功的跨越这个挑战的范例,人类社会在与物理世界交互、相互影响的同时,也与信息世界交互得很好。于是文献[10]基于控制循环并根据对人类社会与物理世界、信息世界的交互方式的观察与研究,吸收了包括全球参照时间、信息驱动属性等的因素,扩展并建立了一种CPS的原型体系结构(Prototype Architecture of CPSs),如图2所示。
图2 CPS原型体系结构
文献[11]中谭朋柳等在分析了文献[9]中的CPS原型体系结构后认为该原型体系结构虽然是以下一代网络连接松散耦合的信息系统与物理系统,且物理系统是由用户定义的语义及规则进行监控,但都忽略了CPS的实时性特征,没有解决CPS的实时性问题,于是在分析和吸收了上述CPS原型结构并经过改进及简化后提出了新的CPS体系结构,如图3所示。
谭朋柳等提出的CPS体系结构中采用CPS实时网络(CPS Real-Time net,CPSRTnet)替代了文献[10]的CPS原型体系结构中网络,用于联接系统其余各部分,保证系统中网络包的实时传输,为整个系统提供实时的网络服务,其本质上也属于CPS原型体系结构。
图3 谭朋柳等人提出的CPS体系结构
CPS需要信息世界和物理世界在时空上紧密地相互作用。这些交互通常由事件控制,这些事件发生在物理世界中,并且应该自主地反映在信息世界中,由CPS依靠其事件检测和决策机制而采取某些行动。在文献[12]中,CPS被设想为由计算设备和包括分布式传感器和执行器的嵌入式系统组成的异构系统。这些组件在大的规模上相互连接,并执行自主任务,以连接网络世界和物理世界。一般来说,这些任务涉及两个世界之间的密切的相互作用,一个世界的某种变化应该以时间敏感和/或空间敏感的方式反映在另一个世界中。另一方面,CPS应用程序和用户可能不会对物理世界的每个变化感兴趣,或许某些特定的条件才是令人感兴趣的,根据这些条件,CPS执行某些预定义的操作。在其框架中,将感兴趣的条件称为“事件”,并将检测到事件之后期望执行的一系列预先定义好的操作称为“动作”。因此,任何CPS任务都可以表示为“事件-动作”关系。文献[12]根据上述的设想提出了一种事件驱动的CPS层级模型,如图4所示。
图4 CPS事件层级模型
文献[13]也从层级事件驱动的角度入手,综合分析了CPS的事件驱动流程,并着重于从实体角度绘制了CPS的各层级结构示意图、层级中的事件驱动示意图、层级模型图等CPS事件层级模型图,并将CPS事件层级模型应用于智能家居中。
文献[14]讨论了CPS的事件驱动特性,进一步探索了关键机制,指出之前的CPS时间层级模型没有充分地考虑到事件生命周期与事件融合的缺陷,提出了一种事件的多元组的表示方法来改进CPS时间层级模型。将改进后的基于事件驱动的CPS层级模型应用无人机编队仿真来验证了相关定义和方法的有效性。
文献[15]分析了CPS中离散信息系统和连续物理系统交互融合的混成特性,以混成自动机理论为基础,以时空事件驱动为方法,提出一种CPS体系架构并定义了基于时空事件的CPS事件,运用不同功能及定义的CPS端和CPS事件驱动的机制剖析并描绘了CPS体系结构的内部信息物理交互反馈的过程。将提出的CPS体系结构应用于协同驾驶过程中的单一车辆内部速度调控系统作为实例,对其进行了形式化描述,实例的形式化过程证明了该体系架构的有效性。
CPS体系结构的发展本就不是单向独立进行的,不同的CPS体系结构间并不存在也不应该设置隔阂和鸿沟,有时候不同的CPS体系结构间的结合可以促使其取长补短,优势互补。
文献[16]将前面两节中的CPS原型体系结构与“事件驱动”的概念结合了起来,经过对两者的整合以及一些调整,设计了一套“发布-订阅”式的CPS体系结构,如图5所示。
图5 “发布-订阅”式CPS体系结构
在此体系结构中,以CPS原题体系结构作为基础,不同组件间的信息传递都以事件发布-事件订阅的形式,这种机制可以让各组件有效屏蔽不感兴趣的信息,从而专注于订阅的事件,提高信息传输及处理的效率。
面向服务的体系结构(Service Oriented Architecture,SOA)是一种模仿人类社会的分布式的计算模式,在如今的人类社会中,每个人都享受着别人提供的服务,同时也为别人提供服务。SOA的核心思想是将系统中的各资源都封装成为服务,从而实现异构的平台间的重用与互操作。文献[17]对面向服务的CPS体系结构进行了研究和分析,结合了SOA的思想与CPS的3C(Computation,Communication,Control)结构提出了面向服务的CPS概念图,如图6所示。
图6 面向服务的CPS概念图
文献[18]基于上述的思想,提出了一种面向服务的CPS体系结构,如图7所示,将CPS划分为节点层、网络层、资源层和服务层。该架构将CPS中的计算设备、存储设备和控制设备等资源封装成为服务,给完成具体的任务提供支持,充分体现了CPS的结构特性和“以服务为资源存在方式”的核心思想。文献[19]利用时间自动机理论以及模型检测工具Uppaal,通过以智能家居系统作为CPS 案例系统的案例设计分别对系统的安全性、可达性、活性及时间约束四种类型的性质进行了相关验证。实验结果是系统通过了这些性质的验证,从而证明了面向服务的CPS 建模方法的正确性。
图7 面向服务的CPS体系结构
文献[20]在分析了面向服务的CPS的体系结构之后,提出在物理层与资源服务层之间设置一个代理,对需求进行分析和预处理并将需求匹配并传递到合适的服务去。
在CPS发展的进程中,其他领域也同时在发展,尽管CPS结合了分布式系统和嵌入式实时系统的优点,但是在应对大数据并行处理且实时性要求较高的场景时总显得不足。CPS是依赖计算的,几乎与CPS同年提出的新兴且高速发展的、改变了传统计算模式的云计算技术,无疑会冲击CPS的传统计算模式、给CPS带来其计算模式的变革,基于云的CPS应运而生。
文献[21]研究和分析了云计算构建在分布式计算、存储结构的特点,结合CPS发展所需要的技术需求,指出了CPS结合云有明显的成本方面的优势,故提出了云计算与CPS的结合,并将加入云计算后的CPS分为三个层次:感知层、传输层以及应用层。感知层主要包括CPS用于在信息虚拟世界与物理世界之间交互的物理设备如各类传感器和音视频采集设备;传输层负责将感知层收集到的数据信息通过各种网络如有线网和无线网传输到应用层中去;应用层由云提供计算服务,对传输而来的数据进行解析、进一步加工处理。
文献[22]设计了一种基于云的用于智能监控机械进程的CPS体系结构,如图8所示。这种体系结构分为三层:物理资源层、本地服务器层和云层。物理资源层包括物理设备、CNC控制器、本地终端。物理设备主要有CNC机床、传感器等,CNC控制器负责CNC机床的监视及控制,本地终端负责接收传感器的信息、提供对传感器数据及机械运行状态的监控。本地服务器层包括数据库服务器和本地服务器。数据库服务器负责保存各类数据,本地服务器负责对来自物理资源层的信息(数据、信号等)进行预处理后传送至云层进行处理,也负责接收云层的决策、下达并协调CNC控制器执行决策。云层则提供先进的信号处理及感知决策服务。
图8 基于云的智能监控机械进程的CPS体系结构
文献[23]对这种体系结构进行了分析和扩充,并用真实的CNC机床(Computer Numerical Control机床,数码控制机床,俗称“数控机床”)机械化生产线应用该体系结构进行了实验,对作业工具头的磨损及产品表面光滑度等进行监控,得出的实验结果和数据证明了该体系架构的有效性。文献[24]则将大数据和云平台的概念及技术整合进了工业智能工厂中,设计了一种统一的大数据云平台物理结构。
此外,文献[25]则专注于研究基于云的CPS体系结构中云内部的体系结构的设计和实现其对软件定义网以及云计算的内部组织进行了较为深入的研究,将其提出的体系结构分为应用层、云层及物理资源层,并着重对云层内部的体系结构进行了设计并给出了基于云的CPS中的云计算技术图谱,然后与软件定义网相结合。文献[26]中以面向对象的角度对基于云的CPS进行了抽象、并用UML类图绘制了CPS云计算的概念体系结构。文献[27]对基于云CPS中的任务调度进行了深入的研究,其分析了系统中的资源、控制、延迟与任务截止时间等各种因素,将基于云的CPS调度政策分为基于公有云的调度和基于私有云的调度,对前者提出了最小开销优先调度算法,对后者提出了动态资源分配调度算法,并分别进行了仿真实验,将两种调度算法的平均响应时间进行了对比。
在CPS体系结构的建模方面,目前主要用到的工具有AADL、Modelica、UML、SysML和Simulink等。文献[28]对基于云的CPS体系结构和组件进行了分析,指出AADL(Architecture Analysis & Design Language)是基于云的CPS的强有力的设计工具,并将AADL与其他架构建模语言,如UML[29]和SysML等[30],在CPS建模方面进行了对比,最后用AADL对基于云平台的飞行管理系统及其体系结构进行了建模作为基于云的CPS体系结构的一个实例。AADL适用于CPS体系结构的顶层建模,Modelica则适合于CPS底层(或物理层)的建模[31],文献[32]将AADL与Modelica结合起来对CPS体系结构进行建模,使这两者互相扩展,互为补充,使建模的覆盖面更广,可以覆盖到CPS体系结构的顶层和底层。另外也有利用UML和Simulink对CPS进行协同建模及仿真的实例[33]。
反馈环理论及其演化而来的控制循环是CPS体系结构的基础,CPS原型体系结构作为最早的CPS体系结构之一便是在此基础上结合现实条件扩展演化而来,CPS原型体系结构本身即可视作是控制循环的具体化、现实化的一个实例。在CPS内,信息量大、信息传递复杂,这一定程度上限制了CPS的发展,CPS急需解决这个问题。CPS的事件层级模型解决了这个问题,其把消息依据其属性封装成不同类型、不同级别的事件,组件可以发布自己的事件和订阅自己感兴趣的事件,而可以不用理会其他事件,从而起到了屏蔽的作用,这就将信息纷繁复杂的信息传递简化了,提高了效率。在CPS原型体系结构上结合CPS事件层级模型就演化出了“发布-订阅”式的CPS体系结构。
要完成反馈环,就要先从物理硬件感知环境,再透由信息传输途径将信息传递到信息处理和决策组件去,然后再将决策和命令通过信息传输途径下达回物理硬件处。所以,大部分CPS体系结构会将CPS划分为三层,这三层自底向上分别为:物理层、网络层和信息层,这是CPS的基本结构。本文在分析和归纳了主流的CPS体系结构之后,提出了一种典型CPS体系结构,如图9所示。
图9 典型CPS体系结构
物理层包含CPS的硬件设备,如传感器和执行器等。执行器直接或间接改变物理世界,传感器对物理世界进行采样、感知等。
网络层本应该属于信息层,但它又区别于处理信息的信息层。网络层只负责传输信息,起到连接物理层和信息层的重要作用,因此将其独立作为一个层。网络层包含网络的各种通信协议及设备,如集线器、交换机和路由器等,这里的网络可以是因特网、以太网,也可以是自组织网、无线网、下一代网等。
信息层负责信息的处理,其作用包括:对物理层收集的信息进行计算、识别、模式匹配等处理,保存系统内各类信息,对系统进行各种管理及配置,根据感知作出决策和命令,对任务和资源进行调度等。信息层通常包含计算和控制组件(如SoC、服务器或集群等)、数据组件(如数据服务器、数据库等)、用户端(如终端、智能手机、便携式计算机等)等信息组件。
也有些多于三层的CPS体系结构则是将三层结构中的某些层扩展成多层而来,比较常见的是将信息层细分成多层,这是由于信息层的特殊性:信息层囊括了各式各样的资源(如数据、知识等)、计算、存储组件、各种中间件及应用等非常多而杂的东西,因此有这个需求将信息层细化成不同的几层。本文在考察和归纳了各种主流CPS体系结构的层级划分和各层级内容之后,提出了典型CPS层级体系结构,如图10所示,基本可以概括目前主流的CPS层级体系。举个例子,文献[34]将CPS划分为三个层级:单元级、系统级、SoS级(System of System级),其中单元级实际对应的是图10中的物理域中的硬件层以及网络层中的一部分(包括网络硬件设备及通信协议栈的底层部分),系统级包括信息域中的系统层、资源层以及网络层的一部分(包括网络硬件设备以及通信协议栈的上层部分),SoS级则是信息域中的在系统层之上的应用层,其负责对系统进行操作、监控和调度。
图10 典型CPS层级体系结构
近年来,出现了不少新的热点概念与技术,如SOA、云计算、人工智能、神经网络、深度学习等,与这些概念和技术的应用和结合会让CPS体系结构焕发出新的光彩。CPS体系结构与SOA的核心思想结合,将资源打包封装成一个个服务,实现了CPS信息层的抽象,这对其他层而言,无疑大大简化了与信息层的交互方式,因此造就了面向服务的CPS体系结构。云计算则是云提供商将信息资源集中起来管理,通过虚拟化等技术手段,对外提供其业务,免去了用户自己建立和维护本地信息资源的烦恼。云目前一般提供三种概念的服务:基础设施即服务(Infrastructure-as-a-Service,IaaS)、平台即服务(Platform-as-a-Service,PaaS)以及软件即服务(Software-as-a-Service,SaaS)。在IaaS层次上,用户可以从云租用服务器、硬件设备等基础设施并在此之上自行建设CPS的信息层,包括部署资源、建设信息系统平台以及在此之上开发中间件;在PaaS层次上,用户可以从云端获取已经搭建好的信息平台并在此之上开发CPS的中间件;在SaaS层次上,用户甚至可以从云端获取已开发好的软件服务作为CPS的中间件(如果云服务商提供的话)。SaaS对于CPS来说是较为理想的,因为CPS的中间件可以由云按需提供,所以,只需要将物理层测量、收集和反馈的信息传输给云,再调用云相应的服务后等待响应即可,而无需考虑信息在云里面是如何处理的,也无需去设计和部署自己的计算资源,从而降低了本地设计复杂度,这是基于云的CPS所追求的理想状态。因此,相信基于云的CPS体系结构将会在未来大放异彩。未来,CPS体系结构应吸纳更多的优秀的新兴技术和热点概念,如人工智能、神经网络、深度学习等,可以提高其识别的效率和精确度,进而提升CPS的感知能力。
本文介绍了CPS的定义与基本概念,归纳、分析并列举了包括原型的、基于事件驱动的、“发布-订阅”式的、面向服务的和基于云的五类目前较为主流的CPS体系结构以及CPS体系结构建模方面的一些研究。在现有的CPS体系结构的基础上对CPS体系结构的层次划分、层级结构进行了探索和讨论,并对其共性进行了研究、归纳和总结。考虑了CPS体系结构共有的三个层次,以及从信息层派生出的多个层级,从不同角度提出了典型CPS体系结构与典型CPS层级体系结构。本文提出的两种CPS体系结构紧贴CPS的概念和特性,对以后的CPS体系结构方面的相关研究具有参考及指导意义。
实际上,近年来也出现了不少其他的新兴的热点概念和技术,这些概念和技术也正飞速发展,展现出了前所未有的先进性及优势。未来,CPS体系结构除了与云结合外,也应吸纳更多的优秀的新兴技术和热点概念,如人工智能、神经网络、深度学习等,可以提高其识别的效率和精确度,进而提升CPS的感知能力。CPS体系结构甚至可以和最新兴起的雾计算、边缘计算这些热点相结合,再一次掀起CPS计算模式的变革。因此,CPS如何更好地与云结合以及吸纳新兴概念热点技术是未来工作中值得关注的方向。