一种数据驱动工作流管理系统的实现方法

上传人:s9****2 文档编号:564557761 上传时间:2023-05-25 格式:DOCX 页数:9 大小:114.76KB
返回 下载 相关 举报
一种数据驱动工作流管理系统的实现方法_第1页
第1页 / 共9页
一种数据驱动工作流管理系统的实现方法_第2页
第2页 / 共9页
一种数据驱动工作流管理系统的实现方法_第3页
第3页 / 共9页
一种数据驱动工作流管理系统的实现方法_第4页
第4页 / 共9页
一种数据驱动工作流管理系统的实现方法_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《一种数据驱动工作流管理系统的实现方法》由会员分享,可在线阅读,更多相关《一种数据驱动工作流管理系统的实现方法(9页珍藏版)》请在金锄头文库上搜索。

1、一种数据驱动工作流管理系统的实现方法摘要:提出了一种基于 Petri 网模型的数据驱动的工作流建模方法。在实现此方法前,我们 对该工作流程理念进行严密的分析,以验证其正确性。该工作流模型已经在工作流管理系统 中得到实现,其提供了一组图形界面,以方便建模和执行业务流程任务。关键字:工作流管理系统;Perti-Net;数据驱动工作流;工作流程定义Abstract: In this paper, we present an approach for data-driven workflow modeling based on Petri Net model. The conceived workfl

2、ow process can be analysed to verify its correctness before implementation. This workflow modeling approach has been implemented into a workflow management system that provides a set of graphical interfaces to model and execute the business process tasks.Key words: Workflow management system; Petri-

3、Net; Data-driven workflow; Workflow process definition一. 引言 在本世纪初,工作流程管理集中在设计和文档业务流程。其重点放在任务和他们之间的次序 的依赖关系,同时,数据和资源只起到了非常轻微的作用。许多新的方法,例如,Petri网1, 业务流程建模符号(BPMN)2,业务流程执行语言(BPEL)等,但其中只有少数对业务 流程中的数据流交换建模有兴趣。此外,最近几年,随着数据驱动方法的提出,数据在业务 流程中的重要性也日益受到重视。随着流程的执行和表现形式收到越来越多的关注,工作流模型的验证也必须得到重视。 Petri-Net是当前最能说明

4、工作流技术规范的模型。本文结合数据驱动方法和 Petri-Net 形式化方法提出了一种用于工作流过程建模的形式化方 法,通过工作流程引擎执解析和自动生成运行流程分析验证由此产生的模型。二. 技术介绍近几年,许多着重研究数据流和控制流相结合的新方法涌现了出来,人工业务流程(Business Artifacts, BA), 个使用人工方法和Petri-Net模型使数据与流程结合在一起的方法。BA方 法侧重于解决决策问题,相关的可达性,避免死角和冗余,但它不提供过程建模的图形表示 法。尽管它被正式定义,但BA并没有提供一个正式的机制过程验证。在工作流研究中过程 验证已被广泛研究,用Petri网的状态

5、机制7,曲线图8,数据依赖性9等。另一个正式的方法基于Petri网模型是corepro框架10 。CorePro使建模数据驱动 规范,然后,基于给定模型等级的数据结构,自动创建流程结构。同时,corepro提供了一 些简单的规则来验证数据驱动的过程结构的可靠性特性。然而,它不保留已经激活执行对象 的状态。事实上,除了结构的变化,同时也考虑到状态的变化。Petri网的令牌进行文献中已定义的数据的扩展,以提高工作流模型的表现力。数据网 (DN)是Petri网的扩展,令牌取自线性有序和密集的领域,并转换可以执行整个地方的操作, 如传输,复位或广播。尽管,数据网可以被看作是一个约束多重集重写系统(CM

6、RS)被扩 充为全开放操作。根据12中的研究发展,只有在黑色难以区分的令牌情况下,全开放操作才增强 Petri 网的表现力,并不适合令牌数据取自有序域的模型。弱点是指这里的事实cmrs编码模拟一 个有损耗的数据网,例如,数据网的令牌可能会丢失。上述所有的方法都关注数据路由和数据管理的过程,但是他们认为所调用的应用程序 组件,其中应用程序数据管理作为黑盒的活动。它们中的一些,像DN,可以申请转换,读 取或写入一些数据元素,但只有有限权利来管理所有数据元素的处理。这就是为什么流程必 须被建模在更高的抽象层次模型,以反映优选的工作实践。三使用Petri网令牌结构的工作流建模我们从 Petri 网中提

7、出一种新的工作流建模方法用来工作流过程建模。为了管理所有的数据 处理工作程序,我们使用数据驱动的过程结构的概念。所以,我们由相应的数据结构来描述 过程,我们定义了一个数据结构,pairs=(C.D),其中C是一个属性列表,D是元祖列表,每 个元祖是属性值的有序集。从形式上看:Vn, mUN:C=(c1,)D=(d11,d12.d1n),(d21,d22.d2n).(dm1,dm2.dmn)每个属性C.是名为ni和类型为t的有序对。iiiVi, ti USmallInt, Int, BigInt, F loat, Double, Real,Decimal, Char, V archar, T e

8、xt, Date, Y ear, BooleanVi, j, d.三t.:属性值是一个特定的有效的属性类型值。工作流程过程被定义为一个Petri网 ij j 工作,某个地点的位置对应于一个数据结构,包含结构的令牌(元组)和一个转换对应于一 个任务。一套工作流由四个组件组成,WF=(S,T,Pre,Post)其中S 是一个有限集的数据结构,T 是一个有限集的任务Pre是SXT-N是向前关联矩阵Post:是SXTN是向后关联矩阵 工作流过程定义为两个面向网络的节点类型。即数据结构和操作这些结构的元祖任务。 一个任务消耗数据结构产生其他元组,然后可以通过其他任务消耗。如果每个输入数据结构 sUS被至

9、少x元组标记,即任务t被启动。(涉及的Pre (S,T),它定义了从S到T边缘重 量)。启用任务T需要每个输入数据结构消耗X.元组,并生成每个输出数据结构T的X.元组。ij(涉及的Post (S,T),它定义了从S到T边缘重量)。我们必须澄清,在我们的例子中,我 们不能仅限于一个后关联的简单的矩阵。事实上,每个转换根据其处理将消耗一个未定义的 元组数,并产生属于一个确定范围内产生号码,(见附录表 I) .例如,如果过渡是一个元组 分别含有X1和X2的元组数的两个数据结构S1和S2的联合操作。它会产生一些属于间隔的 元组:max(x1, x2) and x1 +x2。(因为联合操作会消除重复元组

10、)我们定义了两个向后关联矩阵:Post .和Post,作为一个价值区间限制所有可能的后minmax关联矩阵。VtUT and sUS, Post皿少s):边缘变迁从T到权重最小的S.VtUT and sUS, Posts):边缘变迁从T到权重最大的s.Vt U Tands U S,Post(t,s) U PostMin(t,s),Post Max(t,s).图 1:工作流模型实例由图1所示的例子中,包含8个地方 ,S2, .,S8)和5个转换(TA,Tb.Te)。每条边相关联的权重(xi0)o我们定义其预矩阵:tntctdtcMLf忑10000忑20000巧000Pre = X|00叭0000

11、巧3J70000000000叭门1 00000 J如图1中例子所示,其转换的定义在表I中,我们可以确定每个激发转换输出令牌的范 围如下:x4 e 0,min(x1,x2),x5 e max(x2,x3),x2+x3,xg=x6Xx7 e x6Xx?,x6Xx?,x 9=x7 丘 yx n=xio e xioxio因此,我们可以推断出其矩阵: Fo就时in-t a / 0 () 鮎 o 0$5 0ie 0370眉0000(1D000(J0000(J0la)00(J00盹+谿0(J000(J0000巧0 0000J10 利用这三个矩阵(Pre,PostMinandPost Max)我们可以对设计的

12、工作流模型得到的属性进 行验证,我们将在第六节中详细介绍这个思想。要达到的最低层次的抽象,我们需要代数数据结构,所以,我们设计的关系代数定义任 务需要从其他地方产生的数据结构。如表1所示,为了适应Petri网形式,我们用正式的方 法重新定义了关系代数运算。为了保持数据结构属性分配操作(联合,差异,交叉,分隔) 的等价,我们定义了置换和替代操作。此外,我们提出把属性添加到结构的方案,其值通过应用一个函数生成。最后插入数据 结构元组到数据结构中,我们定义了一个补充操作四 信息流路由Petri网使用关系代数运算作为转换,我们的工作流模型可以很容易地表达顺序和并行路由。 然而,条件路由需要由其他操作来

13、定义。事实上,条件路由使用时,根据条件两个任务之间 是相互执行的。通过一个简单的网络控制操作,我们可以表示有条件的路由。事实上,控制 操作决定是否继续,信息流的路由是根据控制数据结构的内容,不管SI是控制的数据结构, Sj是下个转换期望的数据结构,如果条件为真,SI将被一个控制操作控制定义为如下所示: 控制操作1指出:禺士勺J I茫厂0J 0 ot/iEruu se控制操作2指出控制流程的一个例子在附录的图10中。结构6,它包含了所有当前客户的未付账单,由task t5客户的偿付能力决定使用。所以,如果S6中包含一个或多个令牌,T5将决定这个客户 没有偿还债务能力,它将完成订单管理流程。否则,

14、将在T5将在S7中重现S2令牌,为了 派送到库存检查角色。五使用我们的方法建模的例子考虑一个公司的订单处理的办公程序。当客户通过电子邮件发送他的命令,作业被发送到 客户偿付能力检查,然后盘点。评价后,要么拒绝的邮件被发送给客户,s亦或是发送订单 发货及开票。在本文中,我们限制我们的例子中的偿付能力检查和盘点过程。为了简化模型的表示,我们根据在公司相同的功能角色分类相关的任务。所以,每个角色 的工作是属于整个工作流过程定义一个子进程。正如图10中所示,当客户邮件到达时,工作流将启动。S1令牌(目前客户数据)将消耗 T1以选择目前客户信息(CC)根据他的名字和他的姓,选择的条件是工作流执行过程中检

15、 查角色(SCRole)的偿付能力的大小。所得到的结构S2令牌(S2只包含一个呈现CC信息令牌),S3令牌(当前客户的账单数据) 要使用T2产生一个单一的数据结构,它包含账单数据,以及CC信息。所得到的结构s4令 牌要使用T3,创建一个账单数据与CC的内部连接,以选择仅仅是CC的账单。S5表示了当前CC历史账单支付记录。要检查客户的偿付能力,T4只选择其中有一个支 付的属性值等于FALSES5令牌,所得到的结构S6是被用来决定客户偿付能力。t5是一个 控制操作,验证S6内容。如果S6包含一个或多个标记,T5将决定客户是没有偿还能力(因 为他有未付账单),它就会完成订单管理流程。否则,T5会在s7中重现S2令牌的命令为了 将其发送到库存检查的角色(ICRole)。要选择订购的产品,T6根据Ord-qtity属性值(只接受整数值)扩展S8 (包含所有的产 品数据),来抓住相对有序产品的订购数量。然后,T7从所得到的结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号