基于面向对象Petri网的煤矿CPS建模

2021-09-16 01:52梅,张
计算机工程与设计 2021年9期
关键词:库所子网客户端

张 梅,张 啸

(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)

0 引 言

煤矿安全生产是集开采、挖掘、运输、通信、控制等多环节于一体的复杂系统,需要将煤矿物理世界与信息技术紧密结合,那就必须引入信息物理系统(cyber-physical system,CPS)的理论,这是今后很长一段时间内煤矿自动化的发展方向[1-3]。

CPS是将计算、通信和控制融为一体的复杂工程系统[4]。煤矿CPS是将CPS应用到煤矿系统中[5]。在煤矿CPS中,子系统众多,设备、网络都是分布的、异构的,实际运行时,常会出现由于各子系统相互独立而无法进行集中控制和统一管理的问题。因此在其开发初期,需要对煤矿CPS进行建模,对其进行描述、分析和验证,以提高系统的可靠性和可信度。CPS建模的研究比较广泛,建模方法也比较多,如基于Actor、混成自动机、微分动态逻辑和Petri网等建模方法[6-9]。目前煤矿CPS主要的建模方式是针对物理进程和计算进程建立连续模型和离散模型,进行离散逻辑控制和连续时间行为同步[10-13]。

Petri网是一种图形化与数学化的建模工具,适合于描述系统的分布性、并发性和异步性,尤其适用于煤矿CPS的建模。面向对象技术具有灵活、可重用、可扩展等优点,适合描述和设计大型复杂系统。面向对象Petri网(object-oriented Petri nets,OOPN)将Petri网与面向对象技术相结合,将单个对象的Petri网模型封装起来,提高了系统模块性和柔性[14-16]。

本文围绕煤矿CPS的主要对象和业务流程,以面向对象Petri网为建模工具,实现了各对象内部子网模型和系统整体模型的构建,以提高系统的可靠性,为煤矿CPS的开发奠定了坚实的基础。

1 煤矿CPS的体系架构

煤矿CPS是一个复杂、分布、并发、动态性强的系统,为了使系统更加稳定可靠,本文从多Agent系统的角度来研究煤矿CPS。Agent技术是一种处于一定环境下包装的计算机系统,是计算机科学、分布式系统、人工智能、并行计算、专家系统、知识工程等相互交叉融合形成的技术。单Agent可以独立地完成某项任务,多Agent系统是一个有组织能力的Agent组,通过彼此间的协作即可实现一个较为复杂的系统功能要求。因此Agent技术特别适合处理像煤矿CPS这样的复杂系统,将Agent技术引入到煤矿CPS中,可以有效地解决煤矿CPS的并行、自治、协作、共享等问题。

本文从利用技术自治性、反应性、主动性和交互性的特点,把整个煤矿CPS看成一个多Agent组成的系统,其结构如图1所示。

图1 煤矿CPS的体系架构

基于多Agent技术的煤矿CPS自下而上分为感执层、传输层和应用层。感执层主要由感知节点Agent和执行节点Agent组成,通过嵌入式单元实现对煤矿井下物理世界的感知和控制。网络层主要由无线传感网、现场总线网和煤矿光纤骨干网组成,它将无线传感网和现场总线网接入高速率的光纤骨干环网中,然后进行传输;网络层还包括协调处理Agent,它负责将底层各子系统的信息汇聚、处理、协调,实现全局目标和局部目标的协调。应用层主要由管控Agent和客户端Agent组成,管控Agent负责接收、分析和处理协调处理Agent的信息,然后将处理的结果传送给客户端Agent;客户端Agent提供用户管理接口,业务涵盖煤矿安全、生产、调度、机电等各个环节,使煤矿各环节都能集中监视、协同控制。

针对上述体系架构,下面以面向对象Petri网为建模工具对煤矿CPS进行建模。

2 煤矿CPS的OOPN建模

基本的Petri网是一种网状信息流,由库所、变迁以及连接它们的有向弧和令牌信息组成。库所表示系统的状态,变迁表示系统的变化,库所决定变迁是否发生,变迁则改变系统的状态,有向弧是两者之间的依赖关系。在库所节点和变迁节点的有向二分图上,有表示状态资源和信息资源的令牌,令牌按照变迁发生的规则进行系统状态演变,从而体现系统的状态转变过程。

煤矿CPS的面向对象Petri网建模主要有3部分:①顶层对象的Petri网建模,即系统各对象之间的消息传递机制的建立;②单个对象的Petri网建模,即描述单个对象的具体业务活动;③建立各对象消息传递关系,即描述顶层对象之间的关系。

根据以上步骤,首先建立煤矿CPS各对象的子网模型,实现各对象的自治性、主动性;再通过对象间的接口(消息库所)和门变迁将每个子网系统连接起来,最后集成各对象子网形成煤矿CPS的整体模型,实现对象间的交互性、共享性。

2.1 感知节点Agent子网模型

煤矿CPS中的感知节点Agent具备感知煤矿井下环境、人员等物理世界的能力,并通过有线或无线网络传送给信息处理单元。每个感知节点Agent具有唯一的身份ID,以区别于其它节点,主要完成数据采集、简单处理和信息传输的功能。其OOPN子网模型如图2所示。

图2 感知节点Agent的OOPN子网模型

图2中,库所S11为接收到的感知数据,S12为经过简单处理的数据。变迁T11为感知节点Agent的输入接口,T13为输出接口,实现煤矿井下物理世界的信息输入和输出;T12为信息处理变迁,根据规则库以及系统需求进行简单的数据处理。IMP11为节点启动消息,OMP11为向协调处理Agent传送数据的请求消息。

2.2 执行节点Agent子网模型

在煤矿CPS中,执行节点Agent根据接收到的信息进行独立的判断,然后执行相应的任务。执行节点Agent的OOPN子网模型是以Agent技术中信念-愿望-意图(belief-desire-intention,BDI)模型为指导思想建立的,其模型如图3所示。

图3 执行节点Agent的OOPN子网模型

图3中,S21为决策模块库所,它按输入信息的类型将其派遣到反应模块,用来捕获事件和派遣消息;S22为反应模块库所,对接收到的数据做出相应反应;S23是知识库模块库所,为BDI模型中的信念,用来描述该Agent的固定信息和一些条件-动作规则;S24是目标模块库所,为BDI模型中的愿望,用来描述该节点接收到的任务;S25是规划模块库所,为BDI模型中的意图,用来描述该Agent完成任务所需的行为。T21和T28分别为输入、输出接口变迁,T22为直接派遣消息至反应模块,T23为派遣消息至BDI模块,T24为更新目标,T25为直接使用知识库,T26为更新规划,T27为规划选择,T28为执行规划。IMP21为节点启动消息,OMP21为向协调处理Agent反馈信息的请求消息。

2.3 协调处理Agent子网模型

协调处理Agent将各感知节点Agent的信息汇聚、处理,上传给管控Agent;同时将管控Agent下发的任务转化为具体的控制信息发送给相应的执行节点Agent,并将执行过程中反馈的信息汇聚处理后上传给管控Agent。协调处理Agent的OOPN模型如图4所示。

图4 协调处理Agent的OOPN子网模型

图4中,S31为协调处理Agent的决策库所,用来判断来自各Agent的信息或管控Agent下发的指令;S32管控Agent 下发的指令;S33转化后的指令;S34为感知节点Agent 上传的数据;S35为处理后需要上传至管控Agent的感知数据;S36为执行节点Agent反馈的数据,S37为处理后需要上传至管控Agent的执行节点数据。T31、T32和T33分别为感知节点Agent、执行节点Agent以及管控Agent的输入接口变迁,T34为接收管控Agent指令,T35为转化相应指令,T36为发送相应指令至执行节点Agent,T37为接收感知节点上传数据,T38为处理感知数据,T39为上传处理后的感知数据至管控Agent,T3A为执行节点Agent的反馈信息,T3B为处理反馈信息,T3C为上传反馈信息至管控Agent。IMP31、IMP32和IMP33分别为感知节点Agent、执行节点Agent以及管控Agent发送信息的请求消息,OMP31和OMP32为协调处理Agent向执行节点Agent和管控Agent发送信息的请求消息。

2.4 管控Agent子网模型

管控Agent一方面接收客户端Agent发送的任务,然后对任务进行分解,接着判断协调处理Agent能否解决分解后的子任务;若能,则将子任务下发至相应协调处理Agent;若不能,则反馈给客户端Agent。另一方面,管控Agent接收并分析处理协调处理Agent上传的数据,再将处理后的数据发送给客户端Agent。管控Agent的OOPN模型如图5所示。

图5 管控Agent的OOPN子网模型

图5中,S41为管控Agent的决策库所,用来判断来自客户端Agent和协调处理Agent的信息;S42为接收到的来自客户端Agent的任务;S43为分解后的子任务;S44为判断子任务能否完成的决策库所;S45为下发到协调处理Agent的子任务;S46为接收到的协调处理Agent上传的数据;S47为分析处理后的数据;S48为反馈给客户端Agent的信息。T41、T42分别为协调处理Agent和客户端Agent的输入接口,T43为接收客户端Agent下发的任务,T44为分解任务,T45为传送子任务至决策会所,T46为能完成子任务时发送子任务,T47为下发子任务至协调处理Agent,T48为不能完成子任务时上传反馈信息,T49为接收协调处理Agent的数据,T4A为分析处理数据,T4B为上传处理后数据,T4C为上传数据和反馈信息至客户端Agent。IMP41和IMP42分别为协调处理Agent和客户端发送信息的请求消息,OMP41和OMP42为管控Agent向协调处理Agent和客户端Agent发送信息的请求消息。

2.5 客户端Agent子网模型

客户端Agent为用户提供对煤矿CPS管理的接口,分为用户管理子系统、煤矿安全生产监控子系统、煤矿调度指挥子系统、煤矿灾害预警子系统和煤矿井下人员定位子系统等众多子系统。一方面,客户端Agent接收到管控Agent传送的数据后,根据性质将其分解到子系统中,然后进行相应的处理,如存储、显示、报警等;另一方面,客户端Agent接收用户的输入指令,并将指令进行翻译和推理,再将对应任务下发到管控Agent。客户端Agent的OOPN模型如图6所示。

图6 客户端Agent的OOPN子网模型

图6中,S51为客户端Agent的决策库所,用来判断来自用户的指令和管控Agent的数据;S52为接收到的用户指令;S53为翻译推理后的指令;S54为接收到的管控Agent数据;S55为分解后的不同子系统数据;S56为处理后的数据。T51、T52分别为用户端和管控Agent的输入接口,T53为接收用户下发的指令,T54为翻译推理指令,T55为下发指令至管控Agent,T56为接收管控Agent的数据,T57为分解数据至各子系统,T58为在子系统中对数据做相应处理,T59为输出数据。IMP51和IMP52分别为用户端和管控Agent发送信息的请求消息,OMP51和OMP52为用户端Agent向管控Agent和输出端发送信息的请求消息。

2.6 煤矿CPS的整体OOPN模型

煤矿CPS的业务流程如图7所示。

图7 煤矿CPS的业务流程

煤矿CPS的业务流程主要分为两部分:一是用户端指令的下达,其具体流程如下,用户通过客户端Agent向管控Agent发送请求→客户端Agent将对应的命令下发给管控Agent→管控Agent对接收到的命令进行分析,分解成子任务,根据任务指令调度该任务所涉及到的Agent并激活→当管控Agent经过分析,判断其控制的协调处理Agent组解决不了该任务时,则反馈给用户,该任务不能完成→管控Agent发现其控制的协调处理Agent组可以解决,将任务分配给合适的协调处理Agent→启动多Agent煤矿信息物理系统→协调处理Agent将分解后的子任务与执行节点Agent进行匹配,将任务分配给合适的执行节点Agent 来完成,同时监测Agent与其它Agent通过互动机制来协作完成该任务→当某一个协调处理Agent发生故障时,管控Agent对故障信息首先进行分析,做出对应的决断,然后将此Agent正在执行的任务重新分配,保障整个系统的正常运行。二是感知信息的处理上传,其具体流程为:感知节点Agent将自己采集到的煤矿井下信息反馈给上级的协调处理Agent→协调处理Agent将接收到的感知Agent数据信息进行分析处理,将融合后的准确、简化的数据通过以太网发送给管控Agent,同时与本地数据库进行比对,当发现某区域的矿山发生事故时,立即启动报警器,将危险信息上报给管控Agent,由管控Agent通知管理员进行处理→管控Agent将接收到各自控制的协调处理Agent的信息进行融合处理,反馈给客户端Agent,同时与数据库进行比对,当发现煤矿信息发生异常时,立即启动报警器,并通知管理员进行处理→客户端Agent将收集到的煤矿环境信息反馈给用户。

根据煤矿CPS业务流程,将建立好的煤矿CPS各对象通过对象间的接口(消息库所)和门变迁将各个对象子网集成起来,构建出煤矿CPS的整体OOPN模型,如图8所示。

图8 煤矿CPS的整体OOPN模型

图8中,对象O1~O5分别为感知节点Agent、执行节点Agent、协调处理Agent、管控Agent和客户端Agent,G13~G54为对象之间的门变迁,由指定控制规则来决定是否点火。

O1将感知信息处理好后通过门变迁G13传输至O3,O3处理后通过G34传输至O4,O4分析处理后通过G45传输至O5,O5将信息反馈给用户;另一方面用户通过O5通过G54下发指令至O4,O4分析处理后通过G43将任务分配至O3,O3分解任务后通过G32将子任务分配至O2,O2执行任务并将执行结果反馈通过G23反馈给O3。

3 模型性质分析

Petri网模型主要有可达性、死锁、有界性、安全性、守恒性等的性质,有可达图、可覆盖性树、关联矩阵、状态方程等分析方法。下面围绕煤矿CPS的OOPN模型,利用可覆盖性树和关联矩阵对其进行可达性、有界性、守恒性和死锁检测等分析。

3.1 基于可覆盖性树的模型性质分析

针对煤矿CPS的OOPN模型,需要进行可靠性验证,最常用的可靠性检测为系统可达性和死锁检测。系统可达性分析的目的是看从初始状态可以变化到哪些状态,或从给定状态是否可以实施一系列变迁从初始状态到达该状态;系统死锁检测的目的是检测系统的活性。这些均可通过建立系统的可达树来完成。

基于可覆盖性树的面向对象Petri网模型性质步骤是:首先建立每个对象子网模型的可覆盖性树,分析子网模型的可达性和是否存在死锁;然后根据对象间的通讯关系,构造整个系统的简化网,通过建立的简化网,分析整个系统模型的可达性和是否存在死锁。

以执行节点Agent子网模型为例,建立其内部的可覆盖性树,如图9所示。

图9 执行节点Agent子网模型的可覆盖性树

由图9可以明显看出,执行节点Agent内部的每一个变迁通过适当的行为均可激发,各状态均可达,它能将输入库所中的托肯传递到输出库所,其内部不存在死锁;由图9可看出,可覆盖性树节点中没有出现ω,模型有界;另外只有“0”和“1”出现在其节点标注中,故模型安全。同理可以对其余对象进行可达性与死锁检测。

接着根据面向对象Petri网的化简规则,将每个对象子网化简为一个对象库所节点,再根据输入、输出关联网连接起来,得到煤矿CPS整体OOPN模型的简化网,如图10所示。

图10 煤矿CPS整体OOPN模型的简化网

图10中q1~q5分别为感知节点Agent对象子网、执行节点Agent对象子网、协调处理Agent对象子网、管控Agent 对象子网和客户端Agent对象子网对应的简化对象库所节点,G12~G54为对象间的门变迁。

通过对图10所示的简化网进行检测,可知系统各对象库所可达,也没有死锁存在。

综上可知,所建立的煤矿CPS的OOPN模型各状态可达,且不存在死锁,系统具有可靠性。

3.2 基于关联矩阵的模型性质分析

根据关联矩阵的构造方法,以执行节点Agent子网模型为例构造其关联矩阵,如图11所示。

图11 执行节点Agent子网模型的关联矩阵

由图11的关联矩阵可知:

(1)执行节点Agent子网具有完备性。在该关联矩阵中每一列要有一个1和至少一个-1,表明数据项必须有一个产生者和至少一个使用者,说明系统功能或数据项的划分是合理、无错漏的。

(2)执行节点Agent子网的数据项具有一致性。在该关联矩阵中每一列有且仅有一个1,也就是对于具体的数据项必须有且仅有一个产生者。

(3)执行节点Agent子网的数据项无冗余。在该关联矩阵中没有全0的行向量或列向量出现,说明该数据项是无冗余的。

(4)执行节点Agent子网具有守恒性。根据Petri网守恒理论,有向量X使得ATX=0。

综上,执行节点Agent子网模型是完备的、一致的、无冗余的和守恒的。同理可以对其余对象的关联矩阵进行相关分析。

4 结束语

本文旨在构建更安全、可靠、有效的煤矿CPS模型,以面向对象Petri网为建模工具,构建了煤矿CPS的主要对象和整体业务流程模型。主要结论如下:

(1)基于多Agent技术建立了煤矿CPS的体系架构,将煤矿CPS的构成对象分为感知节点Agent、执行节点Agent、协调处理Agent、管控Agent和客户端Agent,以解决煤矿CPS各对象的并行、自治、协调、共享等问题;

(2)通过分析煤矿CPS各对象的特点和整个系统的业务流程,建立了基于OOPN的各对象子网模型和系统的整体模型;

(3)利用模型的可覆盖树、关联矩阵等分析方法,对所构建的模型进行了分析,表明模型是可达的、完备的、可靠的。

猜你喜欢
库所子网客户端
一种简单子网划分方法及教学案例*
基于FPGA 的有色Petri 网仿真系统设计*
如何看待传统媒体新闻客户端的“断舍离”?
子网划分问题研究及应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
子网划分的简易方法
利用Petri网特征结构的故障诊断方法
基于Petri网的WEB服务组合建模及验证
基于安全协议的虚拟专用子网研究