已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 i y m l 活动图是u m l 的重要组成部分,适用于系统动态行为建模和描述工作 流,与u m l 的其他图形工具不同,它本质上是非面向对象的,而且其本身并不 成熟,仍在改进之中,特别是在工作流应用方面。首先,u m l 活动图描述的是响 应内部处理的对象类的行为,u m l 活动图通常假定在整个计算处理的过程中没有 外部事件引起的中断,也没有时间的延迟,这就限制了u m l 活动图对一些复杂 过程描述能力。第二,现实世界业务过程涉及的对象数据十分复杂,但是u m l 活动图的对象语义却非常简略,用户基本上无法从u m l 活动图中获取关于对象 数据的信息,也不能确定参与交互的对象的特征。最后,u m l 活动图不能支持工 作流过程的分析、模拟及优化,由于u m l 没有严格的数学基础,对于描述的系 统模型目前缺乏严密有效地验证和分析方法,更不可能根据分析结果进行模型的 优化。这就需要有一种方法来弥补这些不足,u m l 扩展机制和p e t r i 网正是本文 使用的解决方法。 本文在研究工作流、u m l 活动图和p e t r i 网的基础上提出了一种基于扩展 u m l 活动图工作流过程建模方法,该方法融合了u m l 和p e t r i 网两种技术的优 点。其基本思想是利用u m l 的扩展机制对u m l 活动图进行了有关工作流特性的 扩展,包括引入空活动和带触发条件的转移以及定义对象构造型以细化对象特征。 为了对建立的模型进行严密的数学分析和模拟,我们又提供了从扩展的u m l 活 动图模型到工作流网的映射机制,用工作流网的分析模拟能力来分析过程模型内 部的复杂的动态关系,根据分析结果可以对模型进行有效的改进。 关键词:工作流工作流过程建模 u m l 活动图p e t r i 网 u m l 工作流网 a b s t r a c t a l t h o u g hu m la c t i v i t yd i a g r a mi sm a g n i t u d ec o m p o n e n ti nu 儿w h i c ha g r e e s w i t hm o d e l i n gs y s t e md y n a m i cp r o c e s sa n dd e s c r i b i n gw o r k f l o w , i ti si m m a t u r ei n i t s e l fw i t ht h ec h a r a c t e r i s t i co fn o n - o r i e n t e d - o b j e c ta n de s s e n t i a l l yd i f f e r e n tf r o m o t h e ru m ld i a g r a m , a n dn e e dt ob ea m e l i o r a t e de s p e c i a l l yw h e na p p l i c a t e di n w o r k f l o w , o w nt ot h ef o l l o w i n gl i m i t a t i o n : f i r s t l y , a c t i v i t yd i a g r a md e s c r i b e st h eb e h a v i o r so fo b j e c tc l a s st h a tr e s p o n s et h e i n n e ra c t i o n , s t ) u m la c t i v i t yd i a g r a mi sg e n e r a l l yo nt h ea s s u m p t i o no f t h a tt h e r ei sn o i n t e r r u p t i o nc a u s e db yo u t e re v e n t sd u r i n gt h ep r o c e s sa n d1 1 0t i m ed e f e r , w h i c hl i m i t s t h ea b i l i t yo fu m la a i v i t yd i a g r a m 蕊河b i n gc o m p l i c a t e dp r o c e s s ;s e c o n d l y , u s e r c a n n o to b t a i ne n o u g hi n f o r m a t i o no f o b j e c td a t a , a n dc a n n o tm a k es l l l et h ec h a r a c t e ro f m u t u a lo b j e c t sh 卧mo f m a n yc o m p l i c a t e do b j e c ta n dr e l a t i v e l ys i m p l e 删e c t e x p r e s s i o ni nu m la c t i v i t yd i a g r a m ;l a s t l y , o w et ol a c k i n gr i g o r o u sm a t h e m a t i c a l b a s i sa n ds t r i c t , e f f e c t i v em e t h o d so fv a l i d a t i o na n da n a l y s i s , u m la c t i v i t yd i a g r a m c a n n o ts u p p o r tt h es i m u l a t i o na n d o p t i m i z a t i o no fw o r k f l o w , l e ta l o n eo p t i m i z a t i n g t h em o d e lb a s e do nt h er e s u l l s ot h i sd i s s e r t a t i o nb r o u g h tf o r w a r dm o d e l i n gm e t h o di ne x t e n s i v eu m l a c t i v i t y d i a g r a m b a s e do nt h er e s e a r c ho fw o d d l o w , u m la c t i v i t yd i a g r a ma n dp e t r in e t , a n d w i t ht h ef u s i o no ft h ea d v a n t a g e so fu m l a c t i v i t yd i a g r a ma n dp c t r in e tt e c h n i q u e , w h o s em a i ni d e ai st oe m e n dt h ew o r k f l o w sr e l a t i v ec h a r a c t e r i s t i c so fu m l a c t i v i t y d i a g r a mw i t ht h ee x t e n s i v es y s t e mo fu m la c t i v i t yd i a g r a m _ t oa n a l y z ea n ds i m u l a t e t h em o d e ls 仃i c f l gt h i sd i s s e r t a t i o ns u p p l i e dt h er e f l e c t i o ns y s t e mf r o mu m l a c t i v i t y d i a g r a mm o d e lt ow - f - n e t , u s e dt h ea b i l i t yo f t h ea n a l y s i sa n ds i m u l a t i o nt oa n a l y z et h e c o m p l e xd y n a m i cr e l a t i o n si nm o d e l s ,a n di m p r o v et h em o d e le f f e c to nt h eb a s eo f t h e r e s u l t s k e yw o r d s :w o r k f l o w w o r k f l o w p r o c e s sm o d e l u m l u m l a c t i v i t yd i a g r a m p e t r in e t、t , v f - n c t 第一章研究背景 1 1 工作流技术概述 1 1 1 工作流技术的发展历史 工作流技术的历史可以追溯n 2 0 世纪7 0 年代末的办公自动化和任务批处理。 第一次使用“工作流”术语是在2 0 世纪8 0 年代初,但那时还没有真正的工作流 管理系统。工作流的概念起源于生产组织和办公自动化领域。它是针对日常工作 中具有固定程序的活动而提出的一个概念。其目的是通过将工作分解成定义良好 的任务、角色,按照一定的规则和过程来执行这些任务,并对它们进行监控,达 到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力。随 着计算机网络技术的成熟,2 0 世纪8 0 年代中期出现了工作流技术,它为企业更 好地实现经营管理目标提供了先进、有效的手段,使许多业务处理过程自动化, 提高了工作效率;系统可以对过程进行控制,对处理过程进行可视化跟踪,甚至 还可根据需要重新设计工作流程。 工作流技术现己广泛应用于并行工程、办公自动化( o f f i c ea u t o m a t i o n ) 、计 算机集成制造( c o m p u t e ri n t e g r a t e dm a n u f a c t u r i n gs y s t e m ) 等多个方面,作为支 持企业经营过程重组( b u s i n e s sp r o c e s s r e e g i n e e r i n g ) 、经营过程自动化 ( b u s i n e s sp r o c e s sa u t o m a t i o n ) 的一种手段,使业务过程效率与生产率得到显著 提高。电子商务,电子政务的社会需求又为工作流应用的发展与普及注入了新的 活力。 通过回顾过去4 0 年应用软件系统的演化历程,可以看到工作流管理系统作为 应用软件系统的一个组成部分的历史发展过程。在6 0 年代,应用系统是一个个独 立的程序,每个应用程序都有自己特有的用户界面和专门的数据存取系统,各个 应用程序之间相互独立。在7 0 年代,数据管理部分从应用程序中分离出来,产生 了数据库管理系统( d a t a b a s em a n a g e m e n ts y s t e m ) ,应用系统大大地简化了数据 管理工作;8 0 年代,用户界面部分从应用程序中分离出来,产生了用户界面管理 系统( u s e ri n t e r f a c em a n a g e m e n t ) 。通过使用u i m s ,应用程序不再过多地管理与 用户的交互功能,并且应用程序具有相似的用户界面,方便了用户使用。直至9 0 年代,工作流管理系统作为一个通用的应用功能开始出现,用于支持业务处理, 使应用开发人员可以把业务流程从应用中提取出来【3 】。图1 _ l 显示了其发展过程: 棚慨 o s 广 一i 目 l 置 l o s u 帕 i 霉l l o s u 雌 洲i if o s 图1 1 工作流管理系统发展过程 工作流管理系统的出现有其强烈的市场需求。进入9 0 年代,随着企业业务数 量的增多、业务处理的日益复杂及业务流程的经常性改变,越来越多的组织机构 开始认识到需要有支持设计和执行业务流程的高级工具,业务流程问题成为目前 信息系统开发中的突出问题。从工作流管理的发展历程可以看出,工作流管理的 概念早在8 0 年代初就己提出,但是由于当时计算机技术发展的限制,一直未能得 到充分发展。直到最近几年,随着计算机技术和网络技术的迅猛发展,以及伴随 着市场竞争的加剧,企业对提高生产质量、缩短生产周期等的要求强烈,使得工 作流管理成为企业界和研究领域的热门话题。种种迹象表明工作流管理将会对下 一代的信息系统产生重大影响。 1 1 2 工作流的定义 工作流( w o r k f l o w ) 的概念是为提高工作效率的研究而产生的,目前还没有 统一、明确的定义。 工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ) 对工作流的定义为【1 8 】:工 作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。根据一系列 过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。 a m i t s h e t h 的定义为i 3 】:工作流是涉及到多任务协调执行的活动,这些任务分 别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形 式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及 一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统( 比如 一个应用程序、一个数据库管理系统) 。 w m p v a n d e r a a s t 的定义为【1 3 】:工作流是一系列工作的偏序集。工作的序列 可以有多种方式,比如工作x 与y 满足x y ,当且仅当x 在y 开始之前就已经 就绪。 范玉顺的定义为【l j :工作流是通过计算机软件进行定义、执行并监控的经营 过程,而这种计算机软件就是工作流管理系统。这个定义区别了工作流与一般的 2 工作流程,前者需要借助计算机软件来完成,并完全在软件系统的控制之下;而 后者则没有这种约束,其中的某些步骤可能也需要用到计算机,但这只不过是局 部的计算机应用,整个过程是不在计算机控制之下的。 1 1 3 工作流管理系统的概念 , 工作流管理联盟对工作流管理系统的定义为:工作流管理系统是一个软件系 统,它负责工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推 进过程实例的执行。不同的工作流管理系统具有不同的应用范围和实施方式。 为了实现工作流技术的标准化和开放性,w f m c 提出了一个工作流参考模型, 约定了工作流系统的体系结构、应用接口及特性。图1 - 2 其给出的工作流参考模 型【1 8 j 。系统各部分功能如下: 工作流执行服务:它由一个或多个工作流机组成( 在分布环境下,由多个工 作流机组成) 提供了过程实例和执行的运行环境。 工作流机:是一个为工作流实例提供运行执行环境的软件服务或“引擎”。 工作流建模工具:主要用于分析、建模、描述并记录经营过程。它输出一个 能被工作流机动态解释的过程定义。不同的工作流产品其建模工具输出和格式是 不同的,即其过程建模方法是不同的。 工作流管理工具:主要负责对工作流实例的运行进行监控。管理员可以通过 工作流管理工具获得目前各个活动的运行情况报告,并干预实例的推进。 图1 - 2 工作流参考模型 1 1 4 工作流模型概述 工作流模型是对工作流的抽象表示,也就是对经营过程的抽象表示。由于工 作流需要在计算机环境下运行,因此建立相应的工作流模型就是必不可少的。工 作流模型应该完整地提出支持工作流定义的概念,为建模用户提供工作流定义所 需要的组件或元素。工作流建立阶段要完成对业务过程的计算机定义。在该阶段, 利用一种或多种分析、建模和系统定义技术,将现实世界中的业务过程转化成计 算机可处理的形式。其得到的结果定义被称为过程模型( p r o c e s sm o d e l ) 。 工作流管理联盟给出过程模型的概念为1 1 】:过程模型是业务流程的形式化描 述,用于支持系统建模和运行过程的自动化。过程模型由活动( a c t i v i t y ) 及这些 活动之间的关系,过程开始、结束条件,需要调用的应用,相关的数据,以及一 些关于个体行为的信息,如组织成员等组成。 工作流管理联盟提出了一个过程元模型( m e t a - m o d e l ) ,定义了相对简单的过 程模型间交互所需的一套基本实体。如图1 3 所示: 图1 3 过程元模型 其中,每种实体应包括以下属性: 工作流定义( 过程模型) :包含工作流过程名称、版本号、过程启始与终止条 件、系统安全、监控和控制信息。过程模型由过程分析、建模和定义工具生成, 并由工作流引擎解释执行。 活动:其属性包括活动名称、类型( 子流程、原子级活动等) 、活动执行的前 后条件、活动调动约束参数( 活动执行的特定时间、最长处理时间等) 。活动对应 于企业经营活动中的任务,反映完成企业经营过程需要执行哪些操作。活动是组 成工作流的基本元素,一个工作流也可看成由若干活动按特定顺序执行的过程。 转换条件:包含过程执行的前、后条件,活动的执行条件等。转换条件为过 程实例的流转提供了导航的依据。 4 工作流相关数据:工作流机根据工作流相夫数据确定过程实例状态转换的条 件,进行过程的推进。工作流相关数据可被外部应用访问并修改,其属性包括数 据名称、类型、值等。 角色:角色主要根据企业组织模型,描述企业经营过程中参与操作的人员和 组织单位。其属性包括角色名称、组织实体。 需激活的应用:在过程描述中,一个活动可能对应一个或多个应用,这些应 用在过程执行过程中被工作流执行服务( 工作流引擎) 所调用。其属性描述完成 企业经营过程所采用的工具或手段。包括应用类型、名称、运行的参数。访问路 径等。 由图1 3 可见,活动是过程定义的核心部分。一个过程由若干活动组成:特 定角色参与活动的执行;在活动执行过程中使用工作流相关数据,激活特定应用: 并且,过程实例的推进是根据转换条件和工作流相关数据进行的。 1 1 5 工作流过程建模的六种工作流原语 工作流管理联盟w f m c 于1 9 9 6 年6 月发布了第二版的术语词汇标准鲫,为 工作流销售商、最终用户、开发人员和研究人员提供了共同的标准术语。该标准 也定义了六种基本的工作流原语: 因果关系,任务一个接着一个顺序执行,如图1 4 b 示,任务b 在任务a 执 行完之后而且在任务c 执行之前开始执行。 与分支,在图1 4 a 任务b 和任务c 并行执行,这也意味着b 和c 可以同时 执行,也可以以任何次序执行。 与连接,如图1 - 4 c ,与连接用于同步任务a 和b 的并行执行,使任务c 在b 和a 都完成之后执行。 或分支。如图1 4 d 务b 或者任务c 被执行,b 和c 是互斥的。b 或c 在a 完成之后执行,并且只选择其中之一执行。 或连接,图1 - e 示,用于归并各个选择分支,只有当其中一个分支执行完之 后,任务c 才能开始执行。 循环,在某些特殊的情况下,有时需要重复执行某项任务,如返工的情况。 如图1 9 f 任务被执行一次或多次。 擎咽昼 图1 4 工作流原语 1 1 6 工作流过程建模方法的研究现状 工作流技术的发展最初是由工作流产品开发商为了适应工作流产品市场的需 要推动的。在过去很长一段时问里,开发商把研究的注意力放在工作流管理系统 的开发实施方面。所以,目前工作流相关的理论基础仍比较薄弱,工作流过程建 模方法方面还没有形成一套比较成熟的理论和方法,还处于百家争鸣的阶段。 工作流过程建模主要研究如何清晰、准确地表示应用中的过程,特别是如何 以形式化的方法表示过程模型。工作流过程建模方法可归纳为五大类:脚本语言、 基于网的方法、基于规则的方法、基于逻辑的方法和代数方法。各种方法在描述 能力、形式化表示能力、支持可视化建模、复杂度等各个方面存在差异。如何使 模型既具备良好的理论基础,又能满足实际应用中的建模要求,是人们研究的方 向和重点。以下是现今相对成熟的几种过程建模方法【3 7 】: 1 1 6 1 活动网络 基于活动网络的过程模型将一个完整的经营过程表示为一个有向图。有向图 中的节点元素表示可执行的步骤或任务,节点间的连接弧代表过程中的控制流和 数据流。其代表产品是i b m 公司于2 0 世纪9 0 年代中期推出的工作流产品 f l o w m a r k ,其模型的组成元素包括过程( p r o c e s s ) 、活动( a e t i 啊母) 、模块( b l o c k ) 、 控制连接弧( c o n 椭lc o n n e c t o r ) 、数据连接弧( d a t ac o n n e c t o r ) 和条件( c o n d i t i o n ) 。 基于活动网络的过程模型将过程中执行的每个活动作为模型中的基本元素, 符合人们的思想。它的特点是简单、直观,便于理解,适合流程比较固定、异常 情况较少的生产型工作流的建立。但该模型缺乏柔性,也缺少数学模型的支持【l 副。 1 1 6 2 事件驱动的过程链 事件驱动的过程链模型( e v e n t - d r i v e np r o c e s sc h a i n ) 简称e p r ,是由k e l l e r 6 警。? 嚣嚣 9 0 年代中,一批面向对象方法出现了,其中最引人注目的是b o o t h1 9 9 3 、 o o s e 和o 仃一2 等。然而,面对众多的建模语言,用户由于没有能力区别不同 语言之间的差别,因此很难找到一种比较适合其应用特点豹语言。虽然不同的建 模语言基本相似,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。统 一建模语言成为迫切的需求瞄】。 1 9 9 4 年1 0 月, g r a d yb o o c h 和j i mr u m b a u g h 开始致力于这一工作。他们 首先将b o o c h9 3 和0 m t 一2 统起来,并于1 9 9 5 年1 0 月发布了第一个公开 版本,称之为统一方法u mo 8 ( u n i f i e dm e t h o d ) 。1 9 9 5 年秋,0 0 s e 的创始人i v a r j a c o b s o n 加盟。经过b o o c h 、r u m b a u g h 和j a c o b s o n 三人的共同努力,于1 9 9 6 年6 月和l o 月分别发布了两个新的版本,即“u m l0 9 ”和“1 】。o 9 1 ”,并 新命名为u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 。1 9 9 6 年,u m l 的开发者得到了来 自公众的正面反应,并倡议成立了u m l 成员协会,以完善、加强和促进u m l 的 定义工作。 在美国,至1 9 9 6 年l o 月,u m l 获得了工业界、科技界和应用界的广泛支持, 已有7 0 0 多个公司表示支持采用u m l 作为建模语言。1 9 9 6 年底,u m l 已稳占面 向对象技术市场的8 5 ,成为可视化建模语言事实上的工业标准。1 9 9 7 年1 1 月1 7 日,o m g 采纳u m l 作为基于面向对象技术的标准建模语言。现今,u m l 已成为无可争议的面向对象技术的全球标准【1 4 1 。 1 2 2u m l 的主要内容 作为一种建模语言,u m l 的定义包括u m l 语义和u m l 表示法两个部分: 1 ) u m l 语义描述基于u m l 的精确元模型定义。元模型为u m l 的所有元素在 语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得 一致,消除了因人而异的最佳表达方法所造成的影响。此外u m l 还支持对元模 型的扩展定义【6 】。 2 ) u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图形 符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级 的模型,在语义上它是u m l 元模型的实例 7 1 。 u m l 提供了如下五类九种图形工具f 1 5 j : 用例图 用例图用于描述系统应该具有的功能集。它是从系统的外部用户角度出发, 对系统的抽象表示。在u m l 中,用例图有一系列的角色和用例,角色代表人员, 用例代表功能。用例图只考虑系统应提供什么样的功能,对这些功能的内部运作 量 提出的。e p r 的主要元素是功能和事件,功能被事件触发,功能也能产生相应 的事件。过程的控制流就这样由交替出现的功能和事件彼此连接而构成,控制流 的分支选择、汇合连接以及并发进行则通过逻辑操作符( 与、或、异或) 或更复 杂的表达式来完成。 e p r 模型的优点在于模型描述能力强且容易理解。为了进一步提高建模的质 量与效率,一些研究人员正试图将已有的建模方法( 如e r 图、面向对象方法) 与e p r 相结合,成为一种集成的建模方法,使其能更有针对性地面向某一领域, 如信息系统开发、企业经营过程建模等。其缺点是可视化工作量比较大1 3 0 】。 1 1 6 3 语言行为理论 在当今以互联网为通信基础的今天,人们间的协作大大增强。针对原有的过 程模型无法确切描述人与人之间的委托与承担行为,w n o g f 甜与f l o r e s 在“语言 行为”的基础上提出了一种协作过程的建模方法。他们认为,人的语言不仅能够 用来描述事务、交流信息,而且还能够进行行为的计划与协调通过语言能够 承诺自己未来的行为,通过语言也可以协调自己与他人的合作。在基于语言行为 的模型中,协作过程的基本组成元素是一个闭合的环,它连接了客户与服务方两 类角色。前者提出要求,而后者则尽力使前者满意。多个闭环之间执行的逻辑顺 序是从连接弧上反映出来的。每一条连接弧起始于前一个闭环某一阶段的结束而 终止于后一个闭环某一阶段的开始。 这种建模方法适合面向客户服务等以人的交互为特征的、易变化、不固定的 业务过程,能够处理各种复杂情况。但其支持层次化建模的能力不强,不适合于 比较固定的工作流过程m 】。 1 2u m l ( u n i f i e dm o d e ii n gl a n g u a g e ) 概述 1 2 1u m l 的历史 面向对象技术( o r i e n t e d - o b j e c t ) 自8 0 年代初问世以来,由于它的模块性、 封装性、继承性、多态性和动态性能满足软件工程要求的局部化、易维护、可重 用、易扩充以及当今多媒体和分布式计算的诸多要求,一时成为计算机各项领域 争相采用的新技术焦点。 u m l 的出现是为建立统一的面向对象开发方法。它是在已有的三大面向对象 方法学的基础上构建的,并吸取了其它面向对象开发方法和近3 0 年软件工程的成 果。 7 情况不予考虑。 静态图 静态图包括类图、对象图和包图,类图描述系统中类的结构以及类之间的关 系,类实例化的产物就是对象;包图是多个类的集合形成的一个更高层次的单位。 交互图 交互图描述对象间的动态交互关系,包括顺序图和合作图。顺序图着重体现 对象交互的时间和顺序;合作图着重体现交互对象之间的静态联系。 行为图 行为图包括状态图和活动图。状态图描述一个特定对象的所有可能状态及其 相互转换;活动图主要用于描述工作流程和并发活动。本文研究的主要内容就是 运用活动图描述工作流过程。 实现图 实现图用于描述系统实现的一些特性,包括构件图和配置图。 1 2 3u m l 的扩展机制 为避免增加u m l 语言整体的复杂性,u 1 l 并没有吸收所有面向对象的建模 技术和机制,而是给u m l 设计了扩展机制,使它很容易适应某些特定的方法、 机构或用户。通过扩展机制,用户可以定义和使用自己的元素。 扩展的基础是u m l 的元素,可以给这些元素的一些变形加上新的语义。新 的语义可以有三种形式:重新定义,增加新的或者对某种元素的使用,增加一些 限制。u m l 有三种扩展其核心的机制,这些机制也定义了一些标准扩展以及某些 元素的变形。u m l 的三种扩展机制是:加标签值( 性质) 、约束和构造型【5 】: 加标签值是附属于u m l 元素的性质,类中的操作所附加的前置条件和后置条 件是一种标准的加标签值。 约束是u m l 中限制一种或多个元素语义的规则。约束可以附加在类或对象 上,并且经常附加在关系上,约束参与关系的类或对象。 构造型是最复杂的扩展机制。它是一种附加在已有模型元素的语义,如果构 造型附加于某种元素,则覆盖该元素的语义,该元素就成为一种新的元素。构造 型在原来的元素中增加了新的或另外的语义嘲。 有许多原因需要对u m l 进行扩展,例如,如果所使用的方法可能会有些概念 u m l 不能直接支持的,但是扩展u m l 就能够表达;或者应用领域或机构可能有 些重要的普通概念需要定义在建模语言中:又或者建模人员想通过扩展u m l 来 定义一些更为精确和清晰的模型。 9 1 2 4u m l 的特点 易于使用、表达能力强,进行可视化建模; 与具体的实现无关,可应用于多种语言平台和工具平台; 与具体的过程无关,可应用于多种软件开发的过程; 简单并且可扩展,具有扩展和专用化机制,便于扩展,无需对核心概念进行 修改; 为面向对象的设计与开发中涌现的高级概念( 例如协作、框架、模式和组件) 提供支持,强调在软件开发中对架构、框架、模式和组件的重用; 与最好的软件工程实践经验集成; 可升级,具有广阔的适用性和可用性; 有利于面向对象工具的市场成长【1 0 1 。 1 3 本文的研究原因与目的 1 3 1 本文的研究原因 理想的工作流过程建模方法能够清楚地定义任意情况下的工作流,能够适应 用户在建模过程中所提出的各种要求。然而,到目前为止,人们虽然提出了不少有 意义、有见解的工作流过程建模方法,但从建模的能力上看,距这一理想情况尚 有一定的距离。由于工作流必须首先描述清楚一个经营过程是怎样进行的,也就 是说,应首先考虑如何清晰直观地描述过程,因此,许多工作流模型使用基于图 的工作流过程建模方法,这一类基于有向图模型的优点是比较直观、容易理解, 一般情况下,图中的节点表示过程中的活动或者状态,而有向弧则表示节点间的 时序依赖关系。不少工作流产品正是采用了这种模型。但其缺点是比较简单,不 能处理复杂的过程逻辑,缺乏柔性。 目前,基于图的工作流的过程建模方法主要有数据流程图( d a t af l o w d i a g r a m ) 、功能语言i d e f 系列、p c t r i 网和u m l 等。数据流程图可理解性强, 有较好的计算机化能力,但是缺乏抽象机制;功能语言i d e f 系列可以非常清晰 地、分层次地用图形描述过程的功能,但是缺乏动态分析能力。由于u m l 已是 全球标准,又有众多优越性,很自然地也被应用于工作流领域,但是基本上还属 于理论上的研究,还没有相关的工作流产品,因此,u m l 在工作流领域的应用能 力还需进一步研究和验证【1 0 1 。u m l 活动图是u m l 的重要组成部分,适用于动态 建模,与u m l 的其他图形工具不同,它本质上是非面向对象的,而且其本身并 1 0 不成熟,仍在改进之中。而且,u m l 活动图也缺乏动态分析及优化能力。这就需 要有一种方法来弥补这些不足。 1 3 2 本文研究目的 现代工作流技木综合了w e b 技术、分布式数据库、消息传递。文件管理、移 动计算、知识管理等多领域的技术成果,是实现企业工作流过程建模、工作流过 程优化、工作流过程管理与集成,最终实现工作流过程自动化的核心技术。利用 工作流过程建模方法对业务过程的建模和深入分析不仅可以规范企业工作流程, 发现工作流程中不合理的环节,而且所建立的工作流过程模型本身就是企业非常 重要的知识库和规则库,可以成为指导企业实施计算机管理信息系统的模型。 u m l ( 统一建模语言) 是软件工程领域的杰出成果,是被广泛承认的国际标准, 它对工作流概念提供非常全面的支持。工作流技术与u m l 的结合,也是当前的 一个研究热点。p e t r i 网是一种应用非常广泛的经典的图形建模工具,它最大的优 点就是具有严格的数学基础,支持模型的分析验证和优化。因此,可以用p e t r i 网来弥补u m l 在模型分析方面的不足。为了提高u m l 在工作流领域的应用能力, 我们提出一种基于扩展的u m l 活动图进行工作流过程建模,又提供结合p e t r i 网 以利用其分析能力的方案。 第二章工作流过程建模方法 p e t r i 网和u m l 都是应用广泛且比优秀的建模方法和技术,它们应用于工作 流技术领域时表现各有千秋,为了使p e t r i 网更适用于工作流,a a l s t 在p e t r i 网的 基础上定义了工作流网( w f n e t ) ,而u m l 主要以活动图描述工作流过程。以下 具体介绍p e t r i 网( 包括工作流网) 和u m l 活动图这两种方法并考察比较它们在 工作流过程建模领域的表现。 2 1p e t r i 网( p e t r in e t ) p e t r i 网是c a r la d a mp e t r i 博士在1 9 6 0 年提出的研究系统及其成员相互关系 的数学模型,它是一种适用于多种系统的图形化、数学化建模工具,为描述和研 究具有并行、异步、分布式和随机性等特征的复杂系统提供了强有力的手段。在 建模过程中,使用状态和事件的概念,分别用“库所”及“变迁”表示。一个变 迁( 事件) 有一定数量的输入和输出库所,分别代表事件的前置和后置状态。库 所中的“托肯”代表可以使用的资源或数据踟。 2 1 1 典型p e t r i 网的表示方法 典型p e t r i 网是一个有向图( 如图2 1 ) ,由两种类型的节点组成,一种是库所 节点s ,用圆圈来表示,一种是变迁节点t ,用方框或竖线来表示;节点之间用 有向弧来连接,有向弧表示节点之间的关系。p e t r i 网中一个库所是一个变迁的 输入或输出。当存在一个从库所到变迁的有向弧时,那么这个库所就是有向弧指 向的变迁的输入。当有向弧是从变迁指向库所时,那么有向弧指向的库所就是该 变迁t 的输出。通常用t ”表示变迁的输入库所集,用“t ”表示变迁t 的输出 库所集。而“p ”和“p ”分别表示库所的输入输出集。任何时候p e t r i 网中的库 所总是包含整数( 包括零) 个托肯,托肯在p e t r i 网中用一个小黑点来表示。在某一 个时刻的托肯的分布状态就表达了系统的当前状态。p e t r i 网中状态的演变对应与 托肯的演变,而托肯的演变是由变迁的触发所引起的。 2 1 2 变迁的触发规则 一个变迁如果它的每一个输入库所都包含至少一个托肯,那么这个变迁就是 使能的。一个源变迁总是使能的。一个使能的变迁可以被触发,一个变迁的触发 将导致在该变迁的输入库所减少一个托肯,在其输出库所增加一个托肯。在p e t r i 网中,如果一个变迁处于使能状态并不意味着它会被立即触发,只是说明这个变 迁有被触发的可能性1 7 1 。 s 4t 3 s 2t 2 图2 1 典型p c t r i 网 s 3 2 1 3 工作流网( w f - n e t ) 2 1 3 1 工作流网定义 p e t r i 网w = t ;f ) 是工作流网,当且仅当w 满足以下两个条件: i ) 其中存在两个特殊库所:i 和0 ,库所i 是起始库所,即i _ 中;库所0 是 终止库所,即0 = 巾; i i ) 如果在w 中库所0 和i 之间增加一个变迁p ( 即p = o 并且t + = i ) ) ,则得 到的w 是一个强连结的p e t r i 网。 以上两个条件中,条件i ) 是使工作流网必须具有一个起始点和一个终止点: 条件i i ) 使得工作流网中不存在处于孤立状态的活动和条件,所有活动与条件都位 于由起始点到终止点的通路上。这两个条件的主要作用是减少死锁,但这只是工 作流网的最小约束条件,实际应用中仍可能定义出带有诸如死锁等缺陷的模型, 这需要通过对p e t f i 网的分析加以解决犯5 1 。 2 1 3 2 工作流网的触发机制 工作流网是p e t r i 网的扩展,它跟p e t r i 网一样准确地区分了活动( 变迁) 的 使能与活动的执行两种状态。工作流网中一项活动使能并不意味着它将立即执行, 有时需要一些附加条件,而这些附加条件不能完全靠工作流管理系统来满足,为 此工作流网引入触发机制的概念。触发是引发使能变迁得以点火的外部条件,触 发通常可分为四类( 其图形标记如图2 2 所示) 口5 】: 自动触发,活动被使能的同时就被触发。这种机制一般用于那些通过应用程 序来自动执行、不需要与人进行交互的自动型活动。此类活动一旦使能,就开始 执行; 1 3 人工触发, 例执行; 消息触发 w f m s 的消息 活动由人员的参与者来触发即由用户从使能的活动中选择一个实 外部事件( 即消息) 触发一个活动实例,如电话,e m a i l 均可成为 时间触发,对于一个变迁而言,在被使能后,它发生转移往往是需要一定时 间的,时钟触发就是由控制时间的定时器来触发使能的活动,这对于那些必须在 预定时间或给定时间间隔要求执行的活动是必不可少的。 图2 2 2 1 4p e t r i 网的工作流建模特点 1 ) 形式化语义 p e t r i 网具有规范的模型语义,严格的数学基础,基于p e t r i 网的工作流过程具 有十分清晰和严格的定义。p e t r i 网具有严格的数学基础和规范化的语义,因此, p e t r i 网能够对系统的动态行为进行严密的数学分析和模拟具有强有力的分析技术 和手段,p e t r i 网的形式化语义使得用p e t r i 网说明的工作流程具有清晰准确的定 义,而不存在二义性,可以成为互相交流的基础。同时也有利于推理、分析工作 流的各种属性。语义明确、概念一致也有利于工作流数据的交换。工作流管理联 盟给出的标准只是停留在实现技术的角度,强调的是语法,而不是语义,缺乏概 念层次上的共识。 2 ) 图形化描述 p e t r i 网是一种图形化语言,具有直观易懂的特点,使得建模人员能过比较方 便地针对模型的含义与用户交流,以便准确地描述用户环境及改进模型。但是, p e t r i 网虽具有图形化的表示,但其描述方式与客观系统的理解方式仍存在明显差 距,其直观性比活动图差。 3 ) 基于状态而不是基于事件 p e t r i 网是基于状态的建模方法,它明确定义了模型元素的状态,而且它的演 进过程也是状态驱动的。相对基于活动或事件的建模方法,它在语义上严格区分 活动的使能与活动的执行,并且直观地加以表示。由于对不同状态的明确区分, 使其具有更丰富的表能力与更好的柔性。与其它的过程建模技术相比,在p c t r i 网中案例的状态能够被清晰地描述口7 1 。而大部分的过程建模方法,不论是非形式 化方法还是形式化方法都是基于事件的,在这些技术中任务被明确地描述,但子 任务之间的转移却是隐含的,必须由工作流管理系统的代码来完成工作流中的控 制流,造成系统实现比较复杂,功能不易扩充。 4 ) p e 啊网具有足够丰富的表达能力,完全支持工作流管理联盟定义的六种 工作流原语,还可以明确表达整个流程的状态。为了实现基于p 砌网的工作流建 模,我们需要把这六种工作流原语映射成p e t r i 网表现形式。这样,工作流中的各 种概念可以在p 商网中得到更加精确的定义。如图2 - 3 所示。 图2 3 六种工作流原语映射成p e t r i 网 5 ) 丰富的分析技术 通过对p e t r i 网的研究,人们找到了许多基于p e t r i 网的分析技术,这也往往 是我们采用p e a j 网用于工作流过程建模的原因。这些分析技术可以用来验证安全 性( s 旅姆) 、不变性( m v a f i a n c e ) 、合理性( s o u n d n e s s ) 以及死锁( d e a d l o c k ) 等 属性,也可以用来计算各种性能参数,如响应( r e s p o n s et i m e) 等待时间、占 有率等。因此,同样也可以用这些分析方法来评价工作流。 6 ) 建模元素数量过多 p e t r i 网建模时经常会出现结点过多的问题,随着业务过程复杂性的加大, p e a j 网中变迁与库所的数目增多,其模型复杂程度急剧上升,不易用户的理解。 实际上,p 砌网基于状态的特点是在模型的构成上通过增加模型组成元素来实现 的。与其他类似的模型相比,比如,活动网络图,p e 仃i 网实际上是把过程的状态 通过库所中的托肯予以显式地表达,而活动网络图则因为没有库所及托肯这样的 元素定义只能隐式地或通过其他方法来表达相关状态。因此,这就给p c t r i 网带来 了一个必然的不良影响组成模型的元素数量过多,一个活动网络图中的活动 在p e l r i 网中需要一个库所、一个变迁以及连接其间的一条连弧来表示,这必然使 模型变得复杂化。即使是一个比较简单的过程,其相应的p e t r i 网模型也会有较多 的库所与变迁:对于复杂的过程,这一问题则更显突出p 。 7 ) 无法体现数据流 尽管基于状态建模的p e t r i 网能够精确、方便地对过程的控制逻辑进行定义, 然而,p e t r i 网也只能体现这些内容,而不能表示数据流。在这种情况下,数据流 就只能与控制流完全混合。当数据流逻辑与控制流逻辑不一致时,p e l r i 网就无法 显式地表达这种独立于控制流之外的数据流【9 】【3 3 】。 2 2u m l 活动图( u m la c t i v i t yd i a g r a m ) 2 2 1u m l 活动图的定义 u m l 活动图是u m l 由于对系统的动态行为建模的图形工具之一。u i v l l 活动 图实质上也是一种流程图,表现的是从活动到活动的控制流,它描述活动序列, 并且支持对并发行为和条件选择行为的表述,还支持数据流描述。它综合了以往 许多系统建模技术的思想:j i mo d e 的事件图、s d l 状态建模技术及p e t r i 网等。 特别适合于工作流和并发的处理行为【1 4 1 。 u - n i l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地板垃圾清运合同范本
- 夜场联营商家合同范本
- 地垫工厂转让合同范本
- 回填沙子劳务合同范本
- 地质勘查外包合同范本
- 塔吊租赁解除合同协议
- 塔吊安装拆除合同范本
- 塔筒合同解除协议范本
- 外贸风扇采购合同范本
- 国际企业劳务合同范本
- 九年级物理全册17.2欧姆定律全国公开课一等奖百校联赛微课赛课特等奖
- 病案管理委员会议内容
- 手术室术前禁食禁饮
- 计量实验室规划
- 《塞万提斯》课件
- 2024-2025学年山东省聊城市东昌府区东昌中学七年级(上)期中数学试卷(无答案)
- 数据安全风险评估报告
- 中国汽车行业ESG评价指南
- 《建设监理规范用表》新规范表格版
- 河北省2024年中考物理试卷(含答案)
- 《文字化妆轻松行》优教课件
评论
0/150
提交评论