您现在的位置是:首页 > IT基础架构 > 软件与服务 >
基于EPC的个性化流程建模
摘要现有的业务流程建模方法多适用于建模规模庞大、结构复杂的企业流程,因此提出了一种可用于规模较小,数量众多的个性化流程的建模方法,该方法使用Event.driven Process Chains作为建模语言,考虑到建模过程的可复用性与高效性,将流程以场景为单位分决分层,并设计了一种组合算法由...
0 引言
业务流程描述企业的?系列行为和这些行为问的逻辑顺序与依赖关系。随着一些业务流程管理系统应用实例的成功,对业务流程进行建模在企业界越来越流行?。与此同时,Interact的普及也带来了新的IT应用模式:一方面越来越多的用户希望使用Interact完成任务,越来越多的应用依赖于Internet:另一方面WebService技术的出现可以使Interact上的复杂任务更加容易完成。因此,业务流程模式也将由面向企业用户渐渐转为面向更广泛的普通用户。
面向个体用户的流程,我们称之为个性化流程,它不同于面向食业的流程模型,它的普通用户数目众多、个性各异、层次不一,常常提出个性化的要求。例如在线旅游代理商按每个顾客的具体要求为其提供的旅游服务流程,定制统一的流程必然无法满足众多的个性化要求,因此必须寻求为每一个用户单独定制流程的方法。本文即介绍了一种针对个性化流程的建模方法,考虑到建模过程的可复用性与高效性,我们借鉴了在需求分析中广泛使片j的场景的概念,场景即系统捕捉到的用户实际所能经历到的各种情况捌,流程是由一系列能达到某个目标的相对独立的场景依照某种关系组成。整个建模过程先从场景开始,即先对单个场景建模,然后设计了一种组合算法由场景自动组合生成整个流程模型。流程建模最基本的是建模方法和标准化的描述语言,本文介绍的建模方法使用的语言是(event.drivenprocess chains,EPC),该语言由于它的直观性和较强的描述能力而被广泛使用。
l 相关工作及知识
1.1相关工作
业务流程设计特别是捕捉现实世界流程语义的业务流程模型设计是一项复杂的工作,设计工作的复杂性要求一种结构化的方法。随着业务流程建模概念的迅速普及,出现了很多建模方法以及支持这些方法的技术和工具,其中有些方法已经应用到商业实践中,如被普遍接受为业界标准架构的ARIS中使用的方法”1,用来处理企业集成的CIMOSA和IEM中使用的方法:在理论研究领域,近年来有很多学者提出了自己的方法,如Mendling提出的基于数据库理论的视图整合建模方法“NirmitDesai”提出的基于协议的建模方法”等;同时在建模过程中可以使用的技术和工具也不断涌现,例如,甘特图,IDEF,着色Petri网,角色活动图(RAD),面向对象技术等。另外,与Web服务技术的结合也是当前建模业务流程的研究热点,BPEL4WS就是其中的代表性研究成果。遗憾的是,现有的业务流程建模方法多是针对面向企业的流程模型设计的,鲜有面向个体用户的流程模型设计方法。
1.2 EPC简介
EPC是20世纪90年代初提出的一种图形化业务流程建模语言,由于SAP R3和ARIS等产品的成功而被广泛使用。它的用途在于描述业务流程的先后顺序,而不是着重于细节的语法定义,因此,能很容易地被业务人员理解和使用。关于EPC的研究相当丰富,vailderAalst等人在上世纪末提出了形式化的EPC语法定义”,这之后的很多研究工作都集中于EPC的语义上,特别是OR连接符的语义““,EPC流程模型到PctilNets的转换也吸引了很多研究者的注意。之后,Mendling等人提出了一种基于XML的转换格式,称之为EPC MarkupLanguage(EPML),用于EPC文件的存储?1,在我们的研究中,也使用这种存储格式保存EPC文件。下面给出EPC的形式化定义”:定义l事件驱动过程链是一个五元组,其中,E事件的有限集合,P过程的有限集合,C过程链中逻辑连接的有限集合,T函数映射,将过程链中的每个连接映射为(AND,0RXOR)中的元素。图1是用EPC建模的一个实例。
2 建模过程
2.1基本思想
在使用EPC进行建模时,基于SAP参考模型的实际经验,Keller等人提出了层次化行为的概念,它通过子流程的使用而允许建立宏观流程“”。受这种思想的启发,我们也利用分层的概念对流程建模。所不同的足在我们的研究中,流程是由一系列能达到某个目标的相对独立的场景依照某种关系组成,有的场景又可划分成子场景,如此通过场景到子场景的划分将流程分成若干层。至于场景到子场景的划分该停止在哪个层次””,中进行了很详尽的讨论。当场景不能再划分成子场景时,称这样的场景为底层场景,底层场景由一组行为组成,这里是建模过程的起点。也就是说,建模过程的第一步是由领域专家绘制底层场景的EPC图,然后使用场景到流程的组合算法,由已得到的底层场景的EPC图组合生成上一层场景的EPC图,自底向上,逐级递推,最终得到完整的流程模型。
2.2场景到流程的组合算法
输入:底层场景EPC图和事件依赖关系表
输出:整个流程EPC图
(1)为每个EPC分配一个n个字段的层次编号,该编号与其所对应场景的编号相同,n为场景的层数。
(2)Repeat
规则l:EPC.的某个输入事件与EPC.的某个输出事件等价,则直接把EPC。和EPC.在相同事件处连接。
规则2:EPC。的输出事件与EPC,的某个中间事件或输出事件等价,则将该事件在两个图中的输入用or-join或xor-join连接后,作为该事件新的输入。
3 应用
我们将以下的建模方法应用在一个虚拟旅行社平台的例子中,该平台可对注册的客户进行旅游咨询、旅游线路设计和最终的旅游服务流程的生成,然后在客户整个旅行过程中,该流程一直为其服务。这样的流程是个性化的,因为它只针对一个或者一队有着完伞相同旅行日程的客户;这样的流程与面向企业的流程相比也是相对简单的,这砦特点使本文提到的建模方法适用于它。下面以预定机票和预定酒店
这两个底层场景为例说明建模过程。这两个场景的具体描述如下:
(1)向航空公司代理预定机票,向酒店预订房间,二者可同时进行。
(2)假如其中一项预定失败,则取消成功的预定并通知用户。假如用户不希望继续,则终止流程:否则,返回到第一步。
4 结束语
本文提出了一种针对个性化流程的建模方法,使用当前流行的EPC建模语言,基于场景的概念,设计了一种自底向上的组合算法,由手工绘制的单个场景EPC图自动生成整个流程。业务流程建模是一项很复杂的工作,本文提出的方法与当前流行的BPM标准和架构相比,还处于概念设计阶段。正如本文开头时所说,这种方法适用于规模相对较小,结构相对简单的个性化流程。而在今后的工作中,我们将进一步研究个性化流程的实现、验证、管理方面的方法,以使本文的建模方法能够系统化,实用化。
(本文不涉密)
责任编辑: