面向任务T-Petri网的舰载机出动流程仿真
2014-08-30司维超
司维超,韩 维,宋 岩
SIWeichao1,HAN Wei1,SONGYan2
1.海军航空工程学院 飞行器工程系,山东 烟台 264001
2.海军航空工程学院 基础实验部,山东 烟台 264001
1.Department of Airborne Vehicle Engineering,Naval Aeronautical and Astronautical University,Yantai,Shandong 264001,China
2.Foundation Experiment Department,Naval Aeronautical and Astronautical University,Yantai,Shandong 264001,China
1 引言
航空母舰至今仍是世界各军事强国海军最重要的主战装备,其绝大多数作战使命都需要并且只能由舰载机来承担和完成[1]。合理保障舰载机,对提高航母战斗力具有重要的意义[2]。为了明确舰载机在出动过程中的状态,以更好地对其进行保障,首先需要对舰载机的出动流程进行分析。实际的舰载机出动流程比较复杂,需要各部门相关人员的密切配合,涉及到舰载机在不同战位间的保障[3],增加了建模的复杂性。另外,不同的出动任务其所涉及到舰载机数量、停机位使用范围、起飞位使用情况等各不相同,若分别对其进行建模,则可能导致工作量较大及无法涵盖所有出动任务的情况。
为此在分析Petri网的优点基础上,通过对舰载机出动任务梳理分析,提取共同特征,建立了面向任务的T-Petri网模型。通过对T-Petri的基本网进行简单扩充便可以仿真不同的出动任务,不仅简化了出动流程,而且可以满足舰载机出动任务的多样性建模要求,避免了重复建模的复杂性。
2 面向任务T-Petri网设计
Petri网是模拟并行系统和分布式系统的一种强有力的形式化工具[4]。它能够形象地描述系统的行为特性、分布式特性、异步特性、不确定性、资源竞争等,从而很好地刻画系统的动态行为,分析系统的性能[5-6]。
本部分以Petri网为基础,通过归纳总结舰载机出动任务,设计了一种面向任务的综合T-Petri网模型,其综合性主要体现可以对不同的出动任务进行动态建模。
2.1 舰载机出动任务分析
舰载机出动任务总体要求是在规定时间内为规定数量舰载机提供航空保障资源,指挥并管理各项航空保障作业,安全保障舰载机出动。航母作战任务的多样性[7],导致舰载机的出动情况也互不相同,但是所有任务都必须给出某些特定的参数,主要包括:
出动飞机数量:指为完成本次任务所需要出动的舰载机的数量。
停机位使用情况:明确待出动的舰载机各自分别所处的停机位。
起飞位使用情况:明确本次出动任务需要使用起飞位的范围。每个起飞位都固定对应一个准备位和一条起飞跑道。
出动任务最终完成的目标:首先,在特定的停机位使用范围,对待出动舰载机进行无重复布放;其次,按事先设定的起飞位使用顺序,利用尽量短时间依次出动位于停机位上的舰载机。
2.2 T-Petri网定义
T-Petri网是建立在Petri网基础上,融合舰载机出动所形成的一种特殊模型。定义如下。
定义一个六元组 Σ=(P,T;F,K,W,M0),其中:(P,T;F)是一个基本Petri网,P 元素是库所(Place,即为 S元素),T 元素是变迁(Transition);K:P→N+∪{∞}是位置容量函数,其中N+是指大于0的所有整数集合;W:F→N+是弧权函数;M0:P→N是初始标识(marking),满足:∀p∈P,M0(p)≤K(p),K(p)为位置 p的容量。
在T-Petri网系统的图形表示中,用圆“○”表示位置,用短划线“□”表示转移,用有向弧“→”表示有序偶,标记仍由在位置中的黑点“·”来表示。对于弧 f∈F,当W(f)>1时,将W(f)标注在弧上。当一个位置的容量有限时,通常将 K(p)标注在位置 p的圆圈旁。若K(p)=∞,通常省略 K(p)的标注;若 K(p)≠∞,K函数仅为 K:P→N+,此时当 K(p)=1时,通常省略 K(p)的标注。
运行规则:
函数 M:P→N叫做 Σ 的标识 iff∀p∈P:M(p)≤K(p),即小于额定容量时才可发生;
一个转移t∈T在M下是可实施的条件是:∀p∈P,W(p,t)≤M(p)≤K(p)-W(t,p)
若抑制弧起始库所 p的容量K(p)≠0,则所限制的变迁T不能发生。
根据舰载机出动任务的特点,T-Petri基本网模型应主要包含四个模块,分别是舰载机设置模块、停机位设置模块、起飞位设置模块和舰载机起飞操作设置模块。通过对出动过程进行合并抽象,以不同类来表示不同的对象,建立面向任务的T-Petri模型的基本网如图1所示。
(1)图中圆圈代表库所,表示某一类对象。
舰载机库所,包含出动任务所需要出动的所有舰载机;
停机位库所,包含出动任务所使用停机位;
准备位库所,包含出动任务所使用准备位;
起飞位库所,包含出动任务所使用起飞位;
待起飞舰载机库所,包含在起飞位准备完毕且等待起飞的舰载机;
偏流板库所,包含出动任务所使用偏流板;
起飞跑道库所,包含出动任务所使用跑道。
(2)长方形代表变迁,表示针对出动任务的某种操作。
停机位配置,指根据不同出动任务,为舰载机配置相应的停机位。
移至准备位,指将位于停机位的舰载机移至相应的准备位待命。
移至起飞位,指将位于准备位的舰载机移至起飞位。
起飞前准备,指舰载机在起飞位进行起飞前的准备。
起飞位动态使用,指根据不同的出动任务,通过加入虚拟库所,以动态设定起飞位的使用顺序。
图2 库兹涅佐夫航母舰面模型
起飞安全间隔,指相邻舰载机安全起飞的时间间隔。
偏流板冷却,指舰载机由起飞位起飞后,对应偏流板进行冷却。
(3)带圈弧线代表抑制弧[8],表示假如前面库所中有托肯,则该变迁不发生。
抑制弧A表示在某一起飞位的偏流板冷却完毕之前,后续舰载机不能移至该起飞位。舰载机在起飞位起飞时,高温尾焰使偏流板急速升温。后续舰载机必须等待偏流板冷却完毕后,才能安全经过偏流板移至起飞位[9]。
为形象表述航母各战位,以下给出库兹涅佐夫号航母各战位示意图,如图2所示。
2.3 T-Petri网模块功能分析
本部分主要针对T-Petri网模型所完成的功能进行分析。该模型通过提取不同出动任务的共性并转化为基本网的形式,使得可以通过简单的扩展便能够动态地为不同任务建立相应的仿真模型。各模块完成的主要功能为:
(1)舰载机设置模块,主要完成的功能为根据某次具体出动任务的情况,动态设置所需实例化舰载机对象的数量等。
(2)停机位设置模块,主要根据实例化的舰载机情况动态设定所使用停机位的数量及范围,并进行实例化。
(3)起飞位设置模块,该模块包括准备位设置和起飞位设置两部分。准备位主要是为等待进入起飞位的舰载机提供临时停机位,与起飞位是一一对应的。此处根据出动任务要求,动态实例化准备位和起飞位,完成对舰载机的“加载”及放飞前准备操作。
(4)起飞操作设置模块,主要完成的功能包括实例化起飞跑道;根据任务要求动态配置起飞位使用顺序;根据舰载机出动顺序、起飞位使用顺序,在满足安全间隔的前提下[10],动态放飞舰载机;实例化偏流板,在舰载机起飞后,执行对偏流板的冷却操作。
面向任务的T-Petri网模型可以通过对其基本网进行简单的实例化扩充,便可以动态的与某一具体任务对应起来,避免了要为每个不同任务分别建立不同基本网模型的复杂性。它是建立在Petri网基础上的进一步抽象,将不同出动任务所要求对象的多样性以类的方式予以概括,针对某一具体任务再对所有类进行实例化,它用在舰载机调度方面除具有Petri网优点[11]外,还具有以下优点:
(1)T-Petri网能很好地描述舰载机出动过程中的并发和顺序的关系。
(2)T-Petri网模型特别适合用于描述以有规则的流动行为为特征的动态系统,因为T-Petri网是借助标志和网来运行规则的,可以自由地运行。
(3)T-Petri网的图形表达方式,非常容易理解,而且可读性也很强,并且可以直观地看到舰载机整个出动过程的动态变化。
(4)T-Petri网模型是从组织结构和控制的角度,去模拟舰载机出动的,并没有涉及舰载机出动所依赖的具体细节,例如舰载机的出动过程是以舰载机在停机位布放完毕为前提的,而在T-Petri网模型中并没有具体考虑舰载机的布放细节;为了完成起飞操作,舰载机需要在不同战位间进行移动,而在T-Petri网模型中也没有体现其移动的细节。T-Petri网是对实际的舰载机出动过程共性的高度抽象概括,简化了建模的复杂性。
3 舰载机出动流程仿真
为了清楚地表示T-Petri网模型的仿真过程,此处以库兹涅佐夫号航母的舰载机出动流程为例进行分析。
3.1 基础模型建立
(1)舰面战位设置
舰载机在出动过程中,需要在不同战位完成不同的操作,为此需要首先对航母舰面各战位进行数字化建模,如图2所示。库兹涅佐夫号航母[12]具有3个起飞位(1号、2号及3号),对应有3个喷气偏流板和3个准备位;3条起飞跑道,其中1号和2号跑道为短跑道,3号跑道为长跑道,且1号和3号部分重合;停机位主要位于右舷及左舷后部,图2列出了常用的10个停机位,并分别进行了编号。
(2)舰面战位间距离计算
在计算舰载机出动时间时,要考虑舰载机由停机位移至准备位的时间,为此需要测量停机位与准备位间的距离。此处为了更近似表示舰载机的移动路线[13],利用弧线予以表示。如图3所示。
图3 距离测量示意图
由此给出各战位间示意距离测量如表1所示。
表中“AABBCC”含义为:AA代表舰载机在两点之间近似移动距离;BB代表舰载机在起点的朝向与起点和终点连线的夹角;CC代表起点和终点直线距离。
3.2 实例仿真
(1)出动任务及出动流程描述
此处以某一出动任务X作为具体的仿真实例。任务X描述如下:假设出动4架舰载机,以A、B、C、D表示,其所在停机位分别为 aA,aB,aC,aD;顺序使用1、2、3号起飞位执行起飞操作。
对应于任务X下的4架舰载机的出动流程描述如下:
在开始执行出动任务时,舰载机A、B、C在满足移动安全的前提下,由各自的停机位分别移至1号、2号、3号起飞位,并进行起飞前准备。
舰载机A在1号起飞位准备完毕后,进行起飞。此时,1号偏流板迅速放下并开始冷却。
舰载机B在2号起飞位准备完毕,且距离舰载机A起飞一定安全时间间隔后,B由2号起飞位进行起飞。2号偏流板迅速放下并开始冷却。
舰载机C在3号起飞位准备完毕,且距离舰载机B起飞一定安全时间间隔后,C由3号起飞位进行起飞。3号偏流板迅速放下并开始冷却。
舰载机D在C起飞完毕后,开始由其所在停机位aD移至1号准备位。在1号偏流板冷却完毕的前提下,D由1号准备位进一步移至1号起飞位进行起飞前准备,并执行起飞操作。
(2)任务X的T-Petri网模型建立及仿真对应于任务X的T-Petri网模型为如图4。
①库所初始化
s1库所表示实例化的舰载机A;s2库所表示实例化的舰载机B;s3库所表示实例化的舰载机C;s4库所表示实例化的舰载机D。
s5库所表示实例化的停机位aA;s6库所表示实例化的停机位aB;s7库所表示实例化的停机位aC;s8库所表示实例化的停机位aD。
s9库所表示实例化的1号准备位;s10库所表示实例化2号准备位;s11库所表示实例化的3号准备位。
s12库所表示实例化的1号起飞位;s13库所表示实例化2号起飞位;s14库所表示实例化的3号起飞位。
s15、s16、s17库所表示位于起飞位的舰载机准备完毕后的状态。
s18库所表示实例化的跑道。
s19库所表示实例化的1号偏流板。
s20、s21库所表示设定起飞位使用顺序的虚拟库所,由此设定的顺序为“1-2-3-1”。
②变迁初始化
t1、t2、t3、t4变迁表示设定舰载机的停机位,T(t1)=T(t2)=T(t3)=T(t4)=0。
t5、t6、t7、t8变迁表示舰载机由停机位移至准备位操 作 ,T(t5)=TA(aA,1P),T(t6)=TB(aB,2P),T(t7)=TC(aC,3P),T(t8)=TD(aD,1P)。
t9、t10、t11变迁表示舰载机由准备位移至起飞位,T(t9)=T(t10)=T(t11)=TnMov。
t12、t13、t14变迁表示舰载机在起飞位进行准备,T(t12)=T(t13)=T(t14)=TnPre。
表1 距离测量计算结果
t15、t16、t17变迁表示起飞位上的舰载机执行起飞操作,T(t15)=T(t16)=T′nRun,T(t17)=T″nRun。
t18变迁表示舰载机起飞后需要等待安全间隔,T(t18)=TnSafe。
t19变迁表示舰载机起飞后对应的偏流板需要进行冷却,T(t19)=Tn(1Cold)。
③抑制弧初始化
y1、y2、y3、y4表示常规抑制弧。
y5、y6、y7、y8表示在舰载机C起飞完毕前,舰载机D不能移至1号准备位,以避免发生碰撞。
④托肯初始化:由于本波次4架舰载机均位于停机位,所以初始令s1、s2、s3、s4中各包含一个托肯。
所涉及各符号定义如表2所示。
利用Tina 2.10.0仿真软件[14]对图4所示的T-Petri网进行仿真模拟。假设舰载机A所在停机位aA=1;舰载机B所在停机位aB=2;舰载机C所在停机位aC=9;舰载机D所在停机位aD=3。对仿真过程进行记录,并提取相关时间,建立甘特图[15]如图5。
(3)结果分析验证
为了验证仿真结果的正确性,此处首先通过对任务X的出动流程进行分析,给出4架舰载机的出动时间计算公式;然后,利用公式对任务X的出动时间进行计算;最后,通过比较仿真和计算所得结果的一致性,以判断利用T-Petri网对舰载机出动流程进行仿真的可行性。
4架舰载机的出动时间计算公式为:
图4 任务X的T-Petri网模型
表2 符号定义
图5 任务X舰载机起飞流程甘特图
其中
通过代入相应数值,计算任务X中4架舰载机的出动时间为126 s,这与利用T-Petri网仿真结果相吻合。平均到每一架的出动时间约为32 s,这基本符合库兹涅佐夫号航母的技术要求,即每架次间隔30~60 s。这表明利用T-Petri网对舰载机出动流程进行仿真的可行性和正确性。
另外,由图5可以比较清楚地看出每一架舰载机由停机位移至起飞位,再到起飞的整个过程,以及各架舰载机各个时刻所处的状态。由此可以对指导舰载机的出动提供辅助参考。
4 结论
本文针对舰载机出动流程仿真问题进行研究,所得结论如下:
(1)明确舰载机的出动流程,对更好地指导舰载机的出动具有重要的意义。为此,需要对其进行仿真。
(2)通过对舰载机出动流程进行分析,建立了一种面向任务T-Petri网模型。该模型通过对基本网进行简单扩充便可以仿真不同的出动任务,不仅简化了出动流程,而且可以满足舰载机出动任务的多样性建模要求,避免了重复建模的复杂性。
(3)通过实例仿真可知,所建立的T-Petri网模型用于舰载机出动流程仿真时是可行的,且结果是比较精确的。
[1]韩维,王庆官.航母与舰载机概论[M].烟台:海军航空工程学院出版,2009:37-41.
[2]陈书海,张正满.航空母舰—海军史上的里程碑[M].北京:国防工业出版社,2007:43-67.
[3]Jeffrey S.Johnston.A feasibility study of a persistent monitoring system for the flight deck of U.S[D].USA:Navy Aircraft Carriers Department of the Air Force Air University,2009.
[4]林闯.随机Petri网和系统性能评价[M].北京:清华大学出版社,2005:1-14.
[5]Tan W,Fan Y,Zhou M.A petri net-based method for compatibility analysis and composition of web services in business process execution language[J].IEEE Transaction on Automation Science and Engineering,2009,6(1):94-106.
[6]van Dongen B F,de Medeiros A K A.The prom framework:A new era in process mining tool support[C]//Ciardo G,Darondeau P.Proceedings of International Conference on Application and Theory of Petri Nets.Miami,USA:Springer-Verlag,2005:444-454.
[7] 吴懿鸣.舰载机与航母设计[J].舰船知识,2010(3):55-57.
[8]袁崇义.Petri网原理与应用[M].北京:电子工业出版社,2009:32-84.
[9]李鸣,边涛,吕杰.国外舰载机技术发展[M].北京:航空工业出版社,2008:28-66.
[10]Commander,Naval Air Systems Command.CV Flight/Hangar Deck NATOPS Manual,NAVAIR 00-80T-120[R].2008.
[11]Verbeek H.Van der Aalst W.Analyzing BPEL processes using petri nets[C]//Proceedings of the Second International Workshop on Applications of Petri Nets to Coordination.Workflow and Business Process Management,Citeseer,2005:59-78.
[12]孙诗南.现代航空母舰[M].上海:科学普及出版社,2000.
[13]Saska M,Macas M,Preucil L,et al.Robot path planning using particle swarm optimization of Ferguson spines[C]//Proceedings of the IEEE Symposium on Emerging Technologies and Factory Automation.Piscataway,NJ,USA:IEEE,2006:833-839.
[14]Petri Nets World.Tina tool for Petri nets[EB/OL].(2009-04-01).http://www.laas.fr/tina.
[15]秦娜.基于Petri网和PSO算法的JSP优化调度方案的研究[D].长沙:长沙理工大学,2009.