APP下载

基于OOPN的装备动用业务流程建模与仿真*

2019-12-10曹军海郑竣兮杜海东梁精睿

指挥控制与仿真 2019年6期
关键词:车场动用业务流程

曹军海,郑竣兮,杜海东,梁精睿

(陆军装甲兵学院,北京 100072)

装备动用管理是指在装备的使用过程中,为了保持足够数量的装备随时处于良好状态,以满足军事行动的需要,进行的协调、组织、规划、监督和控制的管理活动[1]。装备的动用管理是装备保障与管理中的关键环节,也是军队完成各项军事任务的重要保障,对维持和提高装备完好率、战备水平,提高军队作战效能和保障能力具有重要作用[2]。装备动用业务流程的建模与仿真,是本领域热点研究问题,其根本目的是通过建模与仿真方法,实现对装备动用流程的评估与优化。

装备动用业务流程是一类典型的涉及主体多、存在异步并发事务、资源占用规则复杂、确定性与随机性并存的复杂业务流程。在业务流程建模领域,常用的方法包括基于GERT(Graphic Evaluation and Review Technique)的建模方法[3-4]、基于PERT(Program Evaluation and Review Technique)的建模方法[5-6]、基于Petri网的建模方法[7-10]、基于ESD(Event Sequence Diagram)的建模方法[11]等。其中,Petri网建模方法在处理复杂的活动触发规则、活动优先级、批处理和异步并发事件等方面,具有独特的优势,因此得到广泛应用。然而,传统Petri网方法,基于面向流程的系统建模思想,从系统活动要素出发,通过对系统中各类活动流程的建模,实现对整个系统行为的刻画,这种方法不能很好地适应大型复杂系统业务流程模型的构建,也不符合当前流行的基于Agent的复杂系统建模与仿真方法论思想。在处理大型复杂系统的业务流程时,因为规模庞大,关系复杂,很容易出现“逻辑混乱”、“模型转换困难”、“建模思路不清晰”、“状态空间爆炸”、“模型维护困难”、“模型可重用性差”等问题。为了克服传统Petri网的不足,Lee和Wang提出了一种将面向对象方法与Petri网建模相结合的模型构建方法[12],即OOPN(Object Oriented Petri Nets)法。OOPN建模方法可以高度抽象系统的业务流程,其建模过程从面向系统活动,向面向系统主体(对象)转变。它关注系统对象与外部世界之间的信息传递接口和不同对象接口之间的信息传递,因此更容易实现系统扩展,可以很好地适应复杂系统的建模问题,因此,该方法逐渐被广泛应用。李景峰[13]等描述了煤炭超市业务流程问题,并建立了面向对象分层Petri网模型,实现了对煤炭超市业务系统中物流、资金流和信息流的数据描述以及业务流程的优化分析。孙光[14]等考虑了继电保护装置、断路器装置、重合闸装置间的配合关系,并利用面向对象技术降低了单个Petri网仿真单元的复杂性,提出了一种面向对象的输电网线路保护Petri网模型。郑学恩[15]等针对设计工作流活锁问题,提出了基于面向对象Petri网的扩展工作流网,设计了跃迁状态转移机制和虚拟token的网标识,给出了能够描述虚拟token的可达性分析方法。

从基于仿真的装备动用业务流程评估与优化的研究需要出发,针对装备动用业务流程建模与仿真的复杂性和难点问题,本文提出了基于OOPN的装备动用业务流程建模与仿真方法,并通过Anylogic平台进行了仿真验证,证明了方法的可行性和有效性,为装备保障系统建模与仿真技术的开发与应用提供了新的思路。

1 面向对象分层Petri网

按照面向对象的方法,OOPN将系统的目标实体分成了多个对象类。对象类和对象类之间的关系由Petri网的存储库、流关系和转换表示。对象类表示具有类似行为的实体类。它封装了这些实体共享的状态和行为,并且独立于其他对象类。OOPN建模方法的核心是引入模块化的Petri子网模块,然后根据一定的规则连接以上模块,从而构建了整个系统的模型。使用OOPN方法,模型不仅使图形描述易于理解,而且还保留了Petri网的分析和验证功能。

OOPN模型由三部分组成:顶层Petri网模型、子层的对象Petri网模型和二者的连接关系模型。在本文中,顶层Petri网模型针对装备动用流程整体,对象Petri网模型则是针对各个对象,描述了它们在流程中的参与情况以及涉及的具体业务活动;而对象之间通过连接关系模型,以信息流的形式传递指令,实现整个模型的运行。

定义1顶层Petri网模型是一个3元组(O,P,R),其中:O={Oi,i=1,2,…,I,I∈N}是系统的对象集;

P={Pi,i=1,2,…,I,I∈N}是系统对象的库所集;

R={Rij,i=1,2,…,I,j=1,2,…,J,I,J∈N}是系统对象的关系集。

定义2 子层Petri网模型是一个4元组,(OiP,OiT,Imi,Omi)

其中:OiP={OiP1,OiP2,…,OiPn} 是子层Petri网对象Oi的对象集;

OiT={OiT1,OiT2,…,OiTn}是子层Petri网对象Oi的变迁集;

Imi是对象Oi的输入信息库所集;

Omi是对象Oi的输出信息库所集。

定义3 子层间关系连接模型是一个 2 元组(Iij,Ojk)

其中:Iij(OMi,Oj)作为从输出信息库所OMi到对象Oj的输入功能;

Ojk(Oj,IMk)作为从对象Oj到输入信息库所IMk的输出功能。

2 装备动用业务流程

装备动用管理是一项涉及大量人员主体的综合性管理工作。以装甲装备为例(本文主要指教练车),装甲车辆的使用由多个相关团队组织和实施,在此期间,涉及多个部门之间的协调、合作和保障。同时,应执行相应的程序,遵守有关规定和要求,满足各种约束条件,其业务范围和人员范围相当广泛。装甲车辆动用的典型业务流程如图1所示。

图1 装甲装备动用流程

如图1所示,装甲车辆的动用过程主要涉及装备机关、车场管理站、车场值班室、修理分队、使用分队五个部门,各个部门的职能分工明确,在整个流程中存在装备交接、文件下达、物流、信息流等传递过程,符合OOPN建模中对象的特点。本文将这五个部门抽象为五个业务主体对象,并根据面向对象业务流程的特点,对动用流程进行转换,如图2所示。

图2 基于业务主体对象的装甲车辆动用流程

3 装备动用OOPN模型构建

3.1 确定对象并构建其Petri网模型

由图1可知,装备动用的层次Petri网包含5个业务主体对象。分别为:

1)装备机关,主要负责装备使用计划、维修计划的制定与下达,在流程中涉及信息流的传递,构建的模型如图3所示。

图3 装备机关子层Petri网模型

2)车场管理站,作为装备状况的鉴定机构,在流程中参与了装甲车辆技术状况检查、修理情况上报等程序,构建的模型如图4所示。

图4 车场管理站子层Petri网模型

3)车场值班室,主要负责装备的出入场登记,在流程中涉及信息流的传递,构建的模型如图5所示。

图5 车场值班室子层Petri网模型

4)修理分队,作为基层级修理机构,负责装甲车辆使用中出现小故障时的抢修以及工位的换件修理,构建的模型如图6所示。

图6 修理分队子层Petri网模型

5)使用分队,负责装备的使用、技术状况检查、保养,使用过后的卡片填写、入库等工作,涉及信息流、物流的传递,是装备动用流程中参与程度最高的机构,构建的模型如图7所示。

图7 使用分队子层Petri网模型

以上模型中,各个库所和变迁的含义如表1所示,其中,装备机关代号为A,车场管理站代号为B,车场值班室代号为C,修理分队代号为D,使用分队代号为E。

表1 OOPN模型中各个库所和变迁的含义

3.2 构建顶层Petri网模型

顶层Petri网模型对于整个装甲装备动用业务流程进行图形化、直观化描述。通过对各个主体对象模型进行交互分析,并进行模型集成,建立系统总体的业务流程模型,如图8所示。

图8 装备动用流程顶层Petri网模型

在该模型中,各个Gate与I/O口的含义如表 2所示。

表2 顶层Petri网门与I/O口的含义

4 装备动用流程仿真

为了验证基于OOPN的装备动用业务流程建模方法的有效性。本文采用AnyLogic通用仿真建模平台,对所建立的装备动用OOPN模型进行了仿真实现。

AnyLogic仿真平台是一种可用于离散型、连续型及混合型复杂系统建模与仿真的通用工作平台软件,其最大的特色在于支持基于Agent的复杂系统建模与仿真方法,并提供了丰富的基础模型库和强大的扩展能力。本文在Anylogic平台下,以多Agent仿真技术为基础,对Petri网中的核心要素库所和变迁进行定制,并将各个业务对象定义为Agent实体,并通过Agent间的信息流传递来驱动Petri网的运行,从而实现OOPN模型的动态仿真。

4.1 装备动用流程仿真模型构建

本文以装备动用流程OOPN模型为基础,使用 AnyLogic平台确定仿真参数、构建仿真模型。

如图9所示,首先在仿真模型中定义“Battalion”、“DutyRoom”等五个Agent,分别表示装备动用OOPN中的五个主体对象。

图9 基于多Agent的装备动用主体对象模型

然后定义“Place”、“TimeTransition”两个Agent,分别表示Petri网中的库所和变迁。如图10所示,在“Place”中定义变量“tokens”,表示Petri网中的token。其中,参数“initialTokens”表示初始token。

图10 基于多Agent的库所模型

如图11所示,在“TimeTransition”中,建立带有时延的循环,运行到“start”时,从该变迁的每个输入库所中抽取一个token,运行到“finish”时,再给每个输出库所中增加一个token,如此循环,实现Petri网运转的逻辑约束。

图11 基于多Agent的变迁模型

最后,根据装备动用OOPN模型中每个对象的底层Petri网模型,在相对应的Agent中建立相关的行为模型,以装备机关为例,其仿真模型如图12所示。

图12 装备机关仿真模型

其中,装备机关、车场管理站、车场值班室和修理分队人员编制较少,在运行过程中存在人力资源与需求冲突的问题,因此假定在繁忙时不可运转。而使用分队人员较多,假定在运行过程中一直处于可工作状态。

以上行为建模结束之后,可以运行建立的模型。模型运行的逻辑流程如下:

1)初始化Place数组;

2)初始化TimeTransition数组;

3)判断当前状态下是否存在满足发射条件的变迁,并随机选择一个满足发射条件的变迁执行下一步;

4)对一个指定的变迁发射,将这个变迁的所有前驱库所中的token均减1,所有后继库所中数目加1,若继续,则返回第3步。

4.2 模型仿真与分析

参考部队历史数据,设定各流程人均完成时间均服从正态分布,并通过AnyLogic平台中正态分布由随机数生成函数normal(double sigma,double mean)生成随机的活动完成时间。以均值±3σ对应着色时间Petri网时间区间函数两端的值,均值和σ值由部队历史数据计算得出,如表3所示。

表3 变迁占用时间

在仿真实验过程中,首先运行单个子对象Petri网,在每个对象子网运行无误后,再进行顶层Petri网的操作。每个模型均运行20次,当各个模型到达(如维修分队Petri子网中,token从P4到OM4的所用时间即为完成一次维修活动所用时间),该Petri网完成。经统计,各个仿真模型运行时间如表4所示。

表4 仿真模型平均运行时间

综上,可得出如下结论:

1)从初始标记开始,始终可以到达终止标记,模型具有可访问性。

2)在模型运行过程中,任何节点中都没有出现大于1的数,表明模型是有界且安全的。

3)仿真模型中不存在死锁,因此该模型具有活性。

5 结束语

本文针对装备动用业务流程的建模与仿真问题,采用面向对象的分层Petri网方法,构建了装备动用业务OOPN模型,并进行了仿真验证。通过仿真实验,表明了OOPN方法用于装备动用流程建模与仿真的有效性。作为一种图示与数学结合的模型工具,OOPN方法不仅直观、易懂以及易用,并且可以充分利用Petri网的一般分析方法和技术,对复杂系统进行静态的结构分析和动态的行为分析,能够很好地适应装备保障系统这类复杂系统的建模与仿真研究,并在刻画系统并发行为、动态特性等方面具有明显优势。该方法为装备保障系统建模与仿真技术的开发与应用提供了新的技术思路。

猜你喜欢

车场动用业务流程
航天企业基于信息化的业务流程体系构建方法研究
ERP系统在企业财务管理和业务流程管理中的应用
告成煤矿车场大坡度揭煤实践
基于质量管理体系为基础的核心业务流程优化
告面煤矿车场大坡度揭煤实践
浅谈心理学在教学中的运用
浅谈交互式电子白板在英语教学中的运用
简析高中英语学习中名词动用的十种常见类型
自溜矿车减速装置的研究与应用
医院HIS医疗业务流程设计与管理