1、工作流建模现状工作流的定义工作流管理联盟( Workflow Management Coalition) 给予工作流的定义是:工作流是一类能够完全或者部分自动化执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。IBM Almaden研究中心给出的工作流定义: 工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。根据以上定义和我们对企业业务过程管理的理解,给出如下工作流定义:以企业的表单处理为中心,为了确定
2、的经营目标,在计算机环境的支持下,依据各种业务规则,协调不同的参与者实现经营活动的集成与经营过程的自动化。工作流模型现状 主要的建模语言有如下几种:l 图形化语言:包括流程图法、跨功能流程图法、角色行为图 RAD、IDEF模型系列、事件过程链 EPC模型、 Petri网、 UML模型中的State Diagram、 Sequence Diagram、 Process Diagram等。l XML语言:基于 XML的典型业务过程定义语言是 BPMI维护的 BPML。其他类似的语言还包括: BPQL、 WSFL、 XLANG、 BPEL、WSCDL、 XPDL等。l 形式化语言:如 situati
3、on calculus、 ConGolog、 Z等。 工作流模型现状 l 过程建模定义:反映了企业中一个经营过程的目的。l 活动:主要反映完成企业经营过程需要执行哪些功能操作。l 转换条件:负责为过程实例的推进提供导航依据,对应于企业经营过程中的业务规则和操作的顺序。l 工作流相关数据:工作流引擎根据工作流相关数据和转换条件进行推进。l 角色:描述企业经营过程中参与操作的人员和组织单位。l 需要激活的应用程序:描述了用于完成企业经营过程所采用的工具或手段。工作流联盟定义的过程元模型工作流模型现状 EPC的工作流模型元素工作流模型现状 l 业务事件:当过程的状态发生改变时,即产生业务事件,通常是
4、对完成某一功能而做出的响应。l 业务功能:通常是一个活动或者一项任务,由组织单元中负责此功能的人来完成;当然在工作流系统中也可能通过激活应用来自动来完成。l 控制流 :连接功能与事件的有向弧,用以表示过程的控制逻辑。l 逻辑操作符:用来实现控制流的分支与汇合,主要包括与、或、异或三类简单的逻辑操作。l 信息对象:完成功能时所需要的数据信息,它们既可以作为功能的输入,也可以是功能输出的结果。类似工作流管理联盟所定义的工作流相关数据。l 组织单元:负责执行功能单元的组织。 EPC的工作流模型元素工作流模型现状 基于 Petri网的工作流模型 WF-net 含义库所对应着过程中的条件,变迁对应着过程
5、中的可执行活动,库所中的托肯代表一个过程实例的状态。但是在建模过程中,如果使用条件和事件的概念,那么库所就代表条件,变迁则代表事件。一个变迁 (事件 )有一定数量的输入和输出库所,分别代表事件的前置条件和后置条件。库所中的托肯代表可以使用的资源或数据。工作流模型现状 WF-net定义的四种基本组件工作流模型现状 l 自动触发:活动被使能的同时一就被触发。这种机制一般用于那些通过应用程序来自动执行、不需要与人进行交互的自动型活动,这类活动一旦被使能,就开始执行。l 人工触发:活动的执行是通过执行者从工作流任务管理器提供的工作流任务表中选择工作项来进行触发。在工作流管理系统中,每个活动执行者都有一
6、个自己的工作流任务表,表中列出了该执行者可以执行 (已被使能 )的活动实例,当执行者选中某一工作项去执行时,该活动就被触发。l 消息触发:由来自于系统外部的消息 (事件 )来触发活动的执行。比如电话、传真、 E-mail的到达。l 时间触发:由控制时间的定时器来触发使能的活动。这对于那些需要在预定的时一间或给定时一间间隔要求来执行的活动是必不可缺少的。比如某一结算活动必须在下午五点钟才可以开始执行,又比如在温室控制系统中,启动加热器的动作必须是在加热器上次停止加热土作的 10分钟后才能够执行。基于 Petri网的工作流模型 WF-net 工作流模型现状 l 事件:是发生在时间和空间上的一点的值得注意的事情。它在时间上的一点发生,没有持续时间。如果某一事情的发生造成了影响,那么在状态变迁图模型中它是一个事件。l 状态:描述了一个类对象生命周期中的一个时间段。它可以用三种附加方式说明:在某些方面性质相似的一组对象值;一个对象等待一些事件发生时的一段时间;对象持续活动时的一段时间。当对象处于某种状态时,它对触发状态变迁的触发器事件很敏感。l 变迁:从状态出发的变迁定义了处于此状态的对象对外界发生的事件所做出的反映。通常,定义一个变迁要有引起变迁的触发器事件、监护 (Guard )事件、变迁的动作和变迁的目标状态。 UML状态变迁图