本发明属于体系结构验证领域,尤其涉及一种基于着色petri网能力使命线程形式描述与验证方法。
背景技术:
作战概念(conceptofoperations,conops)描述了特定的一组活动是如何得到执行的,且执行这些活动的本领依赖于许多因素以及这些因素间内在的相互关联。能力可以由一个或多个使命线程来描述,而使命线程(missionthread)通常定义为“一组操作活动,活动的执行顺序及与时间相关的属性,以及为完成活动所需要的信息”。通过建立能力与作战活动的映射关系,可建立能力分析和作战活动分析之间的桥梁,并识别作战活动是如何使用各种可获得的能力元素来得以实现的;它也可用于追溯作战活动是如何满足能力需求的。而描述使命线程的一组作战活动可被看作是使命领域体系结构的基础,而体系结构提供了一个结构来定义和理解影响体系能力的许多复杂因素。
使命线程可通过执行、信息、属性三个维度来描述和表达。执行维规定了使命线程应该执行的活动以及活动间的关系。信息维规定了活动输入/输出所需要的信息。属性维规定了使命线程所描述的能力所需的属性,属性值的获取一般需要通过仿真和统计分析来获得。
目前,关于使命线程的建模语言有bpmn、idef3、活动图、用例图和信息流图等。但是这些建模语言缺乏形式化的模型和手段来对使命线程进行分析和验证。通常,使命线程合理的形式化模型应该拥有如下的四个性质:(1)具有自动执行的语义,并且语义能被严格地形式定义,从而使得模型能被计算机执行;(2)能如实地代表使命线程,“如实性(faithfulness)”意味着使命线程形式化模型和使命线程之间通过一个可检验的语义保持来相互关联,换句话说,使命线程形式模型任何可被验证的性质在使命线程中都将保持不变;(3)能支持形式化的分析和验证,通过开发可扩展的算法,使命线程的行为特性能被检验;(4)可扩展,从而支持性能分析,比如,时间和概率可以加入到使命线程的形式模型中,使命线程的属性值可以通过仿真和统计分析得到。
技术实现要素:
发明目的:常用的bpmn、idef3、活动图、用例图和信息流图等使命线程建模语言往往缺乏形式化的模型和技术,无法对所建立的使命线程模型进行形式分析和验证,具体表现在模型无法形式化、缺乏自动执行语义导致无法被计算机自动执行、缺乏形式验证算法和手段、不支持性能分析等,为了避免以上建模语言的不足,本发明提出一种基于着色petri网能力使命线程形式描述与验证方法。
技术方案:一种基于着色petri网能力使命线程形式描述与验证方法,包括以下步骤:
(1)提供使命线程的信息表,根据信息表在活动间的传递过程,梳理分析使命线程中活动关系,包括活动与活动之间的关系即逻辑关系,以及活动输入输出间的关系即活动规则;
(2)为形式化描述使命线程中的逻辑关系,引入同步器,并建立逻辑关系与同步器之间的转换关系,建立由同步器与库所/变迁系统这样一类普通petri网组合而成的带环同步网;基于带环同步网,给出使命线程逻辑的形式定义和执行规则,建立使命线程逻辑模型;
(3)为形式化描述活动规则,建立活动规则与着色petri网即cpn中的颜色集、变迁、库所、弧函数之间的转换关系;将带环同步网作为使命线程语义模型的基本网结构,利用着色petri网中的颜色集规范库所语义,利用cpn中的变迁输入弧函数规范使命线程逻辑模型中变迁输入弧语义,利用cpn中的变迁输出弧函数规范使命线程逻辑模型中变迁输出弧语义,从而在使命线程逻辑模型的基础上诱导出使命线程语义模型的定义以及相应的执行规则;
(4)在所述使命线程语义模型中加入时间动态进行扩展,得到混杂使命线程模型,通过cpntools工具模拟事件动态,通过matlab模拟时间动态,并且通过cpntools工具和matlab进行动态的交互,从而模拟实现混杂使命线程模型的混杂动态交互,进行仿真分析并获取属性值。
进一步的,步骤(3)还包括验证步骤:从使命线程语义中提取出对应的使命线程逻辑,根据使命线程逻辑,定义死标识和末标识,使用普通petri网中的可达标识树和t不变量方法验证使命线程逻辑模型是否具备畅通性。
进一步的,步骤(3)还包括验证步骤:检测使命线程语义中有无冲突存在,若没有冲突存在,则所述使命线程语义模型与使命线程逻辑模型之间是一致的。
进一步的,所述步骤(1)中,所述逻辑关系包括顺序、并行、选择、同步与、同步或、环。
进一步的,所述步骤(2)中建立逻辑关系与同步器之间的转换关系如下:顺序关系转换为顺序同步器;在并行关系下,若某活动之后每次有且仅有n个活动独立发生,则并行关系转换为容量为n的并行同步器;在选择关系下,若某活动之后有n个活动,每次只任意选择m个活动发生,其中0<m<n则选择关系转换为容量为m的选择同步器;在同步与关系下,若某活动之前每次有且仅有n个活动独立发生,则同步与关系转换为容量为n的同步与同步器;在同步或关系下,若某活动之前有n个活动,每次只任意选择m个活动发生,其中0<m<n则转换为容量为m的同步或同步器;环关系根据选择条件的多少转换为对应容量的选择同步器。
进一步的,所述步骤(2)中,活动规则与着色petri网中的颜色集、变迁、库所、弧函数之间的转换关系如下:用着色petri网中的颜色集形式化描述信息表;活动的输入输出对应转化为着色petri网中的输入库所、输出库所;活动本身转化为着色petri网中的变迁;活动规则转化为着色petri网中的弧函数。
有益效果:本发明提供的基于着色petri网能力使命线程形式描述与验证方法,其显著优点是基于着色petri网技术,提出了形式化描述能力使命线程的使命线程语义模型,并基于使命线程语义模型的“畅通性”和“一致性”这两个性质提出了使命线程的两个定性验证准则,避免了其它线程建模语言在使命线程形式化建模与分析验证上的不足。同时,使命线程语义模型还能有效刻画体系中由事件驱动的动态,通过与体系中由时间驱动的动态进行交互,还能扩展构成混杂使命线程模型,用于表达体系中复杂的动态行为特征,以及支持复杂的仿真分析和获取使命线程的属性值,能够支撑体系的评估。
附图说明
图1是活动间逻辑关系的示意图;
图2是逻辑关系与同步器之间的转换关系示意图;
图3是活动规则与着色petri网之间的转换关系示意图;
图4是一个使命线程逻辑的示例图;
图5是图4中示例的使命线程逻辑的可达标识树;
图6是非选择同步器的使命线程语义模型示意图;
图7是选择同步器的使命线程语义模型示意图;
图8是选择同步器的使命线程语义模型的cpn实现示例图;
图9是一个使命线程语义模型的cpn实现示例图;
图10是实施例中t1和t2间的同步器p的定义方式示意图;
图11是非畅通性的使命线程逻辑示例图;
图12是混杂使命线程模型框架结构图;
图13是基于petri网的能力使命线程形式描述方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
结合图13所示,基于petri网(coloredpetrinet,cpn)的能力使命线程形式描述方法包括以下步骤:
1、提供使命线程的信息表,根据信息表在活动间的传递过程,梳理分析使命线程中活动关系,包括活动与活动之间的关系即逻辑关系,以及活动输入输出间的关系即活动规则;
(1)如图1所示,所述逻辑关系包括顺序、并行、选择、同步与、同步或、环六种,如下:
①顺序(sequence):在活动b开始之前,活动a必须完成。顺序流动意味着两个活动间的依赖关系;
②并行(parallel):在活动a完成后,活动b1,…bn独立于对方开始,但这并不意味着b1,…bn同时发生;
③选择(selection):在活动a完成后,从活动b1,…bn中随机选择0<m<n个活动发生,取决于各自的条件的值是否为真;
④同步与(synchronizedjoinand):过程将在与连接处暂停直到活动b1,…bn都完成;
⑤同步或(synchronizedjoinor):过程将在或连接处从活动b1,…bn中选择0<m<n个活动来执行;
⑥环(loop):活动a完成之后,过程将重复执行a直到条件1为假且条件2为真。
(2)对活动间信息传递过程进行详细描述:
每条使命线程拥有一张唯一的信息表(informationsheet)。这张表格包含线程所需要的全部信息,当表格在活动之间传递时,信息的内容随之改变。在顺序关系中,表格信息内容随着表格从活动a传递到活动b而变动。在并行关系中,如果有n个活动在活动a之后独立发生,a将表格复制n份,每个活动分别接受一份。在选择关系中,如果活动a之后的n个活动中有m个活动被选择来发生,a将表格复制m份,则不管是哪m个活动被选择,都将分别收到一份。在同步与关系中,如果在活动a之前有n个活动相互独立,从这n个活动过来的信息表将被合成为一张表并传递给a。在同步或关系中,如果活动a之前的n个活动中有m个活动被选择,则不管是哪m个活动被选择,从这m个活动过来的信息表将被合成为一张表并传递给a。环关系与选择关系类同。
(3)如图2所示,逻辑关系和同步器之间的转换关系如下:
①顺序关系转换为顺序同步器;②并行关系转换为容量为n的并行同步器;③选择关系转换为容量为m(0<m<n)的选择同步器;④同步与关系转换为容量为n的同步与同步器;⑤同步或关系转换为容量为m(0<m<n)的同步或同步器;⑥环关系转换类似于选择关系,根据选择条件的多少转换为对应容量的选择同步器。
2、为形式化描述使命线程中的逻辑关系,引入同步器,并建立逻辑关系与同步器之间的转换关系,建立由同步器与库所/变迁系统这样一类普通petri网组合而成的带环同步网;基于带环同步网,给出使命线程逻辑的形式定义和执行规则,建立使命线程逻辑模型;
结合图4所示的使命线程逻辑示例,对其中的使命线程逻辑形式定义和执行规则描述如下:
设活动为activity,设(p,t;f,k,w,m0)为activity上的使命线程逻辑,当且仅当(p,t;f,k,w)是一个带环同步网且t=activity,以及对于p∈p满足式(1):
结合图5所示的使命线程逻辑可达标识树示例,使命线程逻辑的执行规则定义如下:
给定mtl=(p,t;f,k,w,m0)
①设
对于所有p′∈p,mp称为mtl的末标识(end-marking)。
②如果p是源库所,也就是,
③如果存在一个触发序列m0t1m1t2m2…tnmn,其中,
④如果m(p)[t>m′,那么m′的后继标识按式(3)的方法计算:
其中:
条目②意味着源库所的使能规则与p/t系统的规则相同。
条目③意味着同步器的使能规则不同于p/t系统,因为m(p)[t>要求p在m下或m之前有k(p)=a1·a2个托肯,并且每个t∈t2在m(p)[t>时至多能触发一次。这条规则避免了某些t∈t2一直触发而t2中的其它变迁没有机会触发的情形,也就是说,t2中的每个变迁都有同等的触发机会。
3、为形式化描述活动规则,建立活动规则与着色petri网(cpn)中的颜色集、变迁、库所、弧函数之间的转换关系;将带环同步网作为使命线程逻辑模型的基本网结构,利用着色petri网中的颜色集规范库所语义,利用着色petri网变迁输入弧函数规范使命线程逻辑模型中变迁输入弧语义,利用着色petri网变迁输出弧函数规范使命线程逻辑模型中变迁输出弧语义,从而在使命线程逻辑模型的基础上诱导出使命线程语义模型的定义以及相应的执行规则;
(1)活动规则与着色petri网中的颜色集、变迁、库所、弧函数之间的转换关系进如下:
如图3所示,信息表从活动的输入流向输出的过程中,通过活动规则的转换,信息表中的某些属性的值发生改变。活动规则的作用就是根据条件,进行属性值的变换。信息表可以用cpn中的颜色集来形式化描述。活动的输入/输出对应转化为cpn模型中的输入库所、输出库所,活动本身转化为cpn中的变迁。活动规则转化为cpn中的弧函数。
(2)基于着色petri网的基本定义,给出使命线程语义的定义和执行规则,构建使命线程语义模型如下:
结合图6和7,使命线程语义的形式定义描述如下:
(p,pv,t,a;kc,e,ev;i,iv;σ,c,g,n)称为定义在(activity,informationsheet)上的使命线程语义,当且仅当:
①(p,t,a;|kc|,|e(a)|;|i0p|)是定义在activity上的使命线程逻辑。(i0p表示初始标识限制在源库所p上,而|i0p|代表了p的初始标识的大小。|kc|表示同步器容量的大小。|e(a)|代表了统一的弧表达式e(a)的重度。
②如果p=(t1,t2,(a1,a2))不是选择同步器,也就是
③如果p=(t1,t2,(a1,a2))是选择同步器,也就是a2<|t2|。变量库所(variableplaces)的概念被引入到同步器中,也就是,
结合图8、图9,使命线程语义的执行规则定义如下:
给定mts=(p,pv,t,a;kc,e,ev;i,iv;σ,c,g,n)
①如果p是源库所,也就是,
②p是同步器。如果存在一个有限触发序列m0[y1>m1[y2>m2…yn〉mn,其中,对于所有i∈0..n和
③如果m(p)[y>m′,那么m′的后继标识按式(4)的方法计算:
其中:
条目①意味着源库所的使能规则与cpn的规则相同。
条目②意味着同步器的使能规则不同于cpn,因为m(p)[y>要求p在m下或m之前满足
建立了使命线程逻辑模型后,对该模型的通畅性和一致性进行验证:
基于使命线程逻辑模型,定义死标时和末标时,使用petri网中的可达标识树和t不变量方法验证使命线程逻辑模型是否具备畅通性。
结合图9和图4,根据着色petri网中重度的概念(参考说明书末尾“相关定义引用”中的定义7),从图9所示使命线程语义中提取出对应的使命线程逻辑,如图4所示。
结合图4、图5和图11,使命线程逻辑的畅通性这个性质定义如下:
mtl=(p,t;f,k,w,m0)为使命线程逻辑
①设
对于所有p′∈p,mp称为mtl的末标识(end-marking)。
②m0的可达标识m是一个死标识(deadmarking),当且仅当
③mtl是畅通的当且仅当每个死标识是一个末标识,也就是,
畅通性意味着线程中没有托肯遗留,也就是,在线程结束时,仅仅出口库所中有托肯。畅通性也意味着活动过程能够完成且必须完成。
依据畅通性的定义,图4所示使命线程逻辑是畅通的,可用图5所示的可达标识树来验证,而图11所示使命线程逻辑是不畅通的。
对该模型的通畅性和一致性进行验证:检测使命线程语义中有无冲突存在,若没有冲突存在,则所述使命线程语义模型与使命线程逻辑模型之间是一致的。
结合图4、图9,对一致性概念定义如下:
①定义同步器中的冲突概念:对于同步器p=(t1,t2,(a1,a2)),t2中的变迁在m下是冲突的,当且仅当
②给出一致性性质的定义:使命线程语义mts=(p,pv,t,a;kc,e,ev;i,iv;σ,c,g,n)与其基础的使命线程逻辑mtl=(p,t,a;|kc|,|e(a)|;|i0p|)是一致的,当且仅当mtl的每个同步器以及从m0可达的标识m满足:
m(p)=a1·a2意味着同步器p使能t2中的a2个变迁而|{t|t∈t2∧(g(t)<b>=true,b∈b(t))}|=a2精确地表明t2中具体哪a2个变迁将在绑定b下使能。一致性意味着mts中没有冲突存在。
图9显示的使命线程语义与其基础的使命线程逻辑(图4)是一致的,其中颜色集声明如下:
colsetunit=unit;
colsetint=int;
colsetbool=bool;
colsetstring=string;
colsetactivity1=subsetintwith[0,1];
colsetactivity2=subsetintwith[2,3];
colsetactivity3=subsetintwith[4,5];
varr1,r2:string;
varv1:activity1;
varv2:activity2;
varv3:activity3;
funeveni=(imod2)=0;
funv(x):bool=ifeven(x)=truethenfalseelsetrue;
funcondition1(v1,v2,v3)=not(v(v1)andalso(v(v2)orelsenot(v(v3))));
funcondition2(v1,v2,v3)=not((v(v1)andalsov(v3)andalsonot(v(v2)))orelse(not(v(v1))andalsov(v2)andalsonot(v(v3))));
funcondition1(v1,v2,v3)=not(not(v(v1))andalso(v(v3)orelsenot(v(v2))));
pv1,pv2,pv3是同步器p3的变量库所而包括颜色集、变量和函数的声明。变迁t5,t6,t7的警卫函数分别为conditon1(v1,v2,v3),conditon2(v1,v2,v3),conditon3(v1,v2,v3)。可以看出p3能精确地从{t5,t6,t7}中选择两个变迁,依据pv1,pv2,pv3的标识和变迁t5,t6,t7的警卫函数。而pv1,pv2,pv3的标识由t2,t3,t4和pv1,pv2,pv3之间的弧表达式来决定,也就是说,冲突被成功化解。
4、在所述使命线程语义模型中加入时间动态进行扩展,得到混杂使命线程模型,通过cpntools工具模拟事件动态,通过matlab模拟时间动态,并且通过cpntools工具和matlab进行动态的交互,从而模拟实现混杂使命线程模型的混杂动态交互,进行仿真分析并获取属性值。
结合图12,对混杂使命线程模型描述如下:
使命线程的执行维指定了使命线程应该执行的活动集合以及活动执行的顺序,从离散事件动态系统(discreteeventdynamicsystem,deds)的观点来看,这可以看作是由事件所驱动的动态。但是从连续变量动态系统(continuousvariabledynamicsystem,cvds)的观点来看,体系中还包含着由时间所驱动的动态,通常由微分方程或差分方程所描述。为表达体系中复杂的动态行为特征,以及有效地进行仿真分析并获取属性值,使命线程模型要能同时描述体系中的离散事件动态和连续时间动态。因此,需要对使命线程语义模型进行扩展,加入体系中由时间驱动的动态,来构成混杂使命线程(hybridmissionthread,hmt)模型。
能力观点主要描述了能力需求及能力与活动间的关联,作战观点主要描述了作战概念,而系统和服务观点则主要把系统/服务资源与作战和能力需求相关联,并描述这些资源是如何支持作战活动及促进信息交换来满足能力需求的。使命线程则从动态特征方面构成了连接这些观点的桥梁。使命线程的动态行为特征可看作是事件驱动的动态,它与体系中由时间驱动的动态通过接口进行交互,从而构成混杂交互的动态。通过cpntools工具模拟事件动态,通过matlab模拟时间动态,并且通过cpntools工具和matlab进行动态的交互,从而模拟实现hmt的混杂动态交互。
对实施例中,相关定义引用说明如下:
定义1:activity是一个完整和一致的活动集合,t1,t2∈activity并且对所有t1∈t1和t2∈t2,
这里,同步器用p=(t1,t2,(a1,a2))表示,p的容量为k(p)=a1·a2,且t1=*p,t2=p*,1≤a1≤|t1|,1≤a2≤|t2|。它意味着t1中的a1个活动被t2中的a2个活动紧跟。p的输入弧上的权重均为a2,说明t2中有a2个活动被选择来执行;p的输出弧上的权重均为a1,说明t1中有a1个活动被选择来执行。t1中被选中的a1个活动中每个活动所处理的信息表合成后必须复制a2份,分别传递给t2中被选中的a2个活动各一份。t2中的活动并发使能当且仅当p从t1中接收k(p)=a1·a2个托肯,这是为什么称p为同步器的原因。当t2中的活动并发使能后,t2中每个活动至多发生一次。
因此,如果a1=a2=|t1|=|t2|=1,那么p是一个顺序同步器。如果a2=|t2|>1∧a1=|t1|=1,那么p是一个并行同步器。如果a2<|t2|>1∧a1=|t1|=1,那么p是一个选择同步器。如果a1=|t1|>1∧a2=|t2|=1,那么p是一个同步与同步器。如果a1<|t1|>1∧a2=|t2|=1,那么p是一个同步或同步器。
定义2:六元组σ=(s,t;f,k,w,m)称为一个库所/变迁系统,简记为p/t,满足:(s,t;f)是一个网,w:f→{1,2,…}称为权函数(weightedfunction),k:s→{1,2,…}称为容量函数(capacityfunction),m:s→{0,1,2,…}是σ的一个标识,满足条件:
定义3:给定p/t系统
(1)(使能规则)对于t∈t,m[t>的条件见式(6):
(2)(触发规则)若m[t>m′,则对
定义4:带环同步网能由给定容量函数k:p→{1,2,…}和权函数w:f→{1,2,…}的p/t系统表示,如果满足下述条件:
(1)
(2)
(3)
(4)
(5)
备注:
条件(1)表明带环同步网中不存在自回路;
条件(2)表明带环同步网中库所除源库所和出口库所之外,全部代表同步器;
条件(3)给出了带环同步网中源库所和出口库所的定义;
条件(4)意味着带环同步网有唯一的源库所;
条件(5)意味着带环同步网存在多个出口库所,代表不同的处理结果。
定义5:一个着色petri网是一个九元组cpn=(σ,p,t,a,n,c,g,e,i),满足如下条件:
σ是有限的非空的类型集合,称为颜色集(colorset)。
p是有限的库所集合。
t是有限的变迁集合。
a是有限的弧集合:
n是节点(node)函数,把a映射p×t∪t×p。
c是颜色(color)函数,把p映射到σ。
g是警卫(guard)函数,把t映射为表达式,且满足:
e是弧表达式(arcexpression)函数,把a映射为表达式,满足:
i是初始化(initialization)函数,把p映射为闭表达式,且满足:
定义6:变迁t的绑定(binding)是定义在var(t)上的函数b,满足:
(1)
(2)g(t)<b>为真。
用b(t)表示t的所有绑定的集合。
定义7:给定弧a∈a的弧表达式e(a),一个变迁t∈t,和一个非负整数
定义8:绑定单元(bindingelement)是二元组(t,b),且t∈t,b∈b(t)。所有绑定单元的集合用be表示。步(step)是定义在be上的非空有限多重集。步y在标识m下使能,当且仅当如下的性质满足:
定义9:当y在m1下使能时,它可能触发,把标识m1变为标识m2,定义如下: