孙 成,刘海燕
(东北电力大学 教务处,吉林 吉林 132012)
工作流管理系统是一个完整定义、管理和执行的“工作流”,通过软件的执行顺序执行工作流逻辑的计算机驱动[1].工作流管理系统主要给工作流建模和工作流执行提供支持.工作流建模阶段,工作流管理系统为使用者提供了创建、执行和管理工作流模型的时间环境,并且工作流执行程序提供了一个用户或应用程序可能发生交互联系的工作流实例.在整个或部分业务流程过程中,工作流根据一套程序规则将文档、信息或任务从一个参与者传递到另一个参与者.为了实现工作流管理的工程,业务必须从现实世界中抽象出来并且用一种形式化的方法描述出来,从而产生了工作流模型.创建一个定义良好的工作流模型是工作流执行的必要条件,在工作流管理系统发展过程中,已经提出了许多方法来寻找一个通用的、正规的方法来描述业务流程[2~4],一些研究者也从不同角度分析工作流模型并且构建基于各种框架的工作流模型[5~6].
这些方法侧重于特定业务领域的工作流模型设计,并试图找到一个通用的形式化方法来描述工作流模型.抽象是人们感知、概念化和推理的普遍行为,很多学者对人工智能领域中的抽象概念作了大量研究,例如机器学习[7],基于模型的诊断等[8~9].Saitta和Zucker[10~11]等提出了表示改变的抽象模型,这个模型被称为KRA(Knowledge Reformulation and Abstraction),目的是为了帮助问题的概念化和抽象操作的自动应用.KRA模型将工作流建模过程作为一个迭代的“感知-抽象”过程[12].此外,在本体类扩展过程和它们之间映射的研究基础上,特别是基于目标感知的概念,提出了形式化的基于目标的分层工作流抽象建模过程[13~17].
本文将系统中心本体的概念引入到工作流建模中,形式化描述分层的工作流建模过程.提出了基于工作流片段的本体类概念,从两个角度给出了基于工作流片段的本体类的分层抽象过程:工作流片段抽象和工作流片段聚合.工作流片段抽象通过基本行为感知本体类和抽象行为感知本体类之间的映射关系进行操作,工作流片段通过将目标不可区分的工作流片段感知进行聚合操作改变其抽象度.基于工作流片段的本体类给出了系统中心知识的学习、共享和重用的机制,节省了工作流模型的再设计和再建模的成本.基于工作流片段的分层抽象模型(系统中心本体角度)比基于对象中心本体的角度构造的分层模型更加抽象,推理过程更加清晰简化.
本节引入文献[13]中的一些概念,并对其进行扩展,同时定义了一些新的概念,以便后面章节使用.
定义1(行为感知,Activity Perception):一个行为感知ActP是一个五元组,即,ActP=(ActType,AgentsType,ResourceIN,ResourceOUT,Conds),其中ActType是行为的类型,AgentsType是包含在行为中的参与者的类型,ResourceIN是行为处理的资源类型,ResourceOUT是执行行为过程中生成的资源类型,Conds是约束条件的集合,在满足这些约束条件的前提下,行为能够得以执行.
本节将行为感知分为基本行为感知(Fundamental Activity Perception,FundActP)和抽象行为感知(Abstract Activity Perception,AbsActP).FundActP通过感知特定领域的具体工作流得到,而AbsActP是使用预先定义的算子作用于一个或多个基本行为感知得到的结果,这些算子根据相关知识定义,如结构知识、行为知识、功能知识和目标知识等等.因此,基本行为感知集合与抽象感知集合之间的多对一映射可以通过这些算子操作运算得到.
定义2(行为关系感知,Activity Relation Perception):假设两个行为感知ActP1和ActP2,它们之间的关系定义为一个四元组,ActRelP=(ActP1,ActP2,ActRelType,ActRelConds),表示当条件集合ActRelConds中的约束条件成立时,ActP1和ActP2具有类型为ActRelType的有序关系.
可以使用不同的表示来理解行为关系感知ActRelP的定义,如下:
当行为感知ActP1完成时,发生行为感知ActP2以及行为关系感知ActRelP,因此,在这个关系中ActP1称为主动行为感知,ActP2称为被动行为感知.另外,ActP1的输入资源ResourceIN定义为ActRelP的输入资源,而ActP2的输出资源ResourceOUT定义为ActRelP的输出资源.
两个工作流对象之间的关系显示了它们的执行顺序.基本行为感知之间的关系表示为FundActRelP,抽象行为感知之间的关系表示为AbsActRelP.根据基本行为感知集合和抽象行为感知集合之间的映射关系,构造由工作流对象关系构成的映射集合.
根据行为感知的类型,将基于行为的本体类分成基本行为本体类(Fundamental Activity Ontology Class,FundActOC)和抽象行为本体类(Abstract Activity Ontology Class,AbsActOC),它们分别由基本行为感知和抽象行为感知构成.
由基本行为关系感知构成的行为关系本体类定义为基本行为关系本体类(Fundamental Activity Relation Ontology Class,FundActRelOC),由抽象行为关系感知构成的行为关系本体类定义为抽象行为关系本体类(Abstract Activity Relation Ontology Class,AbsActRelOC).
在文献[13]中,给出了工作流模型的形式化定义,其中工作流模型可以由基本部件和关系构成,也可以由抽象部件和关系构成.还描述了基于行为的本体类的生成过程,以及工作流抽象建模的分层过程.基于行为的本体类是一个对象中心的本体类的概念,将引入系统中心本体类的概念来定义工作流片段和基于工作流片段的本体类,从而形式化地描述更加抽象的工作流建模过程来帮助进行自动推理.
例1 为了更清楚地表示以上概念,我们引入文献[13]中的“申请论文答辩”工作流的例子,其基本工作流抽象模型,如图1所示.行为感知以及行为关系感知的内容在此不赘述.
图1 “申请论文答辩” 的基本工作流模型
将本体类之间的映射关系做以改变,简化表示如图2所示.
图2 本体类之间的映射关系
基于上面给出的定义引入几个新的概念.
定义5 (工作流片段,Workflow Fragment):一个工作流片段是一个三元组,即,WfFrag=(WfFragType,ActPs,ActRelPs),其中:
(1)WfFragType表示工作流片段的类型,即工作流的执行域;
(2)ActPs是到基于行为的本体类中的行为感知的映射的集合,每个映射对应的行为感知表示构成工作流片段的任务步;
(3)ActRelPs是行为感知集合ActPs 中的行为感知之间的关系,显示了工作流片段的执行顺序.
作为一个工作流片段,ActPs应该包含一个类型为ACTIVE的行为感知映射,表示工作流片段的起点.同时,一个工作流片段应该终止于某个行为感知,保证这是一个闭合的过程.起始行为感知和终止行为感知应该用特殊的标识符表示.两个工作流片段之间的关系应该通过它们中相互关联的行为感知构建.
基本工作流片段(Fundamental Workflow Fragment,FundWfFrag)由与FundActOC和FundActRelOC关联的映射构成,可以从特定领域中运行的具体工作流感知得到.抽象工作流片段(Abstract Workflow Fragment,AbsWfFrag)通过FundActOC和AbsActOC以及FundActRelOC和AbsActRelOC之间的映射关系得到.
图3 基于基本工作流片段的模型
例2 图1所示的“申请论文答辩”工作流的基本模型包含的基本工作流片段表示如下:
FundWfFrag2=(Type2,{START,ActP1,ActP2,ActP3,ActP5,END},{ActRelP1,ActRelP2,ActRelP3,ActRelP6,ActRelP7});
FundWfFrag3=(Type3,{START,ActP1,ActP2,ActP3END,ActP4,},{ActRelP1,ActRelP2,ActRelP3,ActRelP4,ActRelP5});
FundWfFrag4=(Type4,{START,ActP1END,ActP7},{ ActRelP1,ActRelP8,ActRelP9}).
基于基本工作流片段的模型,如图3所示.
Reli(ActPj)表示两个基本工作流片段之间具有关系Reli,该关系由行为感知ActPj的行为确定.图3所示的模型的基于抽象工作流片段的模型可以通过图2中的本体类之间的映射关系实现,这里不再赘述.
本节引入基于工作流片段本体类的概念,从基于对象的角度和基于流的角度分别给出该本体类的抽象分层过程.
定义6(基于工作流片段的本体类,Workflow Fragment-based Ontology Class):一个基于工作流片段的本体类是一个二元组,即,WfFragOC=(WfFrags,WfFragRels),其中WfFrags表示工作流片段的集合,WfFragRels是工作流片段之间的关系集合.
图4 基于WfFragOC的工作流模型
例3 基于工作流片段的本体类WfFragOC为基于流片段的工作流抽象模型所共享和重用.图3中的工作流模型中各个组成要素可以简化为到WfFragOC中的流片段的映射,即基于WfFragOC的工作流模型,如图4所示.
其中MFi(1≤i≤4)表示到FundWfFragOC中的基本工作流片段的映射,MRj(1≤j≤3)表示到FundWfFragOC中的关系的映射.
基本工作流片段本体类(Fundamental Workflow Fragment-based Ontology Class,FundWfFragOC)由基本流片段和它们之间的关系构成,如例2和例3所示.将抽象工作流片段本体类(Abstract Workflow Fragment-based Ontology Class,AbsWfFragOC)定义为比基本工作流本体类更抽象的本体类,可以通过以下两种方法实现:
(1)工作流片段抽象:基于工作流片段的本体类中的工作流片段感知可以通过用更抽象的行为感知做替换操作得到.
(2)工作流片段聚合:引入多重抽象知识,比如功能知识和目标知识,来定义工作流片段感知的性质,并且通过特定的抽象算子将具有相同性质的工作流片段感知聚合成更加抽象的工作流片段.
工作流片段感知过程用来生成工作流本体类,这个过程是通过感知具体的工作流实现的.如果工作流模型是基本的,则可以得到基本工作流片段本体类;如果工作流模型是抽象的,则可以得到抽象工作流片段本体类.但是实际上,抽象工作流片段本体类也可以通过基本行为感知本体类与抽象行为感知本体类之间的映射关系自动生成,具体过程如算法1所示.
算法1 WfFragmentPerception
(1) 在给定的工作流感知中搜索类型为ACTIVE的行为感知A;
(2)跟踪从A出发的输出流(也许不止一条),直到遇到类型为END的行为感知或者返回A的流或者陷入死循环的流;
(3)构造该工作流经过的行为感知映射集合,定义工作流片段感知的目标感知并确定其工作域;
(4)重复(1)~(3),直到所有类型为ACTIVE的行为都被处理过;
(5)利用共享的行为感知构造工作流片段感知之间的关系集合.
工作流片段本体类的抽象度随着算法1中感知的具体工作流的抽象度不同而变化,也可以通过使用图4中的非直接映射关系M3改变其抽象度.从工作流抽象度的变化角度,这是一个流片段本体类的分层抽象过程.
除此之外,也可以定义抽象算子来聚合拥有相同目标感知的工作流片段,从而工作流片段本体类中的工作流片段减少,从改变工作流片段本体类本身的抽象度的角度实现了工作流片段本体类的分层抽象过程.
这里引入文献[13]中的目标感知的概念定义两个不可区分的工作流片段感知,给出工作流片段本体类的分层过程.
定义7 (目标不可区分的工作流片段感知,Goal-Indistinguishable Workflow Fragment Perceptions):两个工作流片段WfFragP1和WfFragP2是目标不可区分的,当且仅当它们的目标感知是一致的.
工作流片段感知的目标感知可以通过迭代地聚合行为感知(这些行为感知构成了工作流片段)的目标感知来获得,如文献[13].
工作流片段本体类的分层抽象过程以及基于系统中心本体类的工作流建模过程,如图5所示.虚线表示两个连接部分的映射关系,而实线则表示运算和结果.映射M1的算子定义见文献[13],映射M2和M3可以通过映射M1间接生成.
图5 工作流片段本体类的分层抽象过程以及基于系统中心本体类的工作流建模过程
本文提出了工作流片段本体类的概念,来完善推理能力以及降低基于对象中心本体的抽象建模过程.同时工作流片段本体类给出了系统中心的知识学习、共享和重用的机制来节省工作流模型再设计和再建模的成本.在未来的工作中,我们将继续探索和扩展不可区分的工作流片段的知识范围,而不是局限于基于目标知识的角度,比如服务层、角色域等,从而实现工作流片段本体类的多重知识分层表示.