《基于 UML 业务协作流程图的 CPN 建模研究.doc》由会员分享,可在线阅读,更多相关《基于 UML 业务协作流程图的 CPN 建模研究.doc(7页珍藏版)》请在三一文库上搜索。
1、基于 UML 业务协作流程图的 CPN 建模研究施展,陆晓东 河海大学计算机信息工程学院,南京 (210098) E-mail:摘要:为了提高业务模型的开发质量,尽量在设计、构建业务模型时能够较早地发现存在 的问题,减少建立模型的费用,文中在基于 UML 业务协作流程图中引入了即有形式化描述 又有图形表达能力的工具有色 Petri 网。本文首先介绍了基于 UML 业务协作建模方法、 有色 Petri 网的定义和表示方法。之后,实现 UML 业务协作流程图到 CPN 的转换。 关键词:业务模型,UML,CPN,业务协作流程图1引言在 21 世纪,一个企业、组织或机构最有价值的特点就是它在运行过程
2、中,能够适应动 态变化的外部环境1。业务建模的主要目标就是为了更好地分析组织现状、发现新的业务需 求、指导流程重组,以使组织能适应不断变化的外部环境。近年来,业务模型和建模(产生 模型的一系列活动)已经受到了越来越多的关注2。同时,各种业务建模方法也不断出现, 其中,以 UML(统一建模语言)为基础的业务建模方法因其自身的特点而被广泛运用。目前,UML 已经成为建模语言的工业标准3 , 应用领域包括软件系统和非软件系统领 域。与此同时,基于 UML 的业务建模可以使得业务领域模型和系统设计使用相同的 UML 符号,以便业务分析人员和系统开发人员能够更好地交流,就更容易建立解决用户问题的系 统。
3、所以,使用 UML 建立业务模型便于下一阶段的系统开发,能够使业务模型到系统模型 之间进行平滑过度。但是,UML 作为一种图形建模语言,语义不严格只能半形式化地对系统进行描述;同 时,它缺乏对自身模型的自动验证机制。而业务模型验证是业务模型应有的主要功能之一, 对保证业务模型的正确性、完整性和一致性起着重要的作用。由于Petri网模型对带有并发性, 异步性,分布式,非确定性,并行性系统的有力描述,已成为目前最有前途的建模工具4。 同时,它不仅是图形化的方法,而且还是建立在严格数学模型基础上的分析工具。本文着重研究了基于UML的业务流程建模方法中业务协作流程图,涉及UML 建模的图 形及其之间的
4、关系,这些特点恰好是Petri 网建模所关心的要素,结合UML 建模和Petri 网 的建模方法,进一步实现了从UML 业务协作流程图到Petri 网的映射。2UML业务协作建模方法2.1 UMLUML(Unified Modeling Language,统一建模语言)由Booch、Rumbaugh、Jacobson三位专 家联手提出,在1997年11月被国际对象管理组织(Object Management Group, OMG)采纳为标 准5。它的出现是软件工程领域最重要的发展之一。随后,UML经过不断改善与发展,它又 得到了工业界、科技界和应用领域的广泛支持。UML是一种定义良好、易于表达
5、、功能强 大的用于编制软件开发蓝图的标准化语言,它提供了用于描述软件系统的概念和图形表示 法,以及语言的扩展机制和对象约束语言。UML 适用于各种软件开发方法、软件生命周期的各个阶段及各种应用领域,它总结了 以往建模技术的经验并吸收了当今优秀成果,是一种标准的建模语言6。由此,软件开发人 员可以使用UML对复杂的软件系统建立可视化的系统模型,编制对应说明和建立相关的软 件文档。用UML建立的软件系统模型可以采用任何一种面向对象的程序设计语言予以实现。-1-2.2 UML 结构图UML 是一种图形化建模语言,它包括9 种预定义图表:类图、对象图、状态图、活动 图、序列图、协作图、用例图、构件图和
6、部署图7。这9种视图被分为5大类。(1)用例图。描述可被最终用户、分析人员和测试者看到的系统行为;它展现了一组用 例、参与者以及它们之间的关系。可以用用例图描述的静态使用情况。在对系统行为组织和 建模方面,用例图是相当重要的。(2)静态图。包括类图、对象图。 类图展示了一组类、接口和协作及它们间的关系,在建模中所建立的最常见的图就是类图。用类图说明系统的静态设计视图,包含主动类的类图专注于系统的静态进程视图。系 统可有多个类图,单个类图仅表达了系统的一个方面。对象图展示了一组对象及它们间的关系,用对象图说明类图中所反应的事物实例的数据 结构和静态快照。对象图表达了系统的静态设计视图或静态过程视
7、图,除了现实和原型方面 的因素外,它与类图作用是相同的。(3)行为图。它描述系统的动态模型和组成对象间的交互关系。包括状态图和活动图。 状态图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。状态图说明系统的动态视图,它常用于描述具有复杂控制逻辑的对象,它对于接口、 类或协作的行为建模尤为重要。活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以 及业务流(完成工作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流 程。(4)交互图。它描述对象间的交互关系,为一种动态视图。包括序列图和协作图。 序列图展示了一组对象和由这组对象收
8、发的消息,用于按时间顺序对控制流建模。顺序图显示对象间的动态协作关系,它强调对象之间消息发送的顺序。 协作图展示了一组对象,这组对象间的连接以及它们收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。协作图也描述对象间的动态关系,同时除信息交 换外,它还显示对象之间的关系。序列图和协作图可以互相转换。在实际应用中如果强调时间和顺序,则使用序列图;如 果强调上下级关系,则选择协作图。(5)实现图。包括构件图和部署图。 构件图用于描述代码不见的物理结构及各部件之间的组织和依赖关系,一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件,它包含逻辑类或实现类的有关信息, 构件
9、图有助于分析和理解部件之间的相互影响程度。部署图定义了系统中软、硬件的物理体系结构。它可以描述实际的计算机和设备以及它 们之间的连接关系,也可显示连接的类型及构件之间的依赖性。用部署图说明系统结构的静 态部署视图,即说明分布、交付和安装的物理系统。2.3 UML 业务协作建模方法随着企业竞争的加剧,了解企业管理运作的现状和不断地优化企业的经营活动对于企业 来说越来越重要,而这正是动态企业建模所要研究的问题8。业务模型就是对企业、机构中 业务功能的抽象描述。由于业务模型的复杂性,因此一般采用多种视图的建模方法,其中每 个视图集中描述模型的一个方面。-7-在利用 UML 建立业务模型方面,出现了很
10、多研究。其中,以建立业务协作流程图来描述企业、机构具体业务的流程、功能,使之便于理解和表示的方法较为流行。业务协作流程 图的主要元素有原子活动、转移、多条件判定、泳道、流程并发和汇聚点等(见表 1)。表 1 UML 业务协作流程图元素符号及含义Tab.1 The symbol and meanings of the element in UML business process daigram3.有色 Petri 网及其建模3.1 有色 Petri 网(Coloured Petri Net, CPN)定义根据文献9、10,CPN 是一个7元组: = ( S ,T ; F , C,W , I ,
11、 M ) ;1) 是指有色Petri网,即CPN;2) 其中 ( S ,T ; F ) 是一个网;3) S 为库所的有限集;4) T 为变迁的有限集;5) F 为弧的有限集合;6) C 是颜色的一个有限集 C = c1 , c2 K, cn ;+7) W 是权函数,即W : F L (C ) ;+8) I 是变迁映射函数,即 I : T L (C ) ;9) M 是标识映射函数,即 M : S L (C ) ;+其中, L (C ) 表示定义在颜色集 C 上的一个非负整数系数线性函数, L (C )不全为0的 L (C ) ,即L (C ) = a1 c1 + a2 c2 + . + ak c
12、k+L (C ) = b1 c1 + b2 c2 + . + bk ckai , bi (i = 1, 2, ., k ) 均为非负整数,且 b1 + b2 + . + bk 0 。表示系数10) 对 t T ,如果 s t M ( s ) W ( s, t ) ,那么,变迁 t 在标识 M 有发生权( M t ),在标识 M 下发生变迁 t ,产生一个新的标识 M ( M t M ),M ( s ) W ( s, t ) , 若s t t M ( s ) = M ( s ) + W (t, s ) , 若s t tM ( s ) W ( s, t ) + W (t, s ) , 若s M (
13、 s ) , 其他3.2 UML 业务协作流程图的 CPN 描述t I t UML 模型中,UML 业务协作流程图描述了业务在事件驱动下发生转移的流程,反映了 业务流程中的各个原子活动行为,因此,可从业务协作流程中获取信息,构造有色 Petri 网 的一系列子网。得到子网后,将子网按照一定的原则连接起来,形成整个业务流程的 CPN 模型。同时,UML 业务协作流程图描述了业务之间的交互关系,业务间信息的交互可以表现 为子网间发送或接收外部信息的行为。因此,可从协作图中获取信息的连接关系。子网中, 为表示信息的传递定义了关于信息的整数向量。有色 Petri 网中,其他业务产生的信息由接收的子网导
14、入,子网中运用一定的资源去对 信息进行处理,以生成新的输出。同时,资源也被定义为整数向量。业务协作流程图中包含业务过程和迁移。业务过程包含名称、入口/ 出口动作、内部迁 移、子过程和原子活动等。迁移包含控制流、信息流的跳迁。将业务协作流程图转换为 CP网时,协作图的原子活动对应 CP 网的库所,协作图的迁移对应 CP 网的变迁,迁移的发生条件对应变迁的发生条件。入口动作、出口动作和动作都产生一个事件库所。 将协作图转换为 CPN 的步骤如下:步骤 1:将含有复合业务过程(业务过程中有嵌套的子业务过程) 的协作图转化为简单协 作图,即协作图中只含有原子活动。可通过图 1 的映射将 UML 业务协
15、作流程图中的部分映 射为 Petri 网。原子活动(a)原子活动映射原子 原子活动 活动原子活动(b)并发原子活动映射原子活动原子原子活动活动(c)汇聚原子活动映射图 1 模型映射Fig1 Model Mapping步骤 2:将简单协作图转换为 CP 网。(1) 用 CP 网的变迁来表示协作图的活动;(2) 将CP网的原始库所表示协作图中活动触发的条件(如活动需要占用一些资源);(3) 增加一个发送信息的库所 OMP、一个接受信息的库所 IMP;(4) 将业务协作流程图中所有信息映射为一个 k 维向量,其中每一维度代表了一种信 息;(5) 将业务协作流程图中所涉及的资源映射为一个 m 维向量,
16、其中每一维度代表了一种资源;(6) 将每一库所都标识上 k + m 维的向量,其中,向量的值根据实际业务协作流程中原子活动的输入、输出及涉及的资源来确定;(7) 将原子活动引发的事件映射为库所;步骤 3:最后,完善上述过程,得到反映 UML 业务协作流程图各业务执行过程的 CPN。4总结本文将有色 Petri 网这个既有形式化的描述方法又有图形表达能力的工具引入到业务流 程建模中,完成了基于 UML 的业务协作流程图到 CPN 的映射,之后便可以利用 Petri 网有 关性质,对其加以分析。这样可以在业务流程设计时及早地发现错误和处理错误。有色 Petri 网应用到业务协作流程建模中有以下优点
17、:1) CPN 不仅提供图形化的描述,也提供系统的形式化描述。CPN 的形式化的模型用图 形的方式描述了系统的主要业务及其活动,通过查看 CPN 模型很容易找到业务过程的描述 细节。2) 通过仿真,业务分析人员可以从已存在的 CPN 中获得必要信息,同时可以将业务模 型展示给用户,以便进行交流。3) CPN 严谨的数学分析对业务模型的检验提供了有价值的帮助,一些错误可以在业务 的执行中被发现。而在最后的系统中发现和纠正错误的代价是非常大的,因此有关 CPN 的 分析法是非常有价值的。4) CPN 的工具 Design/ CPN 提供几乎所有的功能,包括画图、仿真和分析,并且很容 易进行语法检测
18、。5) 应用 CPN 可以提高业务流程设计的质量。但是,随着模型的增大用 Design/ CPN 进 行语法检测和仿真将要花费大量的时间,而且用可达图对大的模型进行分析会丢失一些信 息,因此根据需要来扩展有色 Petri 网的特性并把它应用到所需建模的系统中是进一步研究 的内容。参考文献1 Ann Lindsay, Denise Downs, Ken Lunn. Business processesattempts to find a definitionJ. Information andSoftware Technology, 2003:1015-1019.2 D. M. Eriksson
19、. A framework for the constitution of modeling processes: A proposition. European Journal ofOperational Research, 2003:202-215.3徐宝文、周毓敏、卢红敏. UML 与软件建模 M . 北京: 清华大学出版社,2006 :55 - 63 ;85 - 92.4吴耀华、颜永年、曾庆宏. 基于 Petri 网模型的物流系统建模J . 机械工业自动化,1996,18(3) :6-8. 5高利军、徐蕾、辛勤. UML 的一个应用软件建模实例 J .微处理机,2006,2(1):54
20、 -56.6邓安远、王道乾、文俊浩. 基于 UML 的期货公司管理平台的分析与建模 J .计算机工程与设计,2008,29(1):259 -261.7 Jacobson I , Booch G, Rumbaugh. 统一软件开发过程M . 北京,机械工业出版社,2002.8王知强、祝世海、王凤领. 一种基于 UML 的动态企业建模的研究 J 哈尔滨商业大学学报,2003,19(6):641-644.9Kurt Jensen. An introduction to the theoretical aspect of colored Petri nets EB/ OL .http :/ / www
21、. daimi . au. dk/ kjensen/ papers-books/rec-papers-books. html ,2002203208/ 2003205206.10Kurt Jensen. An introduction to the practical use of colored Petri nets EB/ OL .http :/ / www. daimi . au. dk/ kjensen/ papers-books/ recpapers-books. html ,2002203208/ 2003205206.The Research of CPN Modeling in
22、 the UML-based business collaboration diagramShi Zhan,Lu XiaodongCollege of Computer & Information,Hohai University, Nanjing(210098)AbstractIn order to improve the quality of the business model, to find early the problems in designing andstructuring the business model, and to reduce the cost of mode
23、l building, this paper introduces the tool that is not only a formal description but also a graphic expression into the UML-based business collaboration diagram. This tool is Colored Petri nets. In the first place, this paper introduces the UML-based modeling method of the business collaboration, the definition and expression of colored Petri net. Secondly, it also realizes the conversion of the UML-based business collaboration diagram to CPN.Keywords: Business Model ,UML , CPN, Business Collaboration Diagram
链接地址:https://www.31doc.com/p-3626201.html