已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于uml活动图的工作流建模研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完 全意识到本声明的法律责任由本人承担。 论文作者签名:毯垒盔 日期:塑墨! 应 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:塑垒盔导师签名:日期:墅墨主左 生奎! 兰二兰坠苎兰! 垒i 摘要 工作流技术是当前计算机应用领域的一个研究热点,是实现企业业务过程建 模、仿真优化分析、过程管理与集成,最终实现业务过程自动化的核心技术。利 用工作流技术对企业进行业务过程的建模和深入分析不仅可以规范化企业的业 务流程,发现业务流程中不合理和低效的环节,进而对企业的业务过程进行优化 重组,达到全面提高企业运作效率的目的;而且所建立的业务过程模型本身就是 企业非常重要的知识库和规则库,可以成为指导企业实施计算机信息化管理的模 型。因此,深入研究和大力发展工作流技术对于促进企业管理规范化、信息化, 从而对提高经济效益有重要的现实意义。 在工作流技术中,关键问题之一就是为工作流过程建模,即对业务过程的抽 象表示,工作流模型的优劣对于整个工作流管理系统性能来说意义重大。u m l 活动图的技术思想主要来源于j i mo d e l l 的事件图、s d l 状态建横技术和p e t r i 网技术,活动图是一种可以为动态过程建模的基于状态的模型,引入活动图的目 的之一就是用于企业建模和描述工作流。e c a 规则是广泛用于主动数据库的技 术,根据工作流技术的特点,本文把e c a 规则引入到工作流的建模中,结合u m l 活动图为工作流过程建模。 本文首先介绍了工作流技术所涉及到的基本概念,给出了它们的定义及相互 间的联系,并介绍了现阶段工作流的建模方法、当前的研究现状以及现有工作流 模型的不足;在深入分析工作流管理系统功能基础上总结了工作流管理系统所具 有的特性,指出了工作流管理系统是一种反应型的系统,给出了一种工作流管理 系统的体系结构,结合该系统结构和u m l 活动图的特点以及在分析其它工作流 建模理论的基础上,提出了一种基于u m l 活动图和e c a 规则的工作流建模方 法,并详细阐述了该模型的建模元素、路由结构、建模规则及执行规则用形式 化的语义加以定义,并与基于p e t r i 网的工作流模型进行了详细的分析对比,指 出了模型的优劣;然后,介绍了所开发的工作流建模工具,并给出了一个为实际 业务过程所建立的工作流模型实例;文章的最后为全文做了总结,指出了不足和 下一步的工作。 关键词:工作流、反应型系统、e c a 规则、u m l 活动图、p e t r i 网 第1 - 页共5 6 页 a b s t r a c t w o r k f l o w t e c h n o l o g y i st h er e s e a r c hh o t s p o ti nc o m p u t e ra p p l i c a t i o nd o m a i n ,i s t h e n u c l e a l t e c h n o l o g y w h i c ha c t u a l i z e s e n t e r p r i s e b u s i n e s s p r o c e s sm o d e l i n g , e m u l a t i o n a l o p t i m i z a t i o na n a l y s i s ,p r o c e s sm a n a g e m e n ta n di n t e g r a t i o n ,f i n a l l y t o a c h i e v et h ea u t o m a t i z a t i o no fb u s i n e s sp r o c e s s e n t e r p r i s eb u s i n e s sp r o c e s sm o d e l i n g a n da n a l y s i si n d e p t hw i t hw o r k f l o wt e c h n o l o g yc a nn o r m a l i z ee n t e r p r i s eb u s i n e s s p r o c e s s ,f i n dt h ei r r a t i o n a la n di n e 街c i e n ts e c t i o n ,t h e no p t i m i z ea n dr e g r o u pt h e b u s i n e s sp r o c e s s ,i m p r o v et h ee 伍c i e n c yr o u n d l y a n de n t e r p r i s eb u s i n e s sp r o c e s s m o d e li sa l s ot h ei m p o r t a n tr e p o s i t o r ya n d r e g u l a t i o n sw h i c h c a ni n s t r u c te n t e r p r i s et o i m p l e m e n tc o m p u t e ri n f o r m a t i o n a lm a n a g e m e n tm o d e l t h e r e f o r e ,s t u d y i n gd e e p l y a n d a d v a n c i n ge n e r g e t i c a l l y w o r k f l o w t e c h n o l o g y h a v ea i m p o r t a n t r e a l i s t i c s i g n i f i c a n c e w h i c hc a n p r o m o t e n o r m a l i z a t i o na n di n f o r m a t i z a t i o no fe n t e r p r i s e m a n a g e m e n t ,t h e ni m p r o v ee c o n o m i ce f f e c t i v e n e s s 0 n eo ft h e k e yq u e s t i o n i nw o r k f l o wt e c h n o l o g yi sw o r k f l o wp r o c e s s m o d e l i n ga sw e l la s a b s t r a c td e n o t a t i o nf o rb u s i n e s sp r o c e s s w h e t h e rw o r k f l o w m o d e li se x c e l l e n c eo rn o ti sv e r y s i g n i f i c a n tf o rw h o l ew o r l 匹l o wm a n a g e m e n t s y s t e m u m la c t i v i t yd i a g r a mr o o ti nj i mo d e l l se v e n td i a g r a m 、s d lm o d e l i n g t e c h n o l o g ya n dp e t r in e tt h e o r y u m la c t i v i t yd i a g r a mi s am o d e lb a s e do ns t a t e w h i c hc a nm o d e la c t i v ep r o c e s s o n eo ft h e p u r p o s et h r o u g hi n t r o d u c i n g i ti s e n t e r p r i s em o d e l i n ga n dw o r l ( f l o wd e s c r i p t i o ne c a r u l ei su s e di na c t i v ed a t a b a s e c o m p r e h e n s i v e l y ,i n t h i sp a p e r ,b a s e do nt h ec h a r a c t e r i s t i c so f w o r k f l o w t e c h n o l o g y , e c ar u l ei si n d u c t e df o rw o r k f l o w p r o c e s sm o d e l i n g w i t hu m l a c t i v i t yd i a g r a m f i r s t l yi nt h i sp a d e r ,t h eb a s i cc o n c e p t sd e f i n i t i o na n dr e l a t i o ni nw o r k f l o w t e c h n o l o g ya r ei n t r o d u c e da n d w o r k f l o w m o d e l i n g m e t h o d s ,r e s e a r c hs t a t u sq u oa n d s h o r t a g ei nt h e s em o d e l sn o w a d a y sa r ep r e s e n t e da l s o t h ec h a r a c t e r i s t i c so fw f m s a r es u m m a r i z e db a s e do na n a l y z i n gf u n c t i o n so fw f m sa n dt h a tw f m si sa r e a c t i v es y s t e mi si n d i c a r e d t h i sp a p e ra l s op r o v i d e sas t r u c t u r eo f w f m s ,b r i n g s f o r w a r daw o r k f l o wm o d e l l i n gm e t h o db a s e do nu m l a c t i v i t yd i a g r a ma n de c a r l d ew i t l lt h ec h a r a c t e r i s t i c so ft h i ss t r u c t u r e ,u m la c t i v i t yd i a g r a ma n do t h e r 晒r k f l o w m o d e l l i n g m e t h o d s ja n d 西e nd e s c r i b e s m o d e l i n g e l e m e n t s 、r o u t e s t r u c t u r e 、m o d e l i n gr u l e sa n de x e c u t i o nr u l e si nt h i sm o d e l t h i sm o d e l i s a l s od e f i n e d i nf o r m a l i z a t i o n ,c o m p a r e dw i t hw o r k f l o wm o d e lb a s e do np e t r in e tp a r t i c u l a r l y a f t e r w a r d st h ea p p r o p r i a t i v ew o r k f l o w m o d e l i n gk i ti si n t r o d u c e da n daw o r k f l o w m o d e lf o rp r a c t i c a lb u s i n e s sp r o c e s si s p r o v i d e d ,l a s t l y ,g i v eas u m m a r yo ft h i s p a p e r ,p o i n to u t t h es h o r t c o m i n ga n d p r e v i e w t h ef o l l o w i n g j o b k e yw o r d s :w o r k f l o w 、r e a c t i v es y s t e m 、e c ar u l e 、u m l a c t i v i t yd i a g r a m 、 p e t r jn e t 第2 页共5 6 页 坐奎奎! 堡兰兰堡坠奎一 第一章前言 1 1 课题的背景及意义 工作流是从英文单词w o r k f l o w 翻译而得来。单词w o r k 表示工作或者任务, 单词f l o w 含义是流动、流程或者流量等。f l o w 反映了一种变化以及变化的过程, 它本身的含义比较抽象,但是当它与某个具体的过程相联系时就有了具体的含 义。在企业的经营管理与生产组织中,用活动及活动之间变化的过程表示的业务 流程就是工作流。工作流的概念起源于生产组织和办公自动化领域。它是针对日 常工作中具有固定程序的活动而提出的一个概念。提出的目的是通过将工作分解 成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行 监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞 争力的目标忆 进入九十年代,随着计算机的普及、网络的延伸,现代企业的信息资源越来 越表现出一种异构、分布、松散耦合的特点,企业的分散性、决策制定的分散性、 对臼常业务活动详尽信息的需求以及c s 体系结构、分布式处理技术( c o r b a 、 w w w 、o l e 、j a v a ) 的日益成熟,都说明了这样一个事实集中式信息处理 的时代已经过去,实现大规模的异构分布式执行环境,使得相互关联的任务能够 高效运转、并接受密切监控己成为一种趋势。在这种不可抗拒的技术背景下,工 作流管理系统也由最初创建无纸办公环境,转而成为同化企业复杂信息环境、实 现业务流程自动执行的必要工具。这样的一个转变,把工作流技术带入了一个崭 新的发展阶段使得人们从更深的层次、更为广阔的领域上对工作流展开了研究。 工作流技术的标准化组织一一工作流管理联盟( w o r k f l o w m a n a g e m e n l c o a l i t i o n ,简称w f m c 是负责工作流技术标准化工作的国际权威组织) 于1 9 9 3 年成立。它的成立标志着工作流技术在计算机应用研究领域之中被明确的划分出 了自己的一席之地,相应的概念与术语也得到了人们的承认。在全球范围内,对 工作流的技术研究以及相关的产品开发进入了更为繁荣的阶段,更多更新的技术 被集成进来,文件管理系统、数据库、电子邮件、移动式计算、i n t e m e t 服务等 都已被容纳到工作流管理系统之中。 工作流模型是业务过程的计算机化的形式表示,它定义的是过程运行中会涉 及到的各种参数,如业务过程的开始和终止条件、各个工作环节及相互之间的控 制流动与数据流动关系等b j 。由于工作流需要在计算机环境下运行,因此建立相 应的工作流模型是必不可少的,而且,工作流模型是对工作流的抽象表示,它的 好坏直接关系到整个工作流管理系统( w o r k f l o w m a n a g e m e n ts y s t e m ) 的优劣。 因此工作流建模方法的研究是整个工作流技术研究中首要的关键问题。 理想的工作流模型应该能够清楚地定义任意情况下工作流,能够适应用户在 第3 页共5 6 页 山东大学硕士学位论文 建摸过程r 听提出的各种要求以及在工作流模型执行过程中也能够动态修改并 能应划一般的异常情况。目前,虽然人们基于多重考虑从多个角度提出了多种的 工作流建模方法,但是从模型的拙述能力、适应性、健壮性以及柔性上来看距离 这z l ! 翘lf h “:还7 汁目:j 旧距离。 i i 作流技术足实现企业业务过程建模、业务过程仿真分析、业务过程优化、 业务过程管理与集成,从而最终实现业务过程自动化的核心技术j ,所以大力发 展并推1 二 作流技术对于促进我国企业管理规范化和信息化有重要的现实意义。 1 2 本文的工作与创新 1 根据工作流管理联盟所做出的工作流技术标准,在详细分析工作流管理 系统特性基础上提出了一种反应型工作流管理系统的体系结构,并对该结构的各 组成及系统的运行进行了详细的分析; 2 根据所提出的系统体系结构,在分析其它工作流建模方法基础之上,提 出了一种挞于u m l 活动图和e c a 规则的工作流建模方法,给出了详细的形式 化定义,并。j 撼十p e t r i 网的工作流模型做了详细的分析比较; 3 根据所提出的工作流建模方法,开发了相应的建模工具,对建模工具的 功能做了分析并用实例加以验证。 1 3 本文的组织 第章是前言部分,介绍了课题的研究背景、意义以及所做的工作:第二章 介绍了工作流技术所涉及到的基本概念,给出了它们的定义及相互间的联系;围 绕本文的主题工作流建模讨论了现有的工作流建模方法、当前工作流模型的研 究现状及其不足;在f ; 两奄的基础上,第三章在深入分析工作流管理系统功能基 础上总结了工作流管理系统所具有的特性,指出了工作流管理系统是- - j e e 反应型 的系统,给出了种工作流管理系统的体系结构,提出了一种新的工作流建模方 法一基于u m l 活动图和e c a 规则的工作流建模方法,详细介绍了模型的建模 元索、路由结构、建模规则和执行规则,并给出了形式化的定义,最后与基于 p e t r i 网的工作流模型进行了详细的比较,分析了孰优孰劣:第四章介绍了基于 u m l 活动图的工作流建模工具的实现,并用它为一个实际的业务过程建立工作 流模型;第五章总结了全文,指出了本文没有解决的问题,并对下一步的研究工 作做了展望。 第- 4 页共5 6 页 2 1 基本概念 第二章工作流技术概述 2 1 1 工作流( w o r k f l o w ) 自从二十世纪八十年代出现工作流技术以来,不同的研究者对工作流分别提 出了不同的定义,但直到目前为止,对于工作流的概念人们仍然没有达成统一的 意见,没有一个统一而标准的定义。以下列举一些研究工作流问题的组织和学者 的有代表性的定义,它们分别从不同的角度对工作流概念进行了描述: ( 1 ) 工作流管理联盟的定义:根据工作流管理联盟的定义,工作流是一类 能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档信息或任务 能够在不同的执行者之问传递、执行【j j 。 ( 2 ) g i g ag r o u p 的定义:工作流是经营过程的一种计算机化的表示模型, 定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个单独步骤 的定义、步骤间的执行顺序、条件以及数据流的建立、每一步由谁负责以及每一 个活动所需要的应用程序一j 。 ( 3 ) a m i ts h e t h 的定义:工作流是涉及到多任务协调执行的活动,这些任 务由不同的处理实体完成。一项任务定义了需要做的某些工作,它可以以各种形 式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条信息以及 一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统| 5 j 。 ( 4 ) w m rv a nd e ra a l s t 的定义:工作流是一系列工作的偏序集。工作的 序列可以有多种方式,比如工作x 与y 满足x - 路由器( r o u t e r ) :是w f e s 的核心,它负责对事件进行响应,对整个 工作流进行监视和控制,负责维护工作流路由所需的相关数据,并负责 处理出现的异常事件情况;例如当路由器接收到外部环境发送来的活动 完成事件时,根据工作流模型定义的e c a 规则启动外部环境去执行新 的活动,并修改相应工作流数据。为了理论上分析的方便和建模的需要, 我们假设事件的触发、w f e s 对事件的接收、对事件的响应以及状态间 第1 8 页共5 6 页 些奎奎坠塑警冬二垒二奎一 的变迁都是无限快、瞬时的,当然外部环境执仃沽动所需墨阴嗣1 日j 小属 于w f e s 需要考虑的问题,我们不限制; 下面我们再对w f m s 的其它部分进行介绍: 模型定义工具:这是w f m s 提供给用户定义工作流过程模型和组织模 型的接口和工具,定义的模型数据( 包含e c a 规则) 存储在数据库系 统中。 管理工具:它负责启动一个工作流实例并通过从数据库中实时读取实例 的状态数据来监控所有实例的运行,并在必要的时候通过对w f e s 的管 理暂停或中止某个实例的运行,改变工作流实例的状态。 执行体管理器:它负责为路由器启动的新活动寻找并通知合适的执行人 或调用相应的应用程序去执行该活动,并负责维护执行实体中的人员的 状态信息( 如某个人员处于可用或不可用状态) 。 数据库系统:数据库存放与工作流执行所需的所有数据,包括工作流过 程和组织模型定义的数据、工作流相关数据、工作流应用数据、工作流 控制数据及工作流各个实例的状态数据等。 执行实体:包括人和应用程序,是工作流活动的具体执行者,工作流活 动是由w f m s 调用应用程序自动完成或者是由人操作应用程序来完成, 它们是外部事件的触发者。 下面我们对工作流过程中的活动进行相应的定义。为了防止多个活动实例同 时修改同一数据而造成数据的不一致性,即为了保证数据库中数据的a c i d ( a t o m i c 原子性,c o n s i s t e n c y 一致性,i s o l a t i o n 独立性,d u r a b i l i t y 持久性) 原 则,我们把活动分为两类:原子活动和复合活动;原子活动是不能再分解的活动, 由某个执行实体在非零的时间内完成,是由若干个数据库事务组成的;复合活动 是由若干原子活动组成。活动对于数据的操作有只读访问和可写修改两种,当多 个活动同时要对同一个数据进行修改时,我们利用数据库技术和路由器中对工作 流活动实例的监控功能来避免出现这一情况。 图3 3 活动实例状态转化图 图3 - - 3 是活动实例的状态转化图,本文定义了六种状态,并把“执行”、“挂 起”和“超时”状态归为活动所处的活动状态,而把“完成”、等待”及“撤销” 第- 1 9 - 页共5 6 页 山东大学硕士学位论文 状态归为活动所处的静止状态。 另外,上面我们已经讲过,w f e s 是根据事件、当前工作流实例的状态以及 过程模型的定义来对工作流实例进行路由。这样就会产生一个问题,当w f e s 所依据路由的工作流相关数据正在被某个活动修改时w f e s 就进行路由,这样 的路由是不安全和不正确的,因此我们规定w f e s 必须要等到数据不在变化时 再进行路由。这一规定保证了工作流实例路由的安全性和正确性。 根据w f m s 的体系结构和e c a 规则,w f m s 执行过程如下:根据实际业 务过程的特点,由相关技术人员利用模型定义工具为每个业务过程建立相应的过 程模型和组织模型并存储在数据库中;根据实际业务过程的需要,由相关人员利 用管理工具启动一个新的工作流实例,即开始一个实际的业务过程;w f e s 从数 据库中读取工作流模型定义,按照模型的定义启动新活动,执行体管理器则根据 组织模型的定义为新活动选择并通知相应的执行实体去执行该活动,外部环境 ( 人或应用程序) 在完成工作流活动后把所产生的外部事件输入到事件队列中与 w f e s 进行交互;根据这些事件和当前工作流实例的状态以及e c a ( 包含在工 作流模型定义中) 规则,路由器判定规则条件是否满足,若满足则执行相应的动 作并修改相关的工作流数据,然后从事件管理器中读取下一个事件来处理。如此 反复执行工作流活动,直到整个工作流实例完成。 另外,在工作流实例运行过程中如果出现了异常事件,则根据异常事件的 e c a 规则来进行处理,这涉及到工作流异常处理与恢复以及工作流柔性的问题。 这些可以通过利用数据库系统成熟的异常处理机制及制定详细具体的e c a 规则 在一定程度上来解决。 我们下面建立模型时就是根据本节和上节对w f m s 和w f e s 理论分析的基 础之上而论述的;在建模工具上我们选择了u m l 的活动图【2 6 1 ,这是因为我们认 识到u m l 活动图具有反应性和协作性,符合w f m s 的特性,并且u m l 的活动 图可以和善于描述动态交互特征的e c a 规则结合起来描述工作流模型,比p e t r i 网更适合为反应型的系统建模;在建模方法上,我们主要参考了文献【2 7 中的建 模理论和文献 1 7 e pa a l s t 提出的基于p e t r i 网的工作流网( w f - - n e t ) 理论,并 针对其不足和缺点,结合u m l 活动图和e c a 规则的特点提出了新的建模规则和 形式化语义。 3 3u m l 及u m l 活动图( a c t i v i t y d i a g r a m ) 简介 u m l ( u n i f i e dm o d e l i n gl a n g u a g e 统一建模语言) 由r a t i o n n a l 软件公司的 三位面向对象专家b o o t h 、r u m b a u g h 和j a c o b s o n 于1 9 9 7 年1 月正式提出,并 提交给美国面向对象行业的管理组织( o m g ) 审核,又经多年的积累而形成的 一套基于面向对象的建模技术。同年n 月,u m l l 1 被o m g 接纳为行业标准推 出【28 1 。 u m l 是一种定义良好,易于表达,功能强大,且普遍适用的建模语言,它 第2 0 页共5 6 页 坐奎! ! 奎坠垄耋冬二坠兰奎一i 不f r 统一了b o o c h 、r u m b a u g h 和j a c o b s o n 的表示方法,而且对其做了进一步的 发展。它溶入了软件工程领域的新思想、新方法和新技术,采用一套成熟的建模 技术,广泛适用于各种应用领域【2 。 u m l 的目标是以面向对象图的方式来描述任何类型的系统,除了最常用在 建立软件系统模型之外,还可以用于描述机械系统、企业结构、商业系统等等, 可以对任何具有静态结构和动态行为的系统进行建模。u m l 主要包括下列几种 基本模型口”: ( 1 ) 用例图:系统外部的执行者与系统各种用例的关系,这是以系统外部 的操作者的角度描述系统的功能,从而为需求分析提供标准化的手段; ( 2 ) 静态图:包含有三种图分别是:类图用于展示系统中类的静态结构; 对象图是类图的一种实例化图;包图是对类图的一种分组机制; ( 3 ) 行为图:包括状态图和活动图。状态图描述一类对象所具有的所有可 能的状态及其转移关系:活动图用于展示系统中各种活动的执行流程; ( 4 ) 交互图:包括顺序图和合作图。顺序图用来展示对象之间的一种动态 协作关系( 强调时间上的顺序关系) ;合作图则从另一个角度展示对象之间的动 态协作关系( 强调相互间的通信关系) ; ( 5 ) 实现图:包括组件图和配置图。组件图展示程序代码的物理结构;配 置图则展示软件在硬件环境中的配置关系( 尤其是在分布式及网络环境中) 。 在u m l 的十种模型图中,其中的用例图、静态图和实现图属于u m l 的静 态建模模型,而行为图和交互图则属于动态建模模型。 在上述的十种模型图中,u m l 活动图与u m l 的其他图不同,它并不是直 接来源于b o o c h 、r u m b a u g h 和j a c o b s o n 三位u m l 设计者以前的工作,它的技 术思想主要来源于j i mo d e l l 的事件图、s d l 状态建模技术和p e t r i 网技术。u m l 引入活动图的目的之一就是用于企业建模和描述工作流【3 0 1 。 活动图是一种可以为动态过程建模的基于状态的模型,图中包含活动状态, 活动状态表现了过程中语句的执行或工作流中活动的执行川。u m l 的活动图不 是专为工作流建模设计的,o m g 更没有给出用于工作流建模的活动图的语义和 语法,针对这一不足,下面我们将详细描述和定义利用u m l 活动图为工作流过 程建模的建模元素、路由结构、建模规则、执行规则以及形式化的定义。 3 4 基于u m l 活动图的工作流模型 3 4 1 建模元素 根据w f m s 自身的特性( 反应性、协作性、开放性) ,以及本文提出的w f m s 结构,我们对标准u m l 活动图进行了相应的修改。下面描述工作流建模的基本 元素。 第- 2 1 页共5 6 页 山东大学硕士学位r e 文 匾回l 一 活动状态节点 等待状态节点 或节点 与节点 起始节点 结束节点 型垒, 带标识的有向边 图3 4 活动图基本组成 u m l 活动图是由节点( n o d e ) 和有向边( d i r e c t e de d g e ) 连接而成,如图3 4 。前面我t 1 已经阐明:一个工作流的过程模型要表达的信息有两个,即“工 作”和“流”,工作既是业务过程中的各个活动或者说是任务;而“流”要表达 的是“控制流”和“数据流”,控制流定义了活动之间的逻辑依赖性,包括活动 之间执行的顺序以及活动执行所需要满足的条件,数据流就是指活动间所传送的 数据信息,即数据依赖性。在我们的活动图模型中,我们是用标识活动状态节点 的活动名称来表示工作流中的“工作”;而控制流是用有向边( 相当于p e t r i 网中 的变迁) 表示各活动间执行顺序和用有向边上的守卫条件( g u a r dc o n d i t i o n ) 来 表示执行活动所需要满足的条件;而对于活动间的数据流来说,因为数据流和控 制流在实际的工作流过程中不一定一致,也就是说两活动间有逻辑上的依赖性但 不一定有数据依赖性,反之亦然。因为活动间要传递的数据非常复杂而且庞大, 所以在现有的工作流模型中对于工作流中数据的建模都不是很理想,本文认为对 于这些数据流不便于在直观的图形上表达出来,应该用单独的数据模型加以表 示,也就是说本文定义的活动图只是显式地表达了活动间的逻辑依赖关系( 即控 制流) 。下面分别解释各个元素: 与节点和或节点:与节点用粗条棒表示,和连接它的输入输出边一起可以表 达与分支和与连接( a n d s p l i t 和a n d j o i n ) 两种结构( 如图3 7 ) ,用来描述 并发和n 步;或节点用菱形表示,可以表达或连接和或分支( o r s p l i t 和o r - j o i n ) 两种情况( 如图3 8 ) ,用来描述冲突和共享。与节点和或节点并不是系统实际 会执行到的节点,它们只是用来辅助有向边来直观地表达复杂的结构( 组成复合 有向边) 。 活动状态节点:它用圆角矩形表示,工作流实例执行到该节点时,表示某个 工作流活动正处于活动状态( 执行、挂起和超时三种状态之一) ,它用该活动的 名称来标识。这时,w f m s 实际上处于等待外部环境执行完该活动时产生消息 事件触发的状态,收到该消息事件后系统再进行路由。 等待状态节点:它用平角矩形表示,在活动图中加入等待状态节点是为了更 准确的描述实际的工作流过程,它的作用包括:( 1 ) 用于两活动间的同步:如图 3 5 所示,因为活动是由外部环境来执行,w f m s 不能也无法决定活动完成所 需要的时间,图3 5 a 所示的结构只是表示了a 、b 两活动同时完成( 绝对同时 完成是不可能的) 的情况:而图3 - - 5 b 在活动状态后加入等待状态,哪一个活动 先完成则进入等待状态等待另一个活动完成再同时进入下一个状态,更准确的描 第- 2 2 - 页共5 6 页 山东大学硕士学位论文 述了实际的工作流过程。所以我们在用活动图为工作流建模时禁止第一种同步情 况的出现,只允许第二种同步的表示;( 2 ) 表示系统实际的等待情况:这种情况 一般用于系统等待外部环境发送的消息事件的到来,例如本文所举例子中系统等 待用户返回调查表的情况;( 3 ) 等待系统进入某个状态:既当前分支需要与另一 个分支同步,在投诉处理例子中,投诉评估完后需要系统已经进入“等待2 ”状 态,即条件 i nw a i t2 成立才能进行投诉处理,如果条件还没有成立则进入“等 待3 ”状态,当条件成立时,由数据库系统产生的条件变化事件触发系统进入下 一状态。这种情况往往出现在两个并发工作流分支中,其中一个分支需要用到另 一个分支的处理结果。 图3 5 a 与连接( 错) 图3 5 b 与连接( 对) 有向边:有向边根据组成结构分为简单有向边和复合有向边。简单有向边指 的是仅有一个输入节点和输出节点的单边;复合有向边是由与节点和输入输出它 们的简单有向边一起构成的复合变迁,它的输入和输出节点可以不止一个。 简单有向边:箭头表示状态间的变迁( 类似于p e t r i 网中的变迁) ,正好对应 前面所定义的e c a 规则中的a c t i o n ,所以我们用e c a 规则来描述有向边。这样 就把外部事件( 代表外部环境) 和模型的表达( 代表w f m s ) 有机地联系了起 来,即我们定义的活动图可以用来描述通过事件与外部环境交互的反应型系统。 有向边表达式形式为e g a ,e 为事件表达式,表示前面定义的几种事件,每个 有向边最多有一个事件来触发,活动完成事件表示前驱活动的完成,这种事件默 认情况下不用表示;嘲是布尔表达式,表示守卫条件,守卫条件是状态发生变 迁所需要的条件,也是活动可以执行的开始条件;a 表示e c a 规则中的动作( 包 括状态变迁和启动新活动等) ,因为有向边已经直观的表达了状态的变迁和下一 步要执行的活动,所以这两种动作在图形上可以省略。e 和【g 】都是可选的,没有 表达式时表示e 是空事件,g 的布尔值始终为真。 复合有向边:活动图一共有与分支、与连接两种复合有向边,复合有向边也 需要用e e g j a 来描述,复合有向边是由输入边上的事件e 而且仅由这一个事件e 来触发的,触发时所有组成复合有向边的简单边都将一同被触发。简单有向边可 以看作复合有向边的特殊情况。 为了叙述上的方便,我们把活动图中的节点分成三类:状态节点( s t a t e n o d e ) 、路由节点( r o u t en o d e ) 和端节点( b o r d e rn o d e ) 。状态节点就是指活 动状态节点( a c t i v i t y s t a t en o d e ) 和等待状态节点( w a i t s t a t en o d e ) ,它们是活 动图的主要部分;路由节点是指图3 4 中的菱形和粗条棒,即或节点和与节点; 端节点即指起始节点( i n i t i a ln o d e ) 和结束节点( f i n a l n o d e ) ,它们是活动图的 首尾两个端点。 第2 3 页共5 6 页 坐奎奎童坠塞兰堡二垒二 3 4 2 路由结构 w f m c 定义了四种基本的路由结构,分别是串行、并行、条件选择和循环。 我们可以用活动图来表示如下: ( 1 ) 串行结构 图3 6 顺序结构 串行结构定义了按固定顺序串行执行的活动,如图3 - - 6 表示,b 活动必须 在a 完成后执行,而c 必须在b 完成后执行,串行顺序表示的是活动间的因果 关系。 ( 2 ) 并行结构 a 冲- s p l l a n d 书抽 图3 - - 7 a 与分支图3 7 b 与连接 图3 - - 7 a 表示与分支复合边,在条件成立时a 、b 两活动同时被触发而处于 活动状态,表示工作流开始两个并行的分支;图3 - - 7 b 表示与连接复合边,当a 、 b 两活动都完成后转移到下一状态,与连接一般用来表示时间上的同步。 ( 3 ) 条件选择结构 田马 o r - 卜j o i “ 团等曷 e h 11 e l 图3 8 a 或分支 图3 - - 8 b 或连接 在图3 8 a 中的或分支结构中,当事件e 发生时,系统判定哪个输出边上的 条件( g 】或 h 】) 成立则该边被路由选中;图3 8 b 表示或连接结构中,a ,b 两 活动谁先完成则相应的有向边被路由选中。一般 g 和 h 】条件有一个且仅有一个 能成立,也就是【9 1 和【h 常常是互斥的条件,我们般用 e l 叫表示另一条件的否。 相对于与分支和与连接复合边来说,我们没有把或分支和或连接结构看成是复合 边,这是因为或节点连接的两个分支是彼此独立的,两分支只能有一个被路由选 第2 4 页共5 6 页 ( 4 ) 循环结构 搿 图3 8 循环结构 图3 8 为循环结构表示,活动a 完成后,根据判断条件 朗和 h 进行不同的 路由,当条件 h 】成立时,活动a 回到活动状态重复执行。 为简单起见,本文只用活动状态节点来表示路由结构,对于包含等待状态节 点的路由结构与上面的结构类似。我们在为工作流建模时,基本是以上述路由结 构为组件建立模型。需要说明的是,除了上述路由结构外,活动图由于自己的特 点还可以表达更多的路由形式,以增强复杂模型的表达能力。如下图: 贿d 图3 9 与分支和或连接组合结构 图3 9 中的活动a 、b 在完成后可以使活动c 同时两次处于活动状态,也 就是同时有两个c 活动实例执行;图3 9 是一种特殊的循环结构,活动c 可以 重复执行,它可以用简单的形式表达活动需要同时多次执行的情况。 另外,我们也可以用活动图来表达嵌套分层的结构,即把逻辑上独立的子图 ( 子过程) 用一个节点符号在它的父图中表示,一般用来简化比较复杂的模型。 3 4 3 建模规则 定义完建模所使用的基本元素后,为了给工作流过程建模还需要有相应的语 义规则,因为活动图与p e t r i 网有许多相似的地方,两者可以说都是基于状态的 模型( 本文在后面会给出两者在工作流建模时详细的分析比较) ,因此我们参考 文献【1 7 中a a l s t 提出的基于p e t r i 网的工作流网( w f - - n e t ) 中的建模规则。下 面我们给出利用这些元素为工作流过程建模的语义规则。 对节点的要求: ( 1 ) 每个活动图只能有一个起始节点和一个结束节点,这保证了工作流实 例只有一个入口( 开始节点) 和一个出口( 结束节点) : ( 2 ) 除了起始节点和结束节点外,每个节点必须至少有一个输入边和一个 输出边,这使活动图的每个节点都是可达的,即不存在孤立节点: ( 3 ) 对于与分支和或分支节点只有一个输入边,而与连接和或连接节点只 有一个输出边,这是组成复合有向边的规则,这一点在没有限制活动图表达能力 的基础上增强了可读性。 上述三条规则是对活动图节点的要求,也就是对模型静态结构上的要求,这 些规则可以预防某些死锁的发生。另外,上面我们说过,w f e s 是根据外部环境 第2 5 - 页共5 6 页 坐奎奎坠型二冬= 垒坠奎釜 所触发的事件来做出路由决定的,因此活动图中带有e 刚a 表达式的硐i 司边对于 工作流的路由起着至关重要的作用。例如有向边离开某个活动状态节点表示该活 动已经完成,嘲条件是表示该活动是否完成的布尔变量。不同标识的有向边与 不同的节点在一起会有完全不同的意义,因此我们还需要制定以下规则a 对有向边的要求: ( 1 ) 离开起始节点的边不能有事件e ,而且守卫条件为t r u e :这样保证了 工作流实例一被初始化就可以离开模型的起始节点而进入具体的执行过程; ( 2 ) 离开与分支节点所有边上条件的合取为t r u e ,离开或分支节点所有边 上条件的析取为t r u e :如图3 - - 6 和3 7 所示,这两条规则是为了预防某些死锁 的发生。例如:如果离开与分支的边上路由条件为f a l s e ,则系统将无法路由发 生死锁;在离开或分支节点所有边上的条件中必有一个成立,保证了路由能继续 下去。 3 4 4 执行规则 上面我们详细描述了如何利用u m l 活动图为工作流建模的基本结构以及相 应的建模语义,下面我们给出模型的执行语义。 我们所定义的工作流模型的执行语义既是在3 2 小节所描述的基于w f e s 工 作流的执行过程在模型上的体现,也就是说我们定义的模型是和上面定义的 w f m s 紧密联系的,参照图3 2 的w f m s 体系结构图,我们用一个简单执行 步骤来描述这一过程: 模型执行步骤: ( 1 ) 开始一个新的工作流实例( 即根据实际需要开始一个业务过程,由管 理工具启动实例的开始) ,工作流实例成功初始化后从模型的开始节点自动进入 邻近下一节点执行实例的第一个活动; ( 2 ) 路由器判断当前的状态节点,如果是活动状态则根据其标识和过程模 型的定义启动外部环境中相应的执行实体执行该活动,并转入步骤( 4 ) ;如果是 等待状态则让实例处于等待状态,并转入步骤( 4 ) ;如果是结束节点则转入步骤 ( 5 ) : ( 3 ) 外部环境响应系统执行活动的要求开始执行相应的活动,在执行活动 中会修改相应工作流相关数据和工作流应用数据( 存在数据库中) ,活动完成后 会触发相应的外部事件通知系统活动已完成; ( 4 ) 路由器从事件管理器中读取要处理的事件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年化工行业人效分析与组织架构优化报告
- 2026年交通运输行业智能交通管理创新报告
- 2026年节能型空气分离设备行业创新技术报告
- 2026年绿色建筑材料研发创新前景报告
- 2026年灯光配件行业应用案例研究报告
- 2026年自吸泵行业商业计划书
- 2026年体育产业市场规模报告
- 2026年工业0创新进展及挑战报告
- 2026年数控铣床行业创新报告:高速型与仿形铣床技术突破与应用
- 2026年洗地机行业技术创新路线图报告
- 中职《机械基础》电子教案
- 2025-2030中国纳米银网行业市场现状供需分析及投资评估规划分析研究报告
- 2025年四川成都电子科大出版社有限责任公司招聘笔试参考题库含答案解析
- 2025年高考历史考纲(完整版)
- 《2025急性冠脉综合征患者管理指南》解读
- T-CSEE 0399-2023 水电站紧固件技术监督导则
- 核心网及增值数据类工程项目施工方案
- 人工智能导论知到智慧树章节测试课后答案2024年秋天津大学
- 老年肾脏病诊治
- 江苏省苏州市昆山、太仓、常熟、张家港四市2024-2025学年八年级上学期期中阳光测评语文卷
- 体温计破裂应急预案
评论
0/150
提交评论