一种合理的自由选择工作流网到msvl的转换方法

文档序号:6403149阅读:318来源:国知局
专利名称:一种合理的自由选择工作流网到msvl的转换方法
技术领域
本发明涉及从形式化模型自动生成可执行程序的方法,提出了一种合理的自由选择工作流网到MSVL的转换方法,并开发了相应的工具PN2MSVL。
背景技术
工作流网作为Petri网的一个子集被广泛地应用于业务流程的建模。工作流网不但有直观的图形化表示,而且有坚实的数学基础。图形化的表示便于直观地表达设计者的意图,坚实的数学基础使得多种属性可以被验证。作为一种抽象数学模型,尽管有些工具(例如CPN)可以支持工作流网的仿真和验证,但是工作流网是无法执行的。为了实现工作流网,人们尝试将工作流网转换成可执行编程语言(例如Java、Ada和BPEL)的程序。考虑到生成的程序的可读性、可扩展性和执行效率,结构化的转换方法受到青睐。这种转换方法将行为结构,例如顺序结构、选择结构、循环结构,转换到编程语言中对应的结构化语句。这种转换方法的难点在于存在一些无法直接转换成常见结构化语句的复杂结构。而且现有的转换方法只考虑工作流网的实现,而不考虑模型的正确性验证。在实践中通常只会将经过验证的工作流网转换成可执行的程序,而且合理性是设计良好的工作流网 具备的基本属性。另外,自由选择网作为Petri网的一个重要子集,很好地平衡了表达能力和可分析性,从而具备良好的理论结果和高效的分析技术。建模、仿真和验证语言(MSVL)是投影时序逻辑PTL的一个可执行子集,不仅包含赋值语句、顺序语句、条件语句和循环语句,还具备可以实现并发编程的等待语句、并行语句和投影语句。作为建模、仿真和验证语言,MSVL不仅可以像一般编程语言一样执行,还可以像PR0MELA —样建模并发系统,并通过模型检测技术验证程序的一些关键属性。除此之夕卜,支持这些技术的工具MSV也已经完成开发。

发明内容
本发明提供了一种合理的自由选择工作流网到MSVL的转换方法。为了解决以上技术问题,本发明所述的合理的自由选择工作流网到MSVL的转换方法,包括以下步骤:步骤一:将合理的自由选择工作流网转换成注释工作流网;步骤二:应用结构转换规则压缩所述注释工作流网,直至所述注释工作流网只剩一个变迁节点;步骤三:为所述变迁节点上注释的MSVL代码添加初始化、frame和过程定义语句,得到合理的自由选择工作流网的MSVL程序。在上述技术方案的基础上,所述的步骤二中的结构转换规则包括合并顺序结构规贝U、合并选择结构规则、合并简单循环结构规则、合并复杂循环结构规则、合并并发结构规则以及合并不规则结构规则。在上述技术方案的基础上,所述合并顺序结构规则、合并选择结构规则、合并简单循环结构规则、合并复杂循环结构规则、合并并发结构规则以及合并不规则结构规则具有不同等级的优先级,并且每次转换时选择可用的且优先级别最高的规则转换模型。在上述技术方案的基础上,所述结构转换规则将被转换的结构压缩成一个新变迁,然后用MSVL代码描述所述结构的行为,并作为所述新变迁的注释。与现有技术相比较,本发明转换得到的MSVL程序具有较强的可读性,而且可以用工具MSV对其进行仿真和验证,另外该转换方法很容易被修改从而用于生成其他并发编程语言的程序。


图1为本发明所述的合理的自由选择工作流网到MSVL的转换方法的流程图;图2为本发明的一个实施例中转换的合理的自由选择工作流网;图3是对图2使用一次合并顺序结构规则得到的模型;图4是对图3使用一次合并选择结构规则和一次合并简单循环结构规则得到的模型;图5是对图4使用一次合并顺序结构规则和一次合并并发结构规则得到的模型;图6是对图5使用两次合并顺序结构规则和一次合并选择结构规则得到的模型;图7是对图6使用一次合并顺序结构规则和一次合并并发结构规则得到的模型;图8是对图7使用两·次顺序结构规则得到的模型。
具体实施例方式下面结合具体实施例对本发明做进一步说明。Petri网是一个多元组N=(P,T,F),其中P和T是两个有限非空且不相交的集合,分别称作库所集合和变迁集合;Fe(/>xr)u(rxP)是流关系。在网的图形表示中库所和
变迁分别使用长方形节点和圆形节点表示,流关系则用节点之间的有向边表示。对于节点X e P U T/x = {y I (y, x) e F}和x‘= {y (x, y) e F}分别称为x的输入集和输出集。扩展到节点集合Α'Ξ广u/,则有.Χ = U χεχ.Χ,Χ.= υ xexX.。对于两个节点x,y e P U T,称存在一条从X到y的路径,当且仅当(X,y) e F+。网N = (P,T, F)的标识M为P上的一个多重集。若M(p) > 0,则称库所p在标识M下是标识的,也可以称在标识M下库所P有M(p)个托肯。在标识为M的网的图形表示中库所P的圆形节点中有M(p)个黑点。令N=(P,T,F)是一个网,称变迁t e T在标识M下是使能的,记为M[t >,当且仅当Vpe 7,M(p) >0。若M[t >,则变迁t可以发生(或称执行),并且产生一个新标识Μ’ = (M\ ' t) U t‘32^M[t>M’。网系统是一个四元组PN= (P,T, F,Mci),其中(P,T, F)是一个网,M0是该系统的初始标识。σ =tit2...tn是一个从标识札开始的发生序列,当且仅当存在标识Μ2,...,Μη+1满足吣[\ > Mi+1,其中I < i < η。若从标识M1执行完发生序列σ之后到达标识Μ,则称标识M从标识M1经过σ可达,记为M1 [ σ > Mo称标识M从标识M1可达,记作M1 [* > M,当且仅当存在一个发生序列σ满足M1 [σ >Μ。标识Mn在PN中是可达的,记作Mn e [N,M0>,当且仅当MQ[*>Mn。
一个网N = (P, T, F)称为工作流网当且仅当:存在一个源库所i e P满足7 二 0 ;
存在一个漏库所ο e P满足ο =0网万= (Ρ,Γυ{/Α,},F U {(o, tN), (tN, i)})是强连通的,
其中通常,工作流网系统Σ = (P, T, F1M0)初始状态下只在源库所中放置一个托肯,
即 M0 ={ } ο一个工作流网是合理的(sound),当且仅当:VM , (|/] > -V/) ^ (Af[* > { . ]);
权利要求
1.一种合理的自由选择工作流网到MSVL的转换方法,其特征在于,包括以下步骤: 步骤一:将合理的自由选择工作流网转换成注释工作流网; 步骤二:应用结构转换规则压缩所述注释工作流网,直至所述注释工作流网只剩一个变迁节点; 步骤三:为所述变迁节点上注释的MSVL代码添加初始化、frame和过程定义语句,得到合理的自由选择工作流网的MSVL程序。
2.如权利要求1所述的一种合理的自由选择工作流网到MSVL的转换方法,其特征在于:所述的步骤二中的结构转换规则包括合并顺序结构规则、合并选择结构规则、合并简单循环结构规则、合并复杂循环结构规则、合并并发结构规则以及合并不规则结构规则。
3.如权利要求2所述的一种合理的自由选择工作流网到MSVL的转换方法,其特征在于:所述合并顺序结构规则、合并选择结构规则、合并简单循环结构规则、合并复杂循环结构规则、合并并发结构规则以及合并不规则结构规则具有不同等级的优先级,并且每次转换时选择可用的且优先级别最高的规则转换模型。
4.如权利要求1-3任一项所述的一种合理的自由选择工作流网到MSVL的转换方法,其特征在于:所述结构转换规则将被转换的结构压缩成一个新变迁,然后用MSVL代码描述所述结构的行为,并 作为所述新变迁的注释。
全文摘要
本发明公布了一种合理的自由选择工作流网到建模、仿真和验证语言(MSVL)的转换方法,本发明所述方法包括以下步骤步骤一将合理的自由选择工作流网转换成注释工作流网;步骤二应用结构转换规则压缩所述注释工作流网,直至所述注释工作流网只剩一个变迁节点;步骤三为所述变迁节点上注释的MSVL代码添加初始化、frame和过程定义语句,得到合理的自由选择工作流网的MSVL程序。转换得到的MSVL程序具有较强的可读性,而且可以用工具MSV对其进行仿真和验证,另外该转换方法很容易被修改从而用于生成其他并发编程语言的程序。
文档编号G06F17/50GK103246782SQ20131019392
公开日2013年8月14日 申请日期2013年5月23日 优先权日2013年5月23日
发明者段振华, 师亚, 田聪, 张南, 王小兵 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1