首页> 中国专利> 一种基于XML的Petri网运行方法及系统

一种基于XML的Petri网运行方法及系统

摘要

本发明公开了一种基于XML的Petri网运行方法及系统,该方法包括:获取Petri网的结构描述信息和基于XML描述的运行相关算法;利用结构描述信息和基于XML描述的运行相关算法,运行Petri网;其中,结构描述信息包括库所集信息、变迁集信息及流集信息。本发明中,Petri网的运行相关算法是预先使用XML进行描述的并且融入到Petri网的其它描述中,相较现有技术中引入用其它语言编写的算法,本发明有效提高了Petri网运行效率;同时,上述Petri网的结构描述信息中仅包含简单的基本结构信息,相较现有技术中PNML对Petri网的定义复杂且含有过多额外信息,本发明有利于提高Petri网的运行效率。

著录项

  • 公开/公告号CN105468845A

    专利类型发明专利

  • 公开/公告日2016-04-06

    原文格式PDF

  • 申请/专利权人 浪潮(北京)电子信息产业有限公司;

    申请/专利号CN201510824705.X

  • 发明设计人 亓开元;苏志远;

    申请日2015-11-24

  • 分类号G06F17/50;G06F17/22;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人罗满

  • 地址 100085 北京市海淀区上地信息路2号2-1号C栋1层

  • 入库时间 2023-12-18 15:24:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-07

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20151124

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明涉及分布式系统建模技术领域,特别是涉及一种基于XML 的Petri网运行方法及系统。

背景技术

目前,作为分布式系统的建模和分析工具,Petri网已经形成了一 套较为完善理论体系。传统的Petri网是基于图进行分析,比较直观, 易于人的理解。随着软件技术的日益发展,研究人员越来越希望借助 计算机来研究Petri网,更准确的说是希望借助一种Petri网工具来进 行建模、模拟和分析,而Petri建模工具的基础是计算机可理解的Petri 网定义。其中,XML(可扩展标记语言)作为当前广泛应用的标准的 结构化语言,是Petri网语义载体的理想方案。

现有技术中,Petri网描述语言(PetriNetMarkupLanguage,PNML) 是一个基于XML的Petri网的交换格式,可以通过文件形式定义一个 Petri网的结构,并且可以通过特定的Petri网类型定义(PetriNetType Definition,PNTD)来针对不同类型的Petri网定义不同的Petri网的 特定属性。

但是,由于PNML追求交换的标准化,使得其自身过于规范化, 首先,在Petri网运行过程中需要引入用其它(非XML)语言编写的 算法代码,影响了运行效率;其次,原本解析XML文件就是Petri建 模工具执行效率的瓶颈,而PNML对Petri网的定义复杂且含有过多 额外信息,这同样也影响了对Petri网XML文件的解析效率。

发明内容

有鉴于此,本发明提供了一种基于XML的Petri网运行方法及系 统,以克服现有技术中引入用其它语言编写的算法代码以及PNML对 Petri网的定义复杂且含有过多额外信息影响运行效率的缺点,进而提 高Petri网的运行效率。

为解决上述技术问题,本发明提供一种基于XML的Petri网运行 方法,包括:

获取Petri网的结构描述信息;

获取基于XML描述的运行相关算法;

利用所述结构描述信息和所述基于XML描述的运行相关算法, 运行所述Petri网;

其中,所述结构描述信息包括库所集信息、变迁集信息以及流集 信息。

上述方法中,优选的,在所述利用所述结构描述信息和所述基于 XML描述的运行相关算法,运行所述Petri网过程中,还包括:

调用基于XML描述的状态监控进程,对所述库所集、所述变迁 集和所述流集的运行状态进行监控;

其中,所述监控进程包括库所集监控进程、变迁集监控进程以及 流集监控进程。

上述方法中,优选的,在所述调用基于XML描述的状态监控进 程,对所述库所集、所述变迁集和所述流集的运行状态进行监控之后, 还包括:

分别保存监控到的所述库所集、所述变迁集和所述流集的运行状 态。

上述方法中,优选的,在所述利用所述结构描述信息和所述基于 XML描述的运行相关算法,运行所述Petri网的过程中,还包括:

利用基于XML描述的可覆盖性图对所述Petri网的状态变化和变 迁发生序列情况进行分析;

其中,所述可覆盖性图包括标识向量和可达弧。

上述方法中,优选的,所述运行相关算法包括前集基本量算法、 后集基本量算法及基于迁移规则的Petri网运行算法。

本发明还提供了一种基于XML的Petri网运行系统,包括:

第一获取单元,用于获取Petri网的结构描述信息;

第二获取单元,用于获取基于XML描述的运行相关算法;

运行单元,用于利用所述结构描述信息和所述基于XML描述的 运行相关算法,运行所述Petri网;

其中,所述结构描述信息包括库所集信息、变迁集信息以及流集 信息。

上述系统中,优选的,还包括:

监控单元,用于在所述利用所述结构描述信息和所述基于XML 描述的运行相关算法,运行所述Petri网过程中,调用基于XML描述 的状态监控进程,对所述库所集、所述变迁集和所述流集的运行状态 进行监控;

其中,所述监控进程包括库所集监控进程、变迁集监控进程以及 流集监控进程。

上述系统中,优选的,还包括:

存储单元,用于在所述调用基于XML描述的状态监控进程,对 所述库所集、所述变迁集和所述流集的运行状态进行监控之后,分别 保存监控到的所述库所集、所述变迁集和所述流集的运行状态。

上述系统中,优选的,还包括:

分析单元,用于在所述利用所述结构描述信息和所述基于XML 描述的运行相关算法,运行所述Petri网的过程中,利用基于XML描 述的可覆盖性图对所述Petri网的状态变化和变迁发生序列情况进行 分析;

其中,所述可覆盖性图包括标识向量和可达弧。

上述系统中,优选的,所述运行相关算法包括前集基本量算法、 后集基本量算法及基于迁移规则的Petri网运行算法。

以上本发明提供的一种基于XML的Petri网运行方法及系统中, 先获取Petri网的结构描述信息和基于XML描述的运行相关算法,然 后利用获取到的结构描述信息和基于XML描述的运行相关算法,运 行Petri网。本发明中,Petri网的运行相关算法是预先使用XML进行 描述好的并且融入到Petri网的其它描述中,相较现有技术中引入用其 它(非XML)语言编写的算法代码,本发明有效提高了Petri网运行 效率;同时,上述Petri网的结构描述信息中仅包含简单的基本结构信 息(库所集信息、变迁集信息以及流集信息),相较现有技术中PNML 对Petri网的定义复杂且含有过多额外信息,本发明有利于提高Petri 网的运行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通 技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附 图获得其他的附图。

图1为本发明实施例提供的一种基于XML的Petri网运行方法的 流程图;

图2为本发明实施例提供的一个简单的Petri网∑1的结构示意图;

图3为本发明实施例提供的一个Petri网∑1的进程的示意图;

图4为本发明实施例提供的一种Petri网∑1的可覆盖性图的示意 图;

图5为本发明实施例提供的一种基于XML的Petri网运行系统的 结构框图示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

本发明的核心是提供一种基于XML的Petri网运行方法及系统, 以克服现有技术中引入用其它语言编写的算法代码以及PNML对 Petri网的定义复杂且含有过多额外信息影响运行效率的缺点,进而提 高Petri网的运行效率。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图 和具体实施方式对本发明作进一步的详细说明。

参考图1,图1示出了本发明实施例提供的一种基于XML的Petri 网运行方法的流程图,该方法具体可以包括如下步骤:

步骤S100、获取Petri网的结构描述信息。

其中,结构描述信息包括库所集信息、变迁集信息以及流集信息。

上述Petri网的结构描述信息中仅包含简单的基本结构信息,相较 现有技术中PNML对Petri网的定义复杂且含有过多额外信息,本发 明有利于提高Petri网的运行效率。

在现有技术中,PNML对Petri网的定义复杂且含有过多额外信息 具体体现在:1)定义复杂。PNML中涉及了诸多概念和技术,如PNTD、 元模型和Convention等,给Petri网建模人员学习带来了很多麻烦;2) 含有过多额外信息。PNML中定义的网不仅含有Petri网信息,还含有 一些额外信息,比如图形信息和工具信息等,这些是建模人员所不关 心的。可以理解的是,实际上,本发明所提供的是一种轻量级的基于 XML的Petri网运行方法(Light-weightPetrinetMarkupLanguage, LPML),LPML注重Petri网的概念,只包含了最基本的结构信息,没 有添加其它额外的信息。

在实际应用中,LMPL定义了对原型Petri网的描述,原型Petri 因为结构简单,很适合对Petri网进行分析。以下示出了一种原型Petri 网的描述代码,以BNF文法表示:

net::=<netid="ncname">

places

transitions

flows

</net>

places::=<places>s*</places>

transition::=<transitions>t*</transitions>

flow::=<flows>f*</flows>

s::=<sid="ncname">

name

making

</s>

t::=<tid="ncname">

name

</t>

f::=<fid="ncname">

source

target

</f>

其中,一个网(net)是由库所集(places)、变迁集(transitions) 和流集(flows)组成的(因为XML文档在解析时是树型的数据结构, 所以在下文各种算法中分别称为places子树、transitions子树和flows 子树)。具体地,库所集由库所(s)组成,变迁集由变迁(t)组成, 流集由流关系(f)组成。进一步地,对于每个库所,描述其名称(name) 和标示(making),对于流关系,描述其源(source)和目标(target)。 图2示出了一个简单的Petri网∑1,以下示出了图2中∑1的一种LPML 描述代码:

这里需要说明的是,以上Petri网∑1及其LPML描述代码是为了方 便本领域技术人员理解本发明提供的技术方案而举的具体例子,本发 明在此不对其作出严格的限定,本领域技术人员可根据实际情况进行 实施。以下的具体例子类似。

步骤S101、获取基于XML描述的运行相关算法。

其中,上述运行相关算法包括前集·x基本量算法、后集x·基本量 算法及基于迁移规则的Petri网运行算法。

Petri网已经形成了较为完善的分析理论,在各种分析方法中,常 用到几种基本量,如前集·x、后集x·和关联矩阵等。下面给出基于LPML 的上述基本量的算法,这些算法可以封装成API提供给用户使用。

算法1·x求解算法

1)对于库所(变迁)x,初始化

2)遍历flows子树的每个f元素,若f元素的target为x,则将 f的source加入·x。

算法2x·求解算法

1)对于库所(变迁)x,初始化

2)遍历flows子树的每个f元素,若f元素的source为x,则将 f的target加入x·

算法3LPML的运行算法

上面给出了原型Petri网的LPML描述方法,由原型Petri网的变 迁发生规则,可以得到基于LPML的Petri网运行算法。

1)对于变迁t,利用算法1和算法2求得t··t;

2)在places子树中遍历·t中的每个库所,若每个库所的making 大于1,则t可发生,

3)变迁t发生后,对places中的每个s,若s∈t·-·t,则s的marking 加1,若s∈·t-t·,则s的marking减1,其他情况s的marking不变,网 系统的标识M变化为标识M'。

步骤S102、利用结构描述信息和基于XML描述的运行相关算法, 运行Petri网。

本发明中,上述Petri网的结构描述信息中仅包含简单的基本结构 信息,相较现有技术中PNML对Petri网的定义复杂且含有过多额外 信息,本发明有利于提高Petri网的运行效率。在此基础上,本发明中, Petri网的运行相关算法是预先使用XML进行描述好的并且融入到 Petri网的其它描述中,相较现有技术中引入用其它(非XML)语言 编写的算法代码,本发明进一步提高了Petri网运行效率。

在现有技术中,由于PNML无法描述Petri网的运行状态导致在 Petri网的运行过程中无法了解Petri网的运行状态,针对该问题,在 本发明另一实施例中,基于上述本发明实施例所公开的技术方案,在 利用结构描述信息和基于XML描述的运行相关算法,运行Petri网过 程中,还包括:

调用基于XML描述的状态监控进程,对库所集、变迁集和流集 的运行状态进行监控;

其中,监控进程包括库所集监控进程、变迁集监控进程以及流集 监控进程。

进一步地,在对库所集、变迁集和流集的运行状态进行监控时, 分别保存监控到的库所集、变迁集和流集的运行状态。

在实际应用中,Petri网进程可以描述系统的运行状况,LPML中 定义了Petri网进程描述方法,以下示出了一种Petri网进程描述代码:

process::=<processnet="ncname"id="ncname">

b*

e*

c*

</process>

b::=<bs="ncname"id="ncname">

name

</b>

e::=<et="ncname"id="ncname">

name

</e>

c::=<cid="ncname">

source

target

</c>

其中,Petri网进程由b、e和c三个集合组成,分别是Petri网s、 t和f的映射。利用进程描述可以保存Petri网的不同运行状态。图3 示出了一个Petri网∑1的进程,以下为∑1进程的LPML描述代码:

<processnet="000"id="012">

<bs="001"id="013">

<name>b1</name>

</b>

<bs="003"id="014">

<name>b2</name>

</b>

<bs="001"id="015">

<name>b3</name>

</b>

<et="002"id="016">

<name>e1</name>

</e>

<et="004"id="017">

<name>e2</name>

</e>

<cid="018">

<source>013</source>

<target>016</target>

</c>

<cid="019">

<source>016</source>

<target>014</target>

</c>

<cid="020">

<source>014</source>

<target>017</target>

</c>

<cid="021">

<source>017</source>

<target>015</target>

</c>

</process>

LPML作为一种分布式系统建模分析方法,可以方便的定义Petri 网的结构,保存Petri网的运行状况和对Petri网进行分析。同时,LPML 在设计时注重对Petri网的描述,没有引入非Petri网元素,使得描述 文件便于保存,传输和解析。

基于上述本发明各实施例所公开的技术方案,在本发明再一实施 例中,在利用结构描述信息和基于XML描述的运行相关算法,运行 Petri网的过程中,还包括:

利用基于XML描述的可覆盖性图对Petri网的状态变化和变迁发 生序列情况进行分析;

其中,可覆盖性图包括标识向量和可达弧。

在现有技术中,可达标示图是分析有界Petri网性质的重要工具, 但对于无界Petri网,则不能画出其可达标示图,于是就有了可覆盖性 树(图)的概念。虽然可覆盖性图由于无界量符号ω的引进而引起信 息丢失,但仍可以分析Petri网的状态变化和变迁发生序列情况,所以 在LPML中,定义了可覆盖性描述方法。以下给出了可覆盖性图描述 代码:

CG::=<CGnet="ncname"id="ncname">

makingVector*

reachableArc*

</CG>

makingVector::=<makingVectorid="ncname">

value

</makingVectors>

reachableArc:=<reachableArc>

label

soruceMakingVector

targetMakingVector

</reachableArc>

其中,一个可覆盖性图由标识向量(makingVector)和可达弧 (reachableArc)组成,表示向量是一个以逗号分割的字符串,如 “1,2,3”,其中的分量可用ω表示无界量。可达弧由发生变迁作为标签 (label),由sourceMakingVector描述源标识向量,由 targetMakingVector描述目的标识向量。图4示出了Petri网∑1的可覆 盖性图,以下是Petri网∑1的可覆盖性图的LPML描述代码:

基于上述本发明实施例提供的基于XML的Petri网运行方法,本 发明实施例还提供了一种基于XML的Petri网运行系统,参考图5, 该系统500可以包括如下内容:

第一获取单元501,用于获取Petri网的结构描述信息;

第二获取单元502,用于获取基于XML描述的运行相关算法;

运行单元503,用于利用结构描述信息和基于XML描述的运行相 关算法,运行Petri网;

其中,结构描述信息包括库所集信息、变迁集信息以及流集信息。

上述系统500还可以包括:监控单元,用于在利用结构描述信息 和基于XML描述的运行相关算法,运行Petri网过程中,调用基于 XML描述的状态监控进程,对库所集、变迁集和流集的运行状态进行 监控;

其中,监控进程包括库所集监控进程、变迁集监控进程以及流集 监控进程。

上述系统500还可以包括:存储单元,用于在调用基于XML描 述的状态监控进程,对库所集、变迁集和流集的运行状态进行监控之 后,分别保存监控到的库所集、变迁集和流集的运行状态。

上述系统500还可以包括:分析单元,用于在利用结构描述信息 和基于XML描述的运行相关算法,运行Petri网的过程中,利用基于 XML描述的可覆盖性图对Petri网的状态变化和变迁发生序列情况进 行分析;

其中,可覆盖性图包括标识向量和可达弧。

上述系统500中,运行相关算法包括前集基本量算法、后集基本 量算法及基于迁移规则的Petri网运行算法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描 述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施 例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于 其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法 实施例的部分说明即可。

以上对本发明所提供的一种基于XML的Petri网运行方法及系统 进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式 进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其 核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱 离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些 改进和修饰也落入本发明权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号