




已阅读5页,还剩46页未读, 继续免费阅读
(计算机应用技术专业论文)uml活动图到pnml转换的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古大学硕士学位论文 u m l 活动图到p n m l 转换的研究与实现 摘要 众所周知,u m l 是半形式化的。p e t r i 网虽然是形式化的工具但本身又有 不便于应用的缺点。所以论文的目的是把u m l 活动图模型转换为p n m l ,以 便能够用p e t r i 网分析工具来分析u m l 所描述的系统的正确性。为了达到这个 目的,论文主要研究的内容包括: 第一,把在r a t i o n a lr o s e 中画出的活动图模型提取出来,转换成工具可以 识别分析的文件格式。在r a t i o n a lr o s e 中通过一个“r o s ex m lt o o l s 插件, 把模型信息存储为x m l 文件,可以看到用x m l 语言格式显示的活动图信息。 然后用i a v a 语言实现读取并存储x m l 文件信息。 第二,根据活动图中的元素类型和关系类型,制定转换规则,实现活动图 到p n m l 的转换工具。提取活动图模型的元素信息,转换为有向图,最后遍 历有向图并按照论文提出的转换规则进行转换输出。 第三,设计了一个包含活动图中各种元素的实例,并且详细具体地演示了 转换的过程和最终结果。 第四,证明用p n m l 描述的u m l 活动图和原活动图的行为集合的等价性。 关键词:u m l ,活动图,p n m l ,x m l u m l 活动图到p n m l 转换的研究与实现 i 乇e s e a r c ha n di m p l e m e n t a t l 0 no fc o n v e i 之t i n g u m la c t i v i t yd i a g r a mt op n m l a bs t r a c t a s w ea l lk n o w , u m li ss e m i f o r m a l p e t r in e ti saf o r m a lt o o lb u ti sn o te a s yt o a p p l y t h ep u r p o s eo ft h i st h e s i sw a st od e s c r i b eu m la c t i v i t yd i a g r a mw i t hp n m l , s ot h a tt h ec o r r e c t n e s so ft h es y s t e mc o u l db ea n a l y z e dw i t hp e t r in e ta n a l y s i st o o l s t h em a jo rr e s e a r c hi nt h i st h e s i si n c l u d e da sf o l l o w s 。 f i r s t ,t h ea c t i v i t yd i a g r a mm o d e lw h i c hw a se x t r a c t e df r o mr a t i o n a lr o s e ,w a s c o n v e r t e di n t oaf i l ef o r m a tw h i c hc a nb ei d e n t i f i e db ya n a l y s i st o o l s b ya ”r o s e x m l t o o l s ”p l u g - i nf i x e di nr a t i o n a lr o s e ,t h em o d e lc a nb es t o r e di n “x m l ”f i l e o p e n i n gt h ef i l e ,t h ea c t i v i t yd i a g r a mw a s s h o w nw i t hx m l a n dt h e n ,r e a d i n ga n d s t o r i n gx m l f i l ei n f o r m a t i o nc o u l db ec a r r i e do u tb y j a v a s e c o n d ,a c c o r d i n gt ot h et y p eo fe l e m e n t sa n dt h er e l a t i o n s h i pi na c t i v i t y d i a g r a m ,t r a n s f o r m a t i o nr u l e sw e r ed r a w nu pa n dat o o lu s e dt oc o n v e r ta c t i v i t y d i a g r a mt op n m l w a si m p l e m e n t e d t h ee l e m e n t so fa c t i v i t yd i a g r a mw e r e e x t r a c t e df r o mad i r e c t e dg r a p h ,a n dt h e nw e r ec o n v e r s e di n t oad i r e c t e dg r a p h a f t e rt h a t ,t h ed i r e c t e dg r a p hw a st r a v e r s e db yc o n v e r s i o nr u l e si nt h et h e s i sa n d t h e nt h er e s u l t sw e r ee x p o r t e d t h i r d ,a ne x a m p l ew a sd e s i g n e dw h i c hc o n t a i n e de l e m e n t so fa l lk i n d so f a u m l a c t i v i t yd i a g r a m a n dt h ec o n v e r s i o np r o c e s sa n dt h ef i n a lr e s u l tw e r e p r e s e n t e dd e t a i l e d l y f o u r t h ,t h ee q u i v a l e n c eo ft h es e to fb e h a v i o ro ft h ep n m l d e s c r i b e du m l a c t i v i t yd i a g r a m sa n da c t i v i t yd i a g r a m sw e r ep r o v e d k e y w o r d s :u m l ,a c t i v i t yd i a g r a m ,p n m l ,x m l i i u m l 活动图到p n m l 转换的研究与实现 图表目录 图2 1u m l 的结构和内容6 图2 2 对象和对象流8 图2 3p n m l 的结构1 3 图2 4p n m l 元模型1 4 图2 5p e t r i 网17 表2 1 元素的可选子元素15 表2 2p n m l 元模型转换为p n m l 元素1 6 图3 1u m l 活动图到p n m l 的转换思路2 0 图3 2 起始状态的转换2 1 图3 3 终止状态的转换2 2 图3 4 活动的转换2 2 图3 5 迁移的转换2 3 图3 6 对象和对象流的转换2 5 图3 7 同步的转换2 5 图3 。8 决策点状态的转换2 6 图3 9 销售方案处理过程的活动图描述2 7 图3 1 0 转换后的p e t r i 网模型2 8 图3 1 1 取得行为路径的算法流程图2 9 图4 1 系统的体系结构3 2 图4 2x m l 描述的u m l 活动图3 4 图4 3 程序流程图3 5 图4 4 程序中五个包之间的关系3 6 图4 5a c t i v i t y g r a p h j a v a 3 7 图4 6g r a p h j a v a 3 8 图4 7 遍历算法流程图3 9 图4 8 实验结果部分展示4 0 v 1 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。除了 文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人己经发表或撰写过的研 究成果,也不包含为获得内蒙古大学或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 学位论文作者签名: 日期: 指导教师签名: 日 滕j 扔 在学期间研究成果使用说明书 学位论文作者完全了解内蒙古大学有关保留和使用学位论文的规定,即:内蒙古大学研 究生在校攻读学位期间论文工作的知识产权单位属内蒙古大学。学校有权保留并向国家有关 部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文 的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。作者今 后使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若 用于发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 学位论文作者签名: 日期: 粒指导教师躲闺兰! 茎 氅 内蒙古大学硕士学位论文 1 1 论文研究背景 第一章引言 统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 是面向对象分析与设计( o o a & d ) 浪潮 的产物,它已经成为了o m g ( o b j e c tm a n a g e m e n tg r o u p ) 标准。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 u m l 组( p r e c i s eu m l g r o u p ) 。在国内从事u m l 形式化研究的机构也很多,对u m l 静态图的形式化主要是用o b j e c t - z 等静态描述语言实现的,而针对比较难形式化的动态图则主要是用项代数、进程代数和p e t r i 网等着重描述它们的代数语义或操作语义。 u m l 模型i 句p e t r i 网映射与转换方面的研究有:英国的p e t e rk i n g 和r o bp o o l e y 讨论了将 u m l 映射到随机p e t r i 网的方法 1 】,涉及到u m l 用例图,状态图,类图,协作图。美国的j o h n a n i ls a l d h a n a 和s o lm s h a t z 提出了通过u m l 状态图和协作图向对象p e t r i 网模型映射的方法 2 】。意大利的l u c i a n ob a r e s i 讨论了u m l 模型向对象p e t r i 网( o b j e c tp e t f in e t s ) 半自动的转换方 法 3 】。 目前对u m l 静态图的形式化工作开展的较好,但是对动态图的形式化工作主要存在以 下几个不足: 1 、大部分的u m l 动态图的分析工作是基于代数映射的代数方法。这种方法的不足之 处在于:与长期软件工程技术界编制程序的习惯相距太大;要求使用者有较好的抽象数学 训练;许多重要的程序概念和性质如并发进程,特别是活性,很难用此方法自然的表示; 实现的基础多要归结为函数式语言,其执行效率和表示能力均有一定的局限性。 u m l 活动图到p n m l 转换的研究与实现 2 、部分形式化工作是在p e t r i 网 4 的基础上进行的,但是他们对u m l 动态图的形式 化语义研究主要通过定义的形式给出,不易理解,也不易使用。 所以,如果可以找到一种从u m l 到p e t r i 网的过渡手段,以弥补p e t r i 网知识理论性强 难于掌握的缺点,发挥其在对模型进行分析和验证,以提高模型的正确性和可靠性方面的 优势,是一项非常有意义的工作。 1 2 论文目的和意义 为了迸一步完善u m l ,使其在更大的领域发挥作用,u m l 的形式化成为了当前软件工程 界研究的热点之一,尤其是对其动态模型形式化的研究。u m l 活动图 5 9 是五种为系统建立 的动态模型图之一。从本质上来说,活动图是一个流程图,描述了活动到活动的控制流。b 6 r g e r 等人用抽象状态机( a b s t r a c ts t a t em a c h i n e ,a s m ) 给出了活动图的形式化定义,解决了对u m l 模型不同解释间的语义模糊问题 1 0 。b o l t o n 等人用过程语言c s p 描述了活动图的形式语义, 并且验证系统的最终类描述与在开发过程中建立的活动图的一致性 1 1 。r o d r i g u e s 用有限状 态过程( f i n i t es t a t ep r o c e s s ,f s p ) 给出u m l 活动图的一个简单形式定义,对于给定的活动图 的规格说明,可以用l t s a 模型检验器检验与之等价的f s p 描述 1 2 。 p e t r i 网既是一种图形化建模工具,又是具有严格的语法语义定义的形式化方法,具备强 大的数学理论支持,不但能有效地对系统进行描述和建模,对系统的并发性、异步性和不确 定性也有很强的动态分析能力。因此,将活动图模型转换为p e t r i 网模型,有利于使用成熟的 p e t r i 网技术对模型进行分析和验证,提高模型的正确性和可靠性。 p e t r i n 标记语言( p e t r in e tm a r k u pl a n g u a g e ,p n m l ) 1 3 1 5 是一个基于x m l 的p e t r i 网的交 换格式。p n m l 可以定义一个p e t r i 网文件全面的结构。有多种不同类型的p e t r i 网,它可以通过 特定的p e t r i 网类型定义( p n t d ) 来定义不同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 网模型或者从其它p e t r i 网分析工具导入p e t r i 网模型是 p e t r i 网分析工具的一个重要特性。p n m l 是不同的p e t r i 网类型之间和不同的p e t r i 网工具 之间的文件格式标准。也就是说,p n m l 既可以描述不同类型的p e t r i 网,也可以使p e t r i 2 内蒙古大学硕士学位论文 网模型能够应用于不同的p e t r i 网分析工具。所以,论文的研究目的是把活动图转换为描述 p e t r i 网的p n m l 文件格式,作为今后利用p e t r i 网分析工具分析活动图正确性的基础。 1 3 论文的组织结构 第一章为概述,介绍论文的研究背景和意义,论文的研究重点以及篇章结构。 第二章介绍了软件工程、u m l 、p e t r i 网和p n m l 的基本概念;详细叙述了活动图的概 念、性质及用途;最后简单介绍了论文采用的u m l 建模工具r a t i o n a lr o s e 。 第三章主要研究活动图到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 n m l 的自动化工具的实现。其中包括工具的体系结构, 主要功能和实验结果等。 第五章对论文所做的工作进行了总结,并指明了进一步的研究方向。 3 u m l 活动图到p n m l 转换的研究与实现 第二章理论基础 本章介绍与论文相关的理论及技术,与研究论文和完成论文有着重要的关联,使读者可 以了解到论文的理论基础和实现时采用的技术路线。 2 1 软件工程的概念 f r i t zb a u e r 曾经为软件工程下了定义: “软件工程是为了经济地获得能够在实际机器上 有效运行的可靠软件而建立和使用的一系列完善的工程化原则。 1 9 8 3 年i e e e 给出的定义 为:“软件工程是开发、运行、维护和修复软件的系统方法” 1 6 。其中,“软件”的定义为: 计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。后来尽管 又有一些人提出了许多更为完善的定义,但主要思想都是强调在软件开发过程中需要应用工 程化原则的重要性。 软件工程包括三个要素:方法、工具和过程。 1 、软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目 计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、 测试以及维护等。 2 、软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了 许多软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程( c a s e ) 的软件开 发支撑系统。c a s e 将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合 起来形成一个软件工程环境。 3 、软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计 算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和 协调变化所需要的管理、及软件开发各个阶段完成的里程碑。 2 2 统一建模语言u m l 统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 是- - 种建模语言,是第三代用来为面 4 内蒙古大学硕士学位论文 向对象开发系统的产品进行说明、可视化和编制文档的方法。它使开发人员专注于建立产 品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被u m l 工具转化成指定的程序语言代码。u m l 融合了b o o c h 、o m t 和o o s e 方法中的基本概念, 并且这种建模语言得到了工业界的广泛支持,由o m g 组织采纳作为业界标准。 2 2 1u m l 的定义 u m l 1 7 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。 它的丰要作用是帮助用户对软件系统进行面向对象的描述和建模,它可以描述软件开发从 需求分析直到实现和测试的全过程。 2 2 2u m l 的组成 u m l 由视图( v i e w ) 、图( d i a g r a m ) 、模型元素( m o d e le l e m e n t ) 和通用机制( g e n e r a l m e c h a n i s m ) 等几部分组成。 图2 1 表示了u m l 的结构和内容。 视图( v i e w ) :是表达系统的某一方面特征的u m l 建模元素的子集,视图并不是图,它 是由一个或多个图组成的对系统某个角度的抽象。在建立一个系统模型时,通过定义多个 反映系统不同方面的视图,才能对系统做出完整、精确的描述。 i 蛩( d i a g r a m ) :是模型元素的图型表示,通常是出弧( 关系) 和顶点( 其他模型元素) 相互连 接构成的。u m l 通常提供9 种基本的图,把几种基本图结合起来就可以描述系统的所有视 图。 模型元素( m o d e le l e m e n t ) :代表对象中的类、对象、接口、消息和关系等概念。u m l 中的模型元素包括事物和事物之间的关系,事物之间的关系能够把事物联系在一起,组成 有意义的结构模型。 通用机$ 1 j ( g e n e r a lm e c h a n i s m ) 用于表示其他信息,比如注释、模型元素的语义等,另外 u m l 还提供扩展机s o ( e x t e n s i o nm e c h a n i s m ) ,使u m l 能够适应一个特殊的方法过程、组 织或用户。 5 u m l 活动图到p n m l 转换的研究与实现 图2 1u m l 的结构和内容 f i g u r e2 1t h es t r u c t u r ea n dc o n t e n to fu m l 2 2 3u m l 的建模工具r a t i o n a ir o s e 介绍 虽然u m l 被广泛地使用,但是u m l 标准仍没有完全统一。因此,现在使用的u m l 工具多达1 0 0 余种。其中使用最广的是r a t i o n a l 公司开发的r a t i o n a lr o s e 1 8 】,t e l e l o g i c 开 发的t a u 和b o r l a n d 公司的b o l d 等。本篇论文中活动图的建模采用的是r a t i o n a lr o s e2 0 0 3 。 r a t i o n a lr o s e 是一个完全的,具有能满足所有建模环境( w e b 开发,数据建模, v i s u a ls t u d i o 和c + + ) 需求能力和灵活性的一套解决方案。利用这个工具,可以建立用 u m l 描述的软件系统模型,而且可以自动生成和维护c + + 、j a v a 、v b 和o r a c l e 等语 言和系统代码。通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建 满足客户需求的可扩展的、灵活的并且可靠的应用系统。 r a t i o n a lr o s e 的特点:保证模型和代码高度一致;支持多种语言;为团队开发提供强 6 内蒙古大学硕士学1 1 :) :论文 有力的支持;支持模型的i n t e r n e t 发布;生成使用简单且定制灵活的文档;支持关系型数据 库的建模。 2 3 活动图( a c tiv it ydia g r a m ) 2 3 1 活动图的定义 活动图是状态机的一个变体,着重描述操作( 方法) 实现中所完成的工作以及用例实例 或对象中的活动。但与状态图的目的有一些小的差别,活动图的主要目的是描述动作( 执行 的工作和活动) 及对象状态改变的结果。当状态中的动作被执行( 不像正常的状态图,它不 需制定任何事件) 时,活动图中的状态( 成为动作状态) 直接转移到下一个阶段。并且能够描 述并行动作 1 9 。 2 3 2 活动图的应用 活动图的应用非常广泛。( 1 ) 它既可用来描述一个操作执行过程中( 操作实现的实例化) 所完成的工作( 动作) ,也可以描述用例和对象内部的工作过程;( 2 ) 显示如何执行一组相关的 动作,以及这些动作如何影响它们周围的对象;( 3 ) 显示用例的实例是如何执行动作以及如何 改变对象状态;( 4 ) 说明一次商务活动中的工人( 角色) 、工作流、组织和对象是如何工作的。 活动图依据对象状态的变化来捕获动作( 将要执行的工作或活动) 与动作的结果。图中一个活 动结束后将立即进入下一个活动。如果想显示跨越多用例或多线程的复杂行为,可考虑使用 活动图。另外,活动图也可用于描述工作流、业务流和开发过程等。 2 3 3 构成活动图的主要模型元素 1 、起始状态( s t a r t ) 和终止状态( f i n a l ) 在活动图中,起始状态显式地给出一个工作流的 起始点。但是只能有一个起始状态。终止状态表示活动的结束或者一个最终状态,即对象从 7 u m l 活动图到p n m l 转换的研究与实现 内存中删除之前所处的状态。活动图可以有0 个、1 个或者多个终止状态。 2 、活动( a c t i v i t y ) 和迁移( t r a n s i t i o n ) :活动表示一个工作流中“任务”或“职责”的执行, 也可以表示某个过程中一条语句的执行。一项操作可以描述为一系列相关的活动。活动仅有 一个起始点,但可以有多个结束点。活动间的迁移允许带有防卫表达式( g u a r d c o n d i t i o n ) 、发 :黼( s e n d c l a l l s 0 和行为表达式( a c t 沁n e x p r e s s i o n ) 。其语法为:一个活动可以顺序地跟在另 一个活动之后,这是简单的顺序关系。如果在活动图中使用一个菱形的决策点状态,则可以 表达条件关系,决策点状态可以有多个输入和输出迁移,但在活动的运作中仅触发其中的一 个输出迁移。活动图对表示并发行为也很有用。在活动图中,使用一个称为同步条的水平粗 线可以将一条迁移分为多个并发执行的分支,或将多个迁移台为一条迁移。此时,只有输入 的迁移全部有效,同步条才会触发迁移,进而执行后面的活动。 3 、泳道( s w i m l a n e ) :将活动图中的活动分组,每一组指明了谁( w h o ) 或者是什么( w h a t ) 对 执行活动或状态负责。泳道的两个重要特点:一指明了活动图中的活动主体:二转换可以跨 越不同的泳道。泳道用矩形框来表示,属于某个泳道的活动放在该矩形框内,将对象名放在 矩形框的顶部表示泳道中的活动由该对象负责。 4 、对象( o b j e c t ) 和对象流( o b j e c t f l o w ) :活动图中的对象不但可以表示活动之间的输入输 出关系还可以以多种状态出现。对象与活动问的输入输出关系由虚线箭头来表示。如果仅表 示对象受到某一活动的影响,则可用不带箭头的虚线来连接对象与活动。对象流是指将对象 状态作为输入或输出的控制流。在活动图中的对象流表示对象和一个活动的关系,对象可以 t u 建一个对象流( 作为输出) ,也可以使用对象流( 作为输入) 。用虚线箭头来表示对象流。 如何理解对象和对象流:一、对象可以以不同的状态出现多次:二、活动可以改变对象 的状态:三、对象通过对象流和活动相连。如图2 2 所示: 尸岂l 三竺= - 一 气靠而i f ( 三! 二 囤22 对象和对象流 f i g u r e2 2 0 b j e c ta n d o b j e c t f l o w 毫 齑 内蒙古大学硕十学位论文 2 4p e t ri 网 p e t r i 网是c a r la d a mp e t r i 博士在1 9 6 2 年提出的,它是一种形式化的建模方法。p e t r i 网作为一种图形工具,不仅可以用来模拟系统的动态行为和并发活动,作为一种数学工具, 它还可以建立状态方程、数学方程以及系统行为的其它数学模型对系统进行活性、可达性、 有界性、冲突、死锁等分析。分析方法有可达树方法、关联矩阵方法、不变量分析等 4 】。 随着研究的不断深入,p e t r i 网理论也在不断地充实和完善,其抽象和描述能力也不断 地朝着纵横两个方向发展。它的纵向扩展表现为:从基本的条件事件( c e ) 曝j ,库所变迁( p t ) 网,发展到谓词变迁网和着色网等高级网。 1 、基本p e t r i 网定义如下: 基本p e t r i 网是一种用于系统描述和分析的数学工具。p e t r i 网是由库所和变迁以及连接 库所和变迁的有向弧组成,系统的变化通过变迁的触发来实现。基本p e t r i 网的形式化定义 9 ,2 0 】如下: 定义1p e t r i 网元组p n = ( p ,t ,f ) : ( i ) p n t = 0 ( i i ) p ut a ( i i i ) fsp x t u t x p 其中p 为库所的有限集合;t 为变迁的有限集合; f p x tu t xp 0 为库所和变迁 间的弧的集合。 在基本p e l r i 网中,库所集p 反映着系统的状态,而变迁集t 反映着系统的变化过程。 在每个库所中我们用小黑点“,来表达库所状态,这个小黑点称为托肯( t o k e n ) 。t o k e n 在库 所中的分布表达了系统的状态,用m 来表示,称为标识,即m :p _ n ,这里n 为整数, 即n : o ,1 ,2 ,3 ) 。而系统的状态变化是通过变迁对库所中的t o k e n 的消耗来表达的。 2 、基本p e t r i 网的运行规则 之前给出了p e t r i 网的定义,只要再定义变迁发生的条件和后果,库所变迁系统的定义 就完整了。此系统的动态规律称为变迁规则。 定义2 六元组= ( p ,t ;f ,k ,w ,m ) 称为一个库所变迁系统,其中 ( 1 ) ( p ,t ;f ) 是一个网; u m l 活动图到p n m l 转换的研究与实现 k :p 一o ( “是自然数集合) 称为容量函数; w :f n o - 0 ) 称为权函数; m :p n o 是的一个标识,满足条件 v p p :m ( p ) k ( p ) ( 2 ) 满足下面变迁发生规则: 对t t ,m t 的条件为 v p t :m ( p ) w ( p ,t ) v p t t :m ( p ) + w ( t ,p ) k ( p ) v p + tnt :m ( p ) + w ( t ,p ) w ( p ,t ) k ( p ) 若m t m ,则v p p : m ( p ) = m ( p ) 一w ( p ,f ) 当s t - t m ( p ) + w ( t ,p )当p t - t m ( p ) 一w ( p ,t ) + w ( t ,p ) 当p tn t m ( p ) 当p ft o t 库所变迁系统是在p e t r i 网的基础上,对各库所加上容量限制并对各条弧赋予权值得到 的。由于容量函数和权函数的作用,在库所变迁系统中一个标识m 授权某些变迁t 发生, 不仪要求变迁t 的每个输入库所p 的标识数m ( p ) 不小于p 到t 的弧上的权w ( p ,t ) ,而且要 求变迁发生后t 的每个输出库所的容量不被突破。同样,一个变迁的发生使其前集和后集中 各库所托肯数的变化也要根据各库所同该变迁之间的连接弧的权值大小而定。 库所变迁系统的提出,是为了便于对某些实际系统构造网模型。对于一个库所变迁系 统,如果v p p :k ( p ) = o o ,v f f :w ( f ) = 1 ,那么这个库所变迁系统就是定义过的p e t r i 网。 2 5x m l 技术 本小节介绍了x 3 v l l 以及实现对x m l 文档解析的技术。 1 0 内蒙古大学硕士学位论文 2 5 1x m l 简介 l 、定义 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 2 1 、2 2 1 ,是一种描述型的标记语 言,定义了套语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。 它也是一种元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标 记语言的句法语言。 2 、x m l 文档结构 x m l 文档最多由序言( 可选) 、d t d ( 可选) 、x m l 模式文档本身、文档根( d o c u m e n tr 0 0 0 、 结尾( 可选) 几部分组成,它们在文档中也以这样的顺序出现。 3 、x m l 的特点 x m l 具有以下特点:( 1 ) 开放性;( 2 ) n - i 扩展性;( 3 ) 可交互性;( 4 ) 结构性;( 5 ) 简单性; ( 6 ) 自描述性。 2 5 2 用0 0 m 4 j 实现x m l 文档的解析 l 、) 3 v i l 解析器 解析器是一个软件应用程序,设计用于分析文档( 这里是指x m l 文件) ,以及做 一些特定于该信息的事情。x m l 解析器的两种基本a p i :1 、d o m ( 文档对象模型) ,二 种基于树结构的应用编程接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,简称a p i ) 。2 、 s a x ( x m l 简单应用编程接口) ,一种事件驱动的应用编程接口。 2 、d o m 4 j d o m 4 j 是一种解析x m l 文档的开放源代码x m l 框架,它应用于j a v a 平台,采 用了j a v a 集合框架并完全支持d o m ,s a x 和j a x p ,具有性能优异、功能强大和易于 使用的特点。 3 、选择j a v a 和x m l 结合的原因 j a v a 语言是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它 具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、 高性能、多线程、动态性等。j a v a 平台由j a v a 虚拟机( j a v av i r t u a lm a c h i n e ) 和j a v a 应 u m l 活动图到p n m l 转换的研究与实现 用编程接口构成。j a v a 应用编程接口为j a v a 应用提供了一个独立于操作系统的标准 接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个j a v a 平台之后, j a v a 应用程序就可运行。现在j a v a 平台已经嵌入了几乎所有的操作系统。这样j a v a 程序只编译一次,就可以在各种系统中运行。 j a v a 为编程提供了一种平台无关的语言,从而导致了一场编程世界的革命。x m l 是一 种公共结构,不需要创建和维护特别的接口,也为数据交换提供了一种平台无关的语言。 j a v a 和x m l 有许多相似的特性,比如平台无关性、可扩展性、可重用性和对u n i c o d e 的支 持。所以两者的结合自然而紧密。 2 6p n m l 的基本知识 人们迫切地需要能够利用计算机来辅助p c t r i 网建模和分析的工具。但是由于p e t r i 网 类型的多样化、各种p e t r i 网工具的多样化,以及在p e t r i 网工具中使用的p c t r i 网文件格 式的多样化,导致模型从一个工具导入到另一个工具很困难。这就促使了p e t r i 网交换格式 标准化的工作。p n m l 就是其中的方案之- - 2 3 2 6 1 ,它是一种基于x m l 的p e t r i 网文件交 换格式,其主要功能就是统一了不同p e t r i 网类型和p e t r i 网工具中使用的文件格式。 2 6 1p n m l 的设计理念 l 、灵活性:p n m l 能够表示各种不同的p c t r i 网。p n m l 把一个p e t r i 网看作一个加了 标签的图,所有存储在标签中的附加信息都可以在网、网的节点或者连接弧之上。 2 、兼容性:在不同类型的p e t r i 网间传递尽可能多的信息。p n m l 使用c o n v e n t i o n 来定 义一个具有特定含义的标签。在c o n v e n t i o n 文件中,所有的扩展其语法和含义都有预定义。 当定义一个新类型的p e t r i 网时,标签可以从c o n v e n t i o n 中进行选择。 3 、无二义性:p n m l 支持不同类型的p e t r i 网的定义,p n t d 定义了特定类型p e t r i 网 的合法标签。 4 、可读性:交换的格式应该易于阅读而且通过文本编辑器就可以方便地修改。 1 2 内蒙古大学硕士学位论文 2 6 2p n m l 的结构 p n m l 各个部分以及它们之间的关系如图2 3 所示。元模型( m e t am o d e l ) 定义了一个 p n m l 文件的基本结构;类型定义接1 2 1 ( t y p ed e f i n i t i o ni n t e r f a c e ) 和特性定义接1 2 1 ( f e a t u r e d e f i n i t i o ni n t e r f a c e ) 允许新类型和新特性的定义。这三部分是固定不变的。协议文档 ( c o n v e n t i o n sd o c u m e n t ) 包含了用特性定义接口定义的p e t r i 网的标准特性。而且,一些标 准p e t r i 网类型( s t a n d a r dp e t r in e tt y p e s ) 也使用协议文档中定义的特征。当新的特性和新的 p e t r i 网类型引起大家共同的关注时,可以将其加入到协议文档以及标准类型中去。 匡三三习区三三习 2 6 3p n m l 的元模型 图2 3p n m l 的结构 f i g u r e2 3t h es t r u c t u r eo fp n m l p n m l 元模型的类图表示如图2 4 所示。 1 3 川慨 f i l e s p 】帆 t ,l a e s f e a t u r e s p 】帆 t e c l m o l o g y u m l 活动图到p n m l 转换的研究与实现 图2 4p n m l 元模型 f i g u r e2 4p n m lc o r em o d e l l 、p e t r i 网类型定义 p e t r i 网类型定义( p e t r in e tt y p ed e f i n i t i o n ,p n t d ) 是一个符合x m l 语法的文档,给 特定p e t r i 网类型定义合法的标签。当需要新的特性或者新的p e t r i 网类型时,可以在协议 文档中定义新的特性,从p e t r i 网类型中提取出的一些基本格式加入p n t d ,相当于给出具 体p n m l 文件的一个框架,其中引用协议文档中定义的新特性。基于p n t d 就可以获得 描述的具体p n m l 文件。 2 、p e t r i 网和对象 一个符合p n m l 要求的文件就叫做p e t r i 网文件( p e t r in e tf i l 曲,它可能包含几个p e t r i 网。每一个p e t r i 网又包含对象,对象基本上表示了p e t r i 网的图结构。在p e t r i 网文件中的 每个对象都有唯一一个用于访问这个对象的标识( i d e n t i f i e r ) 。并且每个对象均配有标识其位 置,大小,颜色,形状和其他信息的图形信息。在基本的p n m l 中,对象可以是库所( p l a c e ) 、 变迁( t r a n s i t i o n ) 或者弧( a r c ) 。方便起见,库所或者变迁又统称为节点( n o d e ) 。 3 、标签( l a b e l ) 为了使对象能够承载更多的意义,每个对象都有标签。标签一般指节点的名字,库所的 初始标识,变迁的防卫条件,弧注释等等。另外,p e t r i 网本身及它的页( p a g e ) f 例有一些 1 4 内蒙古人学硕士学位论文 标签。合法的标签和合法的标签的组合通过p e t r i 网类型被定义。凡在p n m l 元模型中没有 定义x m l 元素均被认为是x m l 元素的标签。与标签对应的合法x m l 元素必须包含以下 两种元素中的一种: 元素代表标签的简单的文本值;而 元素可代表标签的 抽象语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全文件学习培训课件
- 废气工程处理方案(3篇)
- 房建工程拆除方案(3篇)
- 灯塔工程宣传方案范文(3篇)
- 农业无人机租赁平台运营管理优化方案研究
- 工程报修奖励方案模板(3篇)
- 电动雨棚工程承接方案(3篇)
- 安全教育岗前培训记录课件
- 农业供应链金融风险管理与创新模式研究报告
- 农业企业数字化种植人才需求与培养策略研究(2025年)
- 学校食堂食品定点采购制度
- 《楼梯的故事》话剧剧本
- 出口鸡肉采购合同模板
- 幼儿园大班数学《认识8》
- Starter知识点清单(含默写)2024-2025学年牛津上海版英语六年级上册
- 贵州人民版劳动五年级上册全册教案教学设计
- 《新媒体运营》全套教学课件
- 温室气体排放核算和核查实践理论考核试题
- 1安全生产关键节点清单及核查内容清单
- 2024-2029年中国金枪鱼行业市场发展分析及发展趋势与投资前景研究报告
- 燃气管道保护方案(雨污分流二标)
评论
0/150
提交评论