18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 工作流建模(数据库)

工作流建模(数据库)

时间:2022-12-24 18:30:01 | 来源:信息时代

时间:2022-12-24 18:30:01 来源:信息时代

    工作流建模 : 将实际业务处理流程用工作流模型抽象成为一个工作流模式的过程称工作流建模。
一个工作流过程对应企业的一个业务流程,工作流的定义包括对若干个为了完成特定目标的任务和相关数据的定义。任务(task)是工作流中最基本的构成单位,是能够独立执行的工作单元。工作流中的任务或者是一个自动执行的软件系统,或者是一个由人或组织参与的活动。任务不仅可以是自动执行的软件系统,或者是由人或组织参与的活动,而且还可以是可分的,在工作流系统中存在着不同类型的任务。
任务的执行需要三种基本信息,它们是: 由谁(或由什么)执行该任务,做什么,怎样做。做什么涉及到任务本身的功能、所需数据、所需结果和约束。怎样做涉及到所要用到的工具。在实际工作中,任务可以是空的,也就是说这个任务可以什么也不做。
任务定义由两部分组成:任务声明和任务实现。任务声明部分定义了任务的功能、输入/输出数据、启动条件等信息,具体声明信息见表1。任务实现部分是任务的具体实现代码或操作过程。在工作流建模时,只给出任务的声明部分。

表1 任务声明


属性名关键字描述
标识符IDENTIFIER用来唯一标识任务
名字NAME用来标识任务
描述DESCRIPTION简述任务的功能
参与者PERFORMER描述参与者的信息,包括
人、机器等
限定条件CONDITION描述参与者应满足的条件
持续时间DURATION指定期望的持续时间
启动条件STARTCONDITION描述任务的启动条件
结束条件POSTCONDITION描述任务的结束条件
优先级PRIORITY根据最后期限来协调任务
的优先级


在任务声明中,任务的输入/输出条目隐含地定义了任务之间的数据依赖。数据依赖定义依赖工作流运行环境中的数据结构定义。这里的输入/输出条目给出的仅仅是对象的名字。
用户型任务说明时,参与者条目中给出的是一个角色名,没有给出具体的工作者。这样做的好处是: 在工作流调度时,调度系统可以根据系统实际运行情况、资源利用情况根据角色动态确定任务的实际工作者。图1给出用户型说明。


图1 用户型任务说明


利用任务之间的跃迁可以有效地定义工作流过程,但过程的定义必须符合一些规则,也就是说,一个过程必须逻辑正确、避免结构孤立、避免语义冲突和死锁。下面是一些规则例子,它们是完整性检验的基础。
对于工作流定义的检验规则有,一个工作流必须有唯一的名字; 整个工作流只能有一个起始任务和一个结束任务等。
对于任务定义检验规则有: 一个任务必须有唯一的名字、参与者、启动和结束条件; 所有任务的完成时间不能超过整个工作流的规定时间等。
对于跃迁定义检验规则有: 一个分支结构只能有一条输入边; 一个分支结构至少有两条输出边;一个分支结构的输入边不能来自同一个分支结构;一个有条件分支结构必须在每条输出边上有一个条件; 一个汇聚结构的输入边不能来自同一个汇聚结构; 一个汇聚结构至少有两条输入边: 一个汇聚结构只能有一条输出边; 一个汇聚结构必须有一个分支结构与其配对等。
安全的工作流模式是指在一个工作流模式中,所有的任务都是可达的,并且所有的任务都是可终止的,则称这个工作流模式是安全的工作流模式。任务T可达(reachable)是指在一个工作流模式中,从开始任务起,至少存在某一个跃迁序列可以到达T任务。T可终止(Terminable)是指在一个工作流模式中,从任务T开始,至少存在某一个跃迁序列可以到达结束任务。
工作流的描述方法主要有:
(1)脚本语言:提供专门的脚本(script)语言描述工作流应用中的控制流和数据流结构。描述方法简洁,易于使用,在现有的工作流管理系统产品中非常流行。
(2) 图形方法: 主要有基于有向图的状态跃迁网,用节点表示活动,用相应的有向边表示控制流。大多数工作流管理系统产品提供基于状态跃迁网的图形化工作流定义工具。然而这些方法一般都不提供形式化的语义。
(3) 形式化的图形网络方法: 主要有状态图(state chart)和Petri网方法。Petri网在工作流建模中得到了很好的应用,与状态图相比,Petri网方法具有更好的形式化基础,为定性分析工作流的动态变化提供了基础。
(4)逻辑方法: 主要有时序逻辑(temporal logic)方法,用于描述工作流的动态特征。时序逻辑具有良好的形式化基础。一些简单形式的时序逻辑,如CTL(computation tree logic),已经被用于描述扩展事务模型中执行的依赖关系,以及用于验证工作流定义的正确性、安全性等性质。但时态逻辑的描述非常抽象,需要复杂的工作流运行控制机制。另外,时序逻辑通常不易实现图形化表示,而且也不容易转化成其他形式的描述方法。
(5)进程代数方法: 进程代数(process algebra)是一种著名的用于描述和分析并发系统行为的形式化方法,具有很好的形式化基础与理论。该方法能将一个工作流表示成一组进程代数表达式,而在对这些进程代数表达式进行术语重写后,可得到该工作流的所有可能执行路径,因而可据此判断工作流中是否有不可达任务,是否能够执行终止。但进程代数方法不如图方法直观,而且术语重写过程复杂。
(6) ECA规则: ECA规则为事件-条件-行为规则(event-condition-action-rule)的缩写。ECA规则常用来描述活动间的控制流程,多用于主动数据库系统(active database system)中,目前在工作流建模中也得到了一定的应用。但ECA规则不如图方法直观,同时难于管理大量规则,并且不支持流程逐步求精。ECA规则通常与其他描述方法,如Petri网或时序逻辑,一同进行高度的形式化描述。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭