基于XML的Petri网信息读写器

更新时间:2024-03-11 作者:用户投稿原创标记本站原创 点赞:5265 浏览:18566

摘 要 :作为一种优秀的系统描述与分析的形式化工具,Petri网已经广泛应用于协议分析工程领域、人工智能以及软件工程、程序验证和柔性制造系统等各个领域.由于Petri网适合用来描述并发和分布式系统,就目前来说对Petri网的研究已经取得了较成熟的理论研究成果.同时在对Petri网研究的不断深入过程中,出现了多种Petri网类型、各种Petri网工具和Petri网的文件格式,因此不同Petri网工具之间信息交换功能成为一个急需解决的重要问题.

关 键 词 :Petri网;信息读写;数据交换

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)09-1878-02

1.项目研究背景

随着Web的广泛使用,人们需要一种标准化的、具备高度可扩展性、结构严谨的新语言,这就是XML.它的出现使得现有软件的协调交互、数据的交换和传输成为可能.如果利用XML来表示Petri网,我们可以将Petri网结构表示成为一个单独的XML格式文件,从而实现在不同的Petri网工具间实现导入与导出的功能.这时,如何从XML文件读取Petri结构信息或将Petri结构信息存储到XML文件就是一个最关键的技术问题了,这也是本课题的研究重点.

要从XML文件中读取和存储Petri网信息,对XML文档进行高效的解析是很一件很重要的事,特别是对于需要处理大量数据的应用程序.目前存在的解析器主要有2种:文档对象模型(DOM)和用于XML 的简单API(SAX).当应用程序需要不断地导航、修改文档或随机地一次访问整个文档时,可以优先考虑DOM解析.DOM将XML文档的内容实现为一个对象模型,能完全支持W3C 标准,使程序更容易访问XML文件.

本设计采用DOM来实现XML文件的Petri网信息读取和存储.DOM是一种基于树型的解析技术,它可以实现对整个XML文档全面的动态访问.在XML文本文件中使用DOM进行操作的时候的,DOM首先需要通过解析文件来把所有文件分解成为独立的元素、属性、注释等.在内存中以结点树的形式来创建XML文件表示.每一个结点表示一个可以与它交互的对象.这样开发人员通过结点树的形式来访问文档中的内容,根据需要进行文档修改.

2.Petri网基本原理

Petri网系统的主要特点来自外延公理,根据外延公理,一个变迁(事件)的发生完全由它的外延(前集和后集)决定,与系统全局状态无关.因而Petri网系统是异步并发的“自由王国”,没有主宰全局的控制,所以网系统的主要应用方向是分布式系统和并发处理.

2.1 Petri网的图形表示

Petri网的图形表示(The Graphical Representation for Petri Nets)

1)P元素(P-elements)的图形符号是圆圈;2)T元素(T-elements)的图形符号是矩形;3) 弧连接每个T元素和它的局部性;4) 另外,还有一些其它描述,如名字、标记(Tokens)、守卫函数(Guards Function)等.基本的Petri网图形如图1所示.

2.2 Petri网的代数表示

Petri网的代数表示(The Algebraic Representation for Petri Nets)

1) 对每个图形描述,都有一个包含等价信息的代数描述;2) 代数描述包括位置集、变迁集、弧集、以及其他描述信息.

2.3 Petri网技术分析

对Petri 网模型的分析技术有了长足进展,其中代表性技术表现在代数分析技术、图分析技术和归纳分析技术三个方面:

1)代数分析技术:在代数分析技术中,对一个网系统的结构给与刻划主要是以关联矩阵的形式,再通过建立状态可达的线性系统关系,这种分析途径的优点在于通过借助线性代数的有关结果,能够简洁的展现Petri网的性质,特别是在结构性质方面,但对动态性质的刻划作用方面相对有限,在对可达性的刻划方面仅仅作为一个必要条件,而不是充分条件.

2)图分析技术:在图分析技术中是通过一个有限的有向图(树)来表现出一个网系统的运行机制,例如可达图与可覆盖树,它类似于一个状态机,主要优点是能够准确的反映出一个网系统的动态行为特征,在有界网系统中能做出一个准确的刻划,并对应一个有限状态机,但是对于无界网却只能做出部分反映.


3) 归纳分析技术:针对Petri网的状态复杂性提出了归纳分析技术的使用,即便是在一个规模不大的系统,也有可能会出现状态组合爆炸的问题,考虑到对Petri网的简化,在保证性质不变的情况下来进行化简和分解的一系列操作.

3.Petri网的XML描述

3.1 Petri网定义

如下所示:库所用圆圈表示,转移用方框表示,弧用箭头表示,变迁与变迁之间,库所与库所之间不能用弧连接,不存在孤独结点.

3.2 Petri网的XML描述实例:

一个生产系统由5台机器和1台装配机组成,部件A须经机器1加工,部件B须经机器2加工.经机器2加工后,部件B还要送往机器3,或者机器4与机器5继续加工.当两个部件均加工完毕后,它们被送往装配机组装成产品. 检测设机器1加工部件A花费2~9 (单位时间,下同).机器2、3、4和5加工部件B分别花费1~3、5~7、1~2和4~5.装配机组装产品的开销为2~4.该系统的时间Petri网模型及位置变迁的说明如下面所示.

4.Petri网信息的读取

Petri网信息的读取过程是通过获得一个XML文件解析器来解析XML文件,把解析后的文件转化成DOM文档的过程.在Jdk1.4中,该步骤的目标是通过Document接口描述整个XML文件的文档树并提供对文档数据的访问.Document接口可以从类DocumentBuilder获取,DocumentBuilder类包含了从XML文档获得DOM文档实例的API.在DocumentBuilderFactory类中可以获取XML的解析器.

5.小结

本文主要是介绍了Petri网的基本概念和原理以及XML解析技术.在这基础上着重讲述了基于XML的Petri网信息读写器的实例.这次实现的功能:在XML文件中读取Petri网信息和将Petri网信息写入XML文件.使Petri网和XML文件进行很好的数据交换.

相关论文范文