当前位置: 首页 > 专利查询>任爱华专利>正文

基于面向对象Petri网的并发软件开发方法和系统技术方案

技术编号:3852353 阅读:286 留言:0更新日期:2012-04-11 18:40
本发明专利技术是有关于一种基于面向对象Petri网的并发软件开发方法和系统,该方法包括:对于待描述的并发系统,根据用户需求,创建OOPN模型系统;对已建立的OOPN模型系统进行死锁检测分析;对已建立的OOPN模型系统进行模型转化;对转化后的OOPN模型系统进行定制代码;对转化及定制后生成的OOPN模型系统代码进行编译及语法检测;以及对已建立的OOPN模型系统进行系统仿真。该系统包括建模模块、死锁检测模块、代码转换模块、编译模块、OOPN代码库以及仿真模块。本发明专利技术以图形方式描述并发系统的不同需求,可自动生成并发系统控制程序,降低开发成本。

【技术实现步骤摘要】

本专利技术涉及一种并发软件开发方法和系统,特别是涉及一种基于面向 对象Petri网(Object—Oriented Petri Nets,简称OOPN)的并发软件开发 方法和系统,可以用于一般性的并发系统建模与仿真,以生成并发程序。
技术介绍
当今,并行计算和处理已逐渐成为计算机技术发展的一个重要方向, 要实现并行计算,不仅需要并行的硬件,更重要的是要有相应的软件环境。 在诸多现实应用领域中,都需要进行并发软件的设计与开发。Petri网是迄今为止最好的并发模型之一。它可以清楚、简捷地表达并 发、并行、异步等性质,有图形化的表示,可以进行数学分析,且是可执 行的。使用Petri网描述并发系统不仅有可视化的优点,而且可以进行静 态的性质分析及动态的仿真检测。所以,将Petri网引入来辅助并发软件 的开发是一个极好的思路。然而,Petri网的主要缺点是复杂性问题,它对复杂系统的描述出现了 一系列问题,如建模时单个模型过大、状态爆炸等。面向对象的Petri网技 术,由于同时融合了传统Petri网技术的分析能力和面向对象技术的模块化 建模能力,因而有效地解决了之前出现的问题,获得了广泛的研究和应用。该专利技术提出一种基于Petri网并结合面向对象思想来进行并发系统设 计的开发方法,从而达到正确、方便、快捷地进行并发软件开发的目的。单从并发软件的编程方式上看,并发软件的开发可分为三类基于操 作系统提供的系统调用;基于程序设计语言;基于并行或并发虚拟环境。 这三种方法是逐层提高的,使得并发程序的开发向着容易的方向发展。然 而,使用当前的这些开发方法都4艮难开发高质量的软件,因为1. 编程困难如上的方法均需要程序员首先熟悉程序运行所处环境提供 的并发机制,通常是一些瑣碎的应遵循的原理或库方法的定义,如线程或 进程的定义、创建与启动及进一步地控制。其次,在使用所提供的机制时, 必须符合某些原则以避免由于并发性的存在造成某些问题,如由于对资源 的占有和申请处理不当而出现的死锁。2. 调试困难并发程序具有随机和不确定的性质,程序的某次执行出现 的问题很难使之重现。本来对顺序程序来说调试就非常麻烦,再加入多个 控制流,无疑是难上加难。由此可见,传统的并发程序开发方式无法使编程人员按照并发的特点 直观、自然地进行并发程序设计,反而更容易造成设计错误。因此,为了解 决这些问题需要在上述开发环境的基础上进一步完善,提出 一种更有效、更 可靠、更直观的方法,并提供相应的支持工具简化并行程序设计以及提供可靠的并发软件结构。作为一种描述能力很强的并发模型,Petri网模型无疑 是并发软件开发的一种极佳选择,而面向对象Petri网模型又在更高抽象层 次上简化了 Petri网模型,解决了 Petri网模型本身造成的状态爆炸问题。
技术实现思路
本专利技术的目的在于,克服现有的基于面向对象Petri网的并发软件开 发方法存在的缺陷,而提供一种新的基于面向对象Petri网的并发软件开 发方法和系统,所要解决的技术问题是使其以图形方式描述不同需求,自 动生成并发系统控制程序,可以降低开发成本。本专利技术的目的及解决其技术问题是采用以下技术方案来实现的。依据 本专利技术提出的一种基于面向对象Perti网的并发软件开发方法,其包括以 下步骤步骤l(h对于待描述的并发系统,根据用户需求,创建OOPN模型 系统;步骤20:对已建立的00PN ^^莫型系统进行死锁;险测分析;步骤30: 对已建立的OOPN模型系统进行;漠型转化;步骤40:对转化后的00PN ;^莫型 系统进行定制代码;步骤50:对转化及定制后生成的00PN模型系统代码进 行编译及语法才企测;以及步骤60:对已建立的OOPN模型系统进行系统仿真。本专利技术的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的基于面向对象Petri网的并发软件开发方法,其中所述的步骤 10还包括步骤101:确定组成该待描述的并发系统的各个对象的结构; 步骤102:构成该待描述的并发系统静态结构;以及步骤103:确定该待描 述的并发系统的初始标识。前述的基于面向对象Petri网的并发软件开发方法,其中所述的步骤 101进一步包括步骤1011:提取该待描述的并发系统对象类;以及步骤 1012:依次确定所述对象类的自身行为及与其它类的联系,并用消息队列 表示对象类的外部接口,将内部控制中的变迁与相应的消息队列相连;所 述的步骤102进一步包括步骤1021:确定类之间的通讯关系;以及步骤 1022:根据步骤1021中所述的类之间的通讯关系,使用门将类之间对应的 输入消息队列与输出消息队列相连;所述的步骤103进一步包括步骤1031: 确定构成该待描述的并发系统的各类的对象实例;步骤1032:确定该各类 的对象实例的初始状态;以及步骤1033:将代表所述对象实例的各个托肯放 入各自初始状态中。前述的基于面向对象Petri网的并发软件开发方法,其中所述的步骤20还包括步骤201:同步分析;步骤202:局部分析;以及步骤203:层 次抽象分析。前述的基于面向对象Petri网的并发软件开发方法,其中所述的步骤 30,是根据基于面向对象Petri网模型系统与高级程序设计语言之间的映 射关系,对应生成高级程序设计语言的代码,将基于面向对象Petri网模 型系统转化为基本的可运行的应用程序。前述的基于面向对象Petri网的并发软件开发方法,其中所述的待描 述的并发系统为电梯调度系统。本专利技术的目的及解决其技术问题还采用以下技术方案来实现。依据本 专利技术提出的一种基于面向对象Perti网的并发软件开发系统,其包括建 模模块801 ,用于根据面向对象Petri网的网规则建立待描述的并发系统的 OOPN模型系统;死锁检测模块802,是从该建模模块801获取该OOPN模型 系统,然后对该OOPN模型系统进行死锁检测分析;代码转换模块803,通 过该死锁检测模块802获取最终的用户建模信息,将该OOPN模型系统转化 成高级程序设计语言的代码;编i奪才莫块804,是从该代码转换模块803获取 所生成的高级程序设计语言代码,然后进行编译处理;OOPN代码库805, 是用于保存与管理该编译模块804所生成的高级程序设计语言代码仓库; 以及仿真模块806,用于对该OOPN代码库805中的该OOPN模型系统进行才莫 拟与仿真一险证。本专利技术的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的基于面向对象Petri网的并发软件开发系统,其中所述的建模 模块801包括图形建模和树形建模两种建模方式。建模具体操作包括模型 打开、模型关闭、模型编辑、模型保存、模型导入、模型导出及模型删除。前述的基于面向对象Petri网的并发软件开发系统,其中所述的仿真 模块806包括系统仿真运作和动态死锁检测。前述的基于面向对象Petri网的并发软件开发系统,其中所述的待描 述的并发系统为电梯调度系统。本专利技术与现有技术相比具有明显的优点和有益效果。借由上述技术方 案,本专利技术基于面向对象Petri网的并发软件开发方法和系统至少具有下 列优点及有益效果1、 本专利技术以面向对象的图形方式描述需求,自动生成控制程序,可以 降低开发成本,减少程序员的工作量,提高开发速度。2、 面向对象Pe本文档来自技高网
...

【技术保护点】
一种基于面向对象Perti网的并发软件开发方法,其特征在于其包括以下步骤: 步骤(10):对于待描述的并发系统,根据用户需求,创建OOPN模型系统; 步骤(20):对已建立的OOPN模型系统进行死锁检测分析; 步骤(30) :对已建立的OOPN模型系统进行模型转化; 步骤(40):对转化后的OOPN模型系统进行定制代码; 步骤(50):对转化及定制后生成的OOPN模型系统代码进行编译及语法检测;以及 步骤(60):对已建立的OOPN模型系统进 行系统仿真。

【技术特征摘要】

【专利技术属性】
技术研发人员:任爱华牛锦中丛佩政于秀宾原攀峰
申请(专利权)人:任爱华
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1