


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于有限状态机的工作流实例状态迁移的目标特征0 引言工作流技术是实现企业业务过程自动化的核心技术之一,相应的工作流管理系统技术也得到普及。工作流的流程引擎是工作流管理系统的心脏,是业务处理流程执行服务中的部分或全部运行控制环境,为工作流实例提供运行环境。以业务流程为中心的工作流管理系统可以描述为建立时和运行时,建立时是指流程定义过程和实例化过程模型阶段;运行时是指过程模型的执行阶段,是工作流引擎对流程定义进行解释执行【1】。流程引擎研究中的一个重要问题就是如何控制流程引擎,执行工作流系统中的各种任务状态转移,保证各项任务在制定的时间内正确地完成。本文基于有限状态机的方法很好地实现了流程引擎执行
2、这一问题。1 工作流过程建模 过程是一系列活动的集合,活动之间存在着各种顺序关系,构成了过程的控制流,过程还包括流程执行间相关的数据。定义1:工作流模型(又称为过程定义)形式化表示为:W=(Process,N,CF,D),Process为流程属性;N是活动集合,CF为控制流,CF属于NxN,指明了活动之间的连接关系,D是工作流相关数据变量集合。定义2:流程Process的属性形式化表示为:p=(Role,Table,Deadline,Events,Info,Dvars),Role为参与人角色,Table为流程表单,Deadline为流程执行期限,Events为流程中所有事件的集合,Info为流
3、程中发送的通知信息,Dvars属于D,为流程中所有数据变量。定义3:流程的执行过程形式化表示为:WI=(Taskassin,Transition,Route,Eventexe),Taskassin为任务分配,Transition为活动迁移,Route为路由决策,Eventexe为事件执行。2 流程实例状态模型 在工作流执行服务中,流程实例能够响应外部事件并改变自身的状态,比如执行一项任务、激活一个活动,又如调度流程实例的下一个活动或任务。因此,工作流执行服务可以看作是一个状态变化机,用来控制流程实例和活动实例的状态转换【2】。活动实例是活动在流程里的实例化;任务(工作项)是流程最小工作单元,由
4、活动实例产生并分配给参与者执行。一个活动实例可能产生多个任务实例【1】,如图1所示。图1 流程执行引擎部分实例对象关系2.1 有限状态机FSM理论有限状态机,又叫有限状态自动机,是表示有限状态(State)及在这些状态间的转移(Transition)和动作(Action)等行为的数学模型,通常用有向图来表示有限状态机,其节点代表状态。若在当前状态接收到某个输入条件后转向目标状态,就在图中画一条从当前状态到目标状态的带箭头线,并在弧线上标记【3】。定义4:有限状态机形式化表示为六元组M=(S, E, T, F,S0,H),S表示内部有限状态集,E是有穷事件输入集,T表示为非空转移集,映射函数F=
5、S*E→T,S0属于S,H是最终状态集合。其中T中每个元素又可以表示为一个三元组(Sourcestate,tr,Tragetstate),其中tr=(e,c)。Sourcestate是源活动状态,Tragetstate为目标活动状态;事件函数event(t)=e表示迁移调用的事件,路由函数condition(t)=c表示状态转移的条件表达式。有限状态机逻辑图【1】如图2所示。图2 有限状态机逻辑由图2可以看出,有限状态机的下一个状态和输出是输入和当前状态的函数,也就是说,输入和当前状态触发变迁为下一个状态,而下一个状态的实现会产生输出结果。状态机说明了活动对象在生存期间内可检测到相应
6、的事件。在活动实例状态转移中,可能由于输入条件和当前状态的不同,输出状态也不同,相应产生不同的多个状态转移。2.2 基于有限状态机的流程实例迁移算法 流程实例推进机制是通过动作执行来进行的,每一种状态(State)描述成为一个步骤(Step)和步骤的状态(Status)。对于工作流引擎来说,任何一种状态改变都是由某个动作引起的变化结果。一个State到另一个State的转移,依赖Action的发生。在一个工作流实例的生命周期内通常有一个或者多个活动的状态(State)【4】。2.2.1 简单状态迁移算法 流程实例处于状态SK:事件ei到达;从当前状态SK的事件触发集S中查找事件ei,如果ei存
7、在于SK中,则执行步骤,否则执行步骤;退出;根据映射函数F(SK,Ei),获取事件ei处理tx的入口;执行tx中的action;依次执行下一动作;根据状态转移路由函数condition(t)=ci,完成状态转移;该次状态转移结束,系统回到步骤(但状态已经迁移)。2.2.2 流程实例动作(action) xml描述Going to the first state!3 FSM流程运行状态迁移实现3.1 流程执行时的动态行为状态我们定义了流程实例在运行时所经历的状态以及这些状态之间的转换关系。如果流程的控制流到达一个活动,则通过外部动作加载这个活动。一个迁移在过程模型的执行期间可能处于准备prepa
8、re、初始化initial、待签to sign in、待办to do、终止terminated、异常aborted、挂起suspended、结束completed状态。图3所示为流程实例状态转移之间的关系。任务或活动实例满足所有执行条件后,进入完成状态,并传播该状态给流程实例,流程实例根据路由选择下一个活动,启动实例,进入下一个任务活动实例的执行;如果流程实例已经没有任务或活动执行,流程实例执行结束节点,进入完成状态,流程实例执行结束【2】。图3 流程实例的状态转移3.2 流程执行过程当流程执行时便处于准备状态,任务分配(参与人、消息、表单、期限)进入初始化状态(SK)。若流程ei事件到达,根
9、据映射函数F(SK,Ei),获取ei事件处理tx的入口。执行tx中execute动作,根据状态转移条件函数condition(t)=ci(路由),过程实例完成一个节点状态转移,迁移到目标待签状态to sign in,依次循环执行下一状态。若迁移过程中发生了异常abort,则转移为异常状态aborted;当处于待签状态时,执行tx中sign in动作,则迁移为目标状态、待办状态to do;若动作complete触发,则流程实例进入完成状态;当流程状态处于待签状态to sign in 时,suspend触发则迁移为挂起状态suspended;当活动实例满足继续执行的条件时,重启活动实例,把处于suspended状态的活动恢复到待签;若terminate动作触发,则迁移为终止状态terminated。同样待办也可能处于挂起、终止状态。4 结语本文通过考察工作流运行实例,建立了以业务流程为核心的工作流模型,并对流程进行了实例化分析,把基于有限状态机的理论模型运用于流程引擎,进一步体现了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年济宁金乡县事业单位公开招聘工作人员(教育类)(39人)模拟试卷及答案详解(必刷)
- 2024年双辽市检察系统考试真题
- 2025年齐齐哈尔市富裕县社会保险事业中心公开招聘公益性岗位人员1人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 油墨颜料制作工岗位安全技术规程
- 公司平台管理员职业健康及安全技术规程
- 销轴铡销工物料领用归还规范考核试卷及答案
- 锅炉设备试压工安全操作规程背诵考核试卷及答案
- 2025广西柳州市城中区委社会工作部招聘专职化城市社区工作者5人考前自测高频考点模拟试题及答案详解(考点梳理)
- 继电器装配工员工关系考核试卷及答案
- 餐具及厨具制作工创新方法论应用考核试卷及答案
- 调查问卷数据平台
- 《热工仪表》课件
- 《桥梁支座 》课件
- 糖尿病周围神经损害的康复治疗
- 工程伦理 课件第8、9章 工程、健康与可持续发展;全球化视野下的工程伦理
- 大学《教育社会学》试题
- ISO-37301-2021-合规管理体系要求及使用指南
- 研究借鉴晋江经验-加快构建三条战略通道
- 他克莫司治疗肾病综合征优势课件
- 新版GMP教程第五章设备课件
- 99S203 消防水泵接合器安装图集
评论
0/150
提交评论