业务流程图转换为事件驱动的bpel模型的方法

文档序号:6584424阅读:176来源:国知局

专利名称::业务流程图转换为事件驱动的bpel模型的方法
技术领域
:本发明属于信息
技术领域
,特别涉及一种业务流程图转换为事件驱动的bpel模型的方法。
背景技术
:工作流技术是实现企业业务流程自动化、业务流程仿真、监控等的关键技术。业务流程图是各行各业应用比较普遍,在实际的业务流程管理中起了不可抹灭的作用,但是,现有的工作流的业务流程图比较复杂,不利于推广使用。业务流程图与事件驱动的bpel模型之间的转换一直是企业管理者和学者关注的重点。Bpel(BusinessProcessExecutionLanguage)语言便于计算机解释和执行,运行效率高,但是存在模型定义不直观,描述同等功能时模型过于庞大,需要使用者具有专门的计算机知识等不足。
发明内容本发明的目的是提供一种业务流程图转换为事件驱动的bpel模型的方法,其特征在于,业务流程图由一个开始活动、一个结束活动、多个表示具体执行的任务的一般活动和多个逻辑结构通过若干有向连接线按照实际业务逻辑连接而成,其中开始活动表示业务启动,结束活动表示业务结束,有向连接线表示活动的逻辑顺序;如果活动或结构与有向连接线起点连接,则称有向连接线为活动或结构的输出线,反之称为输入线,称活动或结构为有向连接线的输入活动或输入结构,反之为输出活动;业务流程图转换为事件驱动的bpel模型分为以下步骤第一步,对业务流程图进行结构化变换,得到结构化业务流程图,变换方法如下如果一个活动有多个输出线,则将这多个输出线的输出活动(或结构)转换为一个并行结构;对于表示判断的逻辑结构,如果它有向前折返的输出线,则将它变换为循环结构,否则变换为选择结构;所述并行结构、循环结构和选择结构都是由一对结构元素构成;第二步,对结构化业务流程图进行容器化变换,得到容器化业务流程图,变换方法如下将并行结构转换为并行容器,以ParCon表示并行容器;将选择结构转换为选择容器,以IfCon表示选择容器,将选择容器中每个分支转换为一个选择子容器,以IfcCon表示选择子容器;将循环结构变换为循环容器,以WhileCon表示循环容器;第三步,对业务流程图进行串行化变换,在第二步中得到了容器化业务流程图,将所有通过有向连接线连接起来的活动或容器转换成一个串行容器,以SeqCon表示串行容器;将开始和结束之间所有元素转换成一个大的串行容器,命名为GlobalSeqCon;第四步,对串行化业务流程图进行容器级bpel文本变换,将每一个容器转换成一对bpel文本,在这里分别称这对文本为文本头和文本尾,将容器内的子活动(或子容器)转换成的bpel文本放在该容器转换成的一对文本之间,按照此方法层层转换,从而将整个业务流程图转换成bpel模型,不同类型的容器转换成的一对文本如下所示<table>tableseeoriginaldocumentpage5</column></row><table>第五步,对串行化业务流程图进行活动级bpel代码变换,对于业务流程图中的一般活动,在bpel代码执行时分为启动任务和提交任务两步完成,因此为每一个活动设置一个状态变量,变量取值范围为"未启动、待启动、已启动、已提交"四种,将每一个活动转换为两个〈bpel:while〉〈/bpel:while〉,分别用来判断任务是否已启动或已提交,如果已启动或者已提交,则跳出循环,否则一直执行循环,从而实现活动任务的异步等待;同时作为用户启动和提交任务的接口,在bpel模型中定义一个事件句柄,该事件句柄在bpel模型中表示为一对文本,其中文本头为〈bpel:EventHandle〉,文本尾为〈/bpel:EventHandle>。在文本头和文本尾之间为每一个活动定义了两个事件接口,一个为启动任务事件接口,一个为提交任务事件接口,每个事件接口在bpel模型中表示为一对文本,其中文本头为〈bpe1:onEvent>,文本尾为〈/bpe1:onEvent>,至此就完成从业务流程图到事件驱动的bpel模型的转换。本发明的有益效果是能够让用户方便地创建企业的业务流程图,业务流程图可以直观地反映企业的经营、管理、销售、后勤、生产等与业务相关的流程。相对于直接基于bpel语言的企业业务流程建模来说,本发明对用户的计算机专业知识要求低,建模速度快。在用户建立好业务流程图之后,应用本发明的模型转换方法,可以生成由计算机高效执行的bpel模型,从而实现企业的简便建模高效执行的目标。图1为零件设计的业务流程图例子。图2为汽车底盘设计的业务流程图的结构化变换图实例,其中cl-和-cl构成并行结构,c2-和_c2构成选择结构c3_和_c3构成循环结构。图3为汽车底盘设计的业务流程图的容器化变换图实例。其中cl-和-cl构成并行结构,c2_和_c2构成选择结构c3_和_c3构成循环结构。图4为汽车底盘设计的业务流程图的串行化变换图实例。图5为汽车底盘设计的bpel模型实例。具体实施例方式本发明的目的是提供一种业务流程图转换为事件驱动的bpel模型的方法。图1是一个零件设计业务流程图例子,业务流程图由一个开始活动、一个结束活动、多个一般活动(如图1中编号为1-5的活动,表示具体执行的任务)、多个逻辑结构(如图1中编号为6的结构),通过若干有向连接线按照实际业务逻辑连接而成,其中开始活动表示业务启动,5结束活动表示业务结束,有向连接线表示活动的逻辑顺序;如果活动(或结构)与有向连接线起点连接,则称有向连接线为活动(或结构)的输出线,反之称为输入线,称活动(或结构)为有向连接线的输入活动(或结构),反之为输出活动;首先建立企业的经营、管理、销售、后勤、生产等一切与业务相关的流程,如图2所示为一个汽车底盘设计的业务流程图,在建立业务流程图之后,按照如下步骤将业务流程图模型转换为bpel模型第一步,对业务流程图进行结构化变换,得到结构化业务流程图,变换方法如下如果一个活动有多个输出线,则将这多个输出线的输出活动(或结构)转换为一个并行结构;对于表示判断的逻辑结构,如果它有向前折返的输出线,则将它变换为循环结构,否则变换为选择结构;并行结构、循环结构和选择结构都是由一对结构元素构成;图2所示为一个业务流程图结构化变换的实例。第二步,对结构化业务流程图进行容器化变换,得到容器化业务流程图,变换方法如下将并行结构转换为并行容器,以ParCon表示并行容器;将选择结构转换为选择容器,以IfCon表示选择容器,将选择容器中每个分支转换为一个选择子容器,以IfcCon表示选择子容器;将循环结构变换为循环容器,以WhileCon表示循环容器。图3所示为一个结构化业务流程图容器化变换实例。第三步,对业务流程图进行串行化变换,在第二步中得到了容器化业务流程图,将所有通过有向连接线连接起来的活动(或容器)转换成一个串行容器,以SeqCon表示串行容器;将开始和结束之间所有元素转换成一个大的串行容器,命名为GlobalSeqCon。图4为业务流程图的串行化变换实例。第四步,对串行化业务流程图进行容器级bpel文本变换,将每一个容器转换成一对bpel文本,在这里分别称这对文本为文本头和文本尾,将容器内的子活动(或子容器)转换成的bpel文本放在该容器转换成的一对文本之间,按照此方法层层转换,从而将整个业务流程图转换成bpel模型,不同类型的容器转换成的一对文本如下所示<table>tableseeoriginaldocumentpage6</column></row><table>第五步,对串行化业务流程图进行活动级bpel代码变换,对于业务流程图中的一般活动,在bpel代码执行时分为启动任务和提交任务两步完成,因此为每一个活动设置一个状态变量,变量取值范围为"未启动、待启动、已启动、已提交"四种,将每一个活动转换为两个〈bpel:while〉〈/bpel:while〉,分别用来判断任务是否已启动或已提交,如果已启动或者已提交,则跳出循环,否则一直执行循环,从而实现活动任务的异步等待;同时作为用户启动和提交任务的接口,在bpel模型中定义一个事件句柄,该事件句柄在bpel模型中表示为一对文本,其中头文本为〈bpel:EventHandle〉,尾文本为〈/bpel:EventHandle>。在头文本和尾文本之间为每一个活动定义了两个事件接口,一个为启动任务事件接口,一个为提交任务事件接口,每个事件接口在bpel模型中表示为一对文本,其中头文本为〈bpe1:onEvent〉,尾文本为〈/bpe1:onEvent〉,至此就完成从业务流程图到事件驱动的bpel模型的转换。第六步,将bpel模型部署到支持bpel模型引擎(如图5所示),就可以将业务流程实例化了,实例化之后企业就可以实现流程自动化和流程监控了。权利要求一种业务流程图转换为事件驱动的bpel模型的方法,其特征在于,业务流程图由一个开始活动、一个结束活动、多个表示具体执行的任务的一般活动和多个逻辑结构通过若干有向连接线按照实际业务逻辑连接而成,其中开始活动表示业务启动,结束活动表示业务结束,有向连接线表示活动的逻辑顺序;如果活动或结构与有向连接线起点连接,则称有向连接线为活动或结构的输出线,反之称为输入线,称活动或结构为有向连接线的输入活动或输入结构,反之为输出活动;业务流程图转换为事件驱动的bpel模型分为以下步骤第一步,对业务流程图进行结构化变换,得到结构化业务流程图;第二步,对结构化业务流程图进行容器化变换,得到容器化业务流程图;第三步,第二步中得到了容器化业务流程图进行串行化变换;第四步,对串行化业务流程图进行容器级bpel文本变换,每一个容器转换成一对bpel文本;第五步,对串行化业务流程图进行活动级bpel代码变换,对于业务流程图中的一般活动,在bpel代码执行时分为启动任务和提交任务两步完成,将每一个活动转换为文本头和文本尾两个,分别用来判断任务是否已启动或已提交,同时作为用户启动和提交任务的接口及启动任务事件接口和提交任务事件接口,每个事件接口在bpel模型中表示为包括文本头和文本尾的一对文本,至此就完成从业务流程图到事件驱动的bpel模型的转换。2.根据权利要求1所述业务流程图转换为事件驱动的bpel模型的方法,其特征在于,上述各步骤具体变换方法为第一步,对业务流程图进行结构化变换,得到结构化业务流程图,变换方法如下如果一个活动有多个输出线,则将这多个输出线的输出活动或结构转换为一个并行结构;对于表示判断的逻辑结构,如果它有向前折返的输出线,则将它变换为循环结构,否则变换为选择结构;所述并行结构、循环结构和选择结构都是由一对结构元素构成;第二步,对结构化业务流程图进行容器化变换,得到容器化业务流程图,变换方法如下将并行结构转换为并行容器,以ParCon表示并行容器;将选择结构转换为选择容器,以IfCon表示选择容器,将选择容器中每个分支转换为一个选择子容器,以工fcCon表示选择子容器;将循环结构变换为循环容器,以WhileCon表示循环容器;第三步,对业务流程图进行串行化变换,在第二步中得到了容器化业务流程图,将所有通过有向连接线连接起来的活动或容器转换成一个串行容器,以SeqCon表示串行容器;将开始和结束之间所有元素转换成一个大的串行容器,命名为GlobalSeqCon;第四步,对串行化业务流程图进行容器级bpel文本变换,将每一个容器转换成一对bpel文本,在这里分别称这对文本为文本头和文本尾,将容器内的子活动(或子容器)转换成的bpel文本放在该容器转换成的一对文本之间,按照此方法层层转换,从而将整个业务流程图转换成bpel模型,不同类型的容器转换成的一对文本如下所示<table>tableseeoriginaldocumentpage2</column></row><table><table>tableseeoriginaldocumentpage3</column></row><table>第五步,对串行化业务流程图进行活动级bpel代码变换,对于业务流程图中的一般活动,在bpel代码执行时分为启动任务和提交任务两步完成,因此为每一个活动设置一个状态变量,变量取值范围为"未启动、待启动、已启动、已提交"四种,将每一个活动转换为两个〈bpel:while〉〈/bpel:while〉,分别用来判断任务是否已启动或已提交,如果已启动或者已提交,则跳出循环,否则一直执行循环,从而实现活动任务的异步等待;同时作为用户启动和提交任务的接口,在bpel模型中定义一个事件句柄,该事件句柄在bpel模型中表示为一对文本,其中文本头为〈bpel:EventHandle>,文本尾为〈/bpel:EventHandle>。在文本头和文本尾之间为每一个活动定义了两个事件接口,一个为启动任务事件接口,一个为提交任务事件接口,每个事件接口在bpel模型中表示为一对文本,其中文本头为〈bpe1:onEvent〉,文本尾为〈/bpe1:onEvent〉,至此就完成从业务流程图到事件驱动的bpel模型的转换。全文摘要本发明公开了属于信息
技术领域
的一种业务流程图转换为事件驱动的bpel模型的方法。所述业务流程图由一个开始活动、一个结束活动、多个表示具体执行的任务的一般活动和多个逻辑结构通过若干有向连接线按照实际业务逻辑连接而成,业务流程图转换为事件驱动的bpel模型按先进行结构化变换,得到结构化业务流程图、再进行容器化变换、串行化变换;对串行化业务流程图进行容器级bpel文本变换,每一个容器转换成一对bpel文本,并进行活动级bpel代码变换,在bpel模型中表示为包括文本头和文本尾的一对文本,至此就完成从业务流程图到事件驱动的bpel模型的转换,从而实现企业的简便建模,高效执行企业工作流程的目标。文档编号G06F9/44GK101694619SQ20091023580公开日2010年4月14日申请日期2009年10月9日优先权日2009年10月9日发明者刘胜,范玉顺申请人:清华大学;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1