首页 > 范文大全 > 正文

随机Petri网性能计算软件体系结构研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇随机Petri网性能计算软件体系结构研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:以建立随机petri性能计算软件的软件体系结构为目的,采用面向对象的系统分析与设计方法,在对性能计算软件需求分析的基础上,设计了系统的总体结构,进而实现了系统各个模块的功能。提出由三个主要构件组成的性能计算软件体系结构:人机交互模块,主控模块,性能计算核心模块。做出该软件体系结构适用于基于基本建模理论性能计算软件的结论。

关键词:随机Petri网; 软件体系结构; 软件开发; 面向对象方法

中图分类号:TP311文献标识码:A

文章编号:1004-373X(2010)08-0051-03

Study on Performance Computing Software Architecture for Stochastic Petri Net

DING Jing, HAN Qiang

(School of Computer Science and Engineering, The North University for Ethnics,Yinchuan 750021, China)

Abstract:For the purpose of establishing software architecture with stochastic Petri net, the architecture of the system was designed to realize with the methods of object-oriented system analysis and design, functions of each module based onrequirement analysis of performance calculation softwares. The performance calculation software architecture composed of three modules: man-machine conversation module, master module and performance calculation module is proposed. The software architecture is suitable for the performance calculation software based on the basic modeling theory.

Keywords:stochastic Petri net; software architecture; software development; object-oriented method

0 引 言

Petri网是1962年由德国波恩大学的著名科学家Carl Adm Petri 在他的博士论文《用自动机通信》中首次提出来的,其目的是以它作为研究计算机系统中各组成部分之间的异步通信的数学模型。早期的Petri网没有引进时间概念(称之为基本Petri网),它主要用于系统逻辑行为的描述和逻辑性质的研究,即系统定性时态性质的研究\。20世纪80年代初,Molloy提出了随机Petri网(Stochatic Petri Nets,SPN),即在每个变迁的可实施与实施之间联系一个随机的延迟时间。SPN的可达图同构于一个连续时间齐次马尔科夫链,可用马尔科夫随机过程求解各标识稳定状态概率,即基础性能数据,并由基础性能数据计算各扩展性能数据,从而为基于SPN目标模型的性能分析工作奠定基础。同时,Petri网在软件测试、语义Web服务方面具有广泛的应用范围\。

一个软件系统被分成许多模块,模块之间有相互作用,组合起来有整体的属性,就具有了体系结构。在基于具有高复用性的构件和体系结构的软件开发方法下,程序开发模式也相应地发生了根本变化。软件开发不再是“算法+数据结构”,而是依托以软件构件/构架技术为核心的软件生产线\,将应用系统的软件开发过程变为“问题定义软件需求分析软件体系结构软件设计软件实现”,可认为软件体系结构架起了软件需求分析与软件设计之间的一座桥梁\。

1 软件体系结构总体设计

1.1 随机Petri网与软件体系结构的关系及定位

软件体系结构是设计抽象的进一步发展,能够更好地理解软件系统,方便地开发更大、更复杂的软件系统的需要。建立软件体系结构的目的是通过对主要任务的需求分析,建立该软件的逻辑模型,并依据逻辑模型采用某种软件开发方法将需求映射到相应的软件模块中,随着软件模块可复用性的提高,软件模块向可复用构件转化,同时建立模块/构件之间的接口,最终建立软件体系结构。

随机Petri网性能计算软件的体系结构研究是本文的主要任务,在建立该软件体系结构之前,必须确定清楚二者的关系及定位。随机Petri网定位于该软件如何建立系统模型的理论依据,因此相应数据结构必然以随机Petri网为准,软件体系结构定位于该软件采用何种体系架构组织安排上述任务。二者在软件过程中分别扮演问题域理论基础和解域结构基础的角色,二者相互配合在本文选择的解域理论基础――面向对象的分析设计及人机接口等方法和技术\9\〗、瀑布模型的过程指导下共同服务于该软件的分析与设计。

1.2 软件基本需求

根据软件总体任务的需求分析,该软件需要满足的需求可分为三部分:

(1) 实现随机Petri网模型的建立,该项需求进一步划分为模型的输入、修改、删除以及模型中各元素性能参数的录入。在具体表现形式上,采用图形化界面配套菜单及对话框选项等方式实现。

(2) 实现随机Petri网模型的计算,该项需求进一步划分为依据随机Petri网模型建立同构的马尔科夫方程、解马尔科夫方程、依据解获得基础性能数据、依据基础性能数据和结果集参数获得扩展性能数据。

(3) 实现随机Petri网模型性能的输出,该项需求进一步划分为性能输出结果集参数的输入、结果集的输出。在具体表现形式上,采用具有多个选项的对话框方式实现。

1.3 软件总体框架结构

根据上述需求分析,结合本文研究重点,初步建立起由三个模块共同组成的软件体系结构,即:

(1) 主控模块:该模块是软件运行的组织核心。它以循环方式运行,仅当用户选择退出菜单时结束软件整体的运行。在循环过程中,它负责协调其他模块负责随机Petri网模型的建立、计算和性能结果集的选项输入及结果输出。

(2) 人机交互模块:该模块是软件的界面。它以图形配合菜单及对话框以人机交互方式完成随机Petri网模型的建立;它以对话框方式完成性能输出结果集参数的录入和结果的输出。

(3) 性能计算核心模块:该模块是软件的实现关键。它以后台方式运行,依据随机Petri网理论公式,根据已建立的随机Petri网模型计算基础性能数据,依据基础性能数据和结果集的输入参数计算扩展性能数据。

通过上述分析,初步给出随机Petri网性能计算软件的软件体系结构是:人机交互模块-主控模块-性能计算模块,详见图1。考虑到该软件是以单用户方式、每次计算完成用户一次结果集输入参数的计算为主,将该软件设计为串行方式运行。

2 软件体系结构详细设计

2.1 主控模块详细设计

主控模块循环调用人机交互模块和性能计算模块,在图形化窗口中分别以图形方式显示最新的随机Petri网图,以结果集对话框方式显示基础性能数据和扩展性能数据。具体流程设计见图2。

图1 随机Petri网性能计算软件总体框架结构

2.2 接口设计

结合该软件总体任务和本文研究重点,考虑到今后向提高模块可复用性、软件体系结构抽象性和可复用性的方向发展,决定采用面向对象的开发方法对本文重点进行研究。根据面向对象开发方法的指导流程,应该按照抽象原则,构建软件体系结构中的模块和接口,而模块和接口均可以按照具体的需要以类的方式静态表示。

根据前节的软件基本需求,三个模块的功能已经规划完毕,重点是建立彼此之间的接口。理论上三个模块之间应该有三个接口,但是该软件由主控模块统一协调其余两个模块的运行,因此仅有两个接口,分别代表软件运行数据的输入和输出方向。具体是,输入方向:随机Petri网类、结果集参数类;输出方向:结果集基础性能参数类、结果集扩展性能参数类。

由于上述接口中除随机Peitri网类外,其他三个类均与结果集密切相关,因此在具体设计中将其合并到一个结果集类中集中反映,便于具体模块的设计。

根据上述分析,最终确定该软件三个模块的两个接口是:

(1) 随机Peitri网类

成员:库所数组、变迁数组、弧数组、图元半径;

操作:添加库所、添加变迁、添加弧、清除数组、删除库所、删除变迁、删除弧、绘画随机Petri网、选择库所/变迁/弧。

(2) 结果集类

成员:库所数、变迁数、可达标识数、可达标识矩阵、转移速率矩阵、稳定状态概率数组;

操作:建立马尔可夫链,解马尔可夫链、计算状态驻留时间、计算状态等待时间、计算库所标记概率密度函数。

上述接口在软件运行过程中的作用是:

(1) 输入方向

① 用户通过人机交互模块以图形化方式建立随机Peitri网模型,以随机Peitri网类为接口传递给主控模块;主控模块将随机Peitri网类传递给性能计算模块,交由其计算基础性能数据,写入结果集类。

② 用户通过人机交互模块输入结果集参数,以结果集类为接口传递给主控模块;主控模块将结果集类传递给性能计算模块,交由其根据随机Peitri网类和结果集类计算扩展性能数据,写入结果集类。

③ 输出方向:

性能计算模块将基础性能数据和扩展性能数据写入结果集类传递给主控模块,主控模块将其传递给人机交互模块,交由其以对话框方式展示\。

图2 主控模块流程设计

3 结 语

作为描述目标系统的基本理论和分析评价系统性能的重要手段之一,随机Petri网自提出以来,日益受到学术界和产业界的关注。通过分析设计随机Petri网性能软件,得出关于计算随机Petri网的通用软件体系结构模型。这里的重点是分析数据结构,建立软件体系结构,价值是对于以后的此类通用课题,建议尝试本文提出的三大构件组成的软件体系结构。

由于是理论性研究,尚缺乏通过实现来验证该体系结构的正确性、完备性和可扩展性等,以及如何更好地剥离随机Petri网性能计算的要素,提炼出更加抽象、更加通用的软件体系结构,是以后的研究方向。

参考文献

[1]ZUBEREK W M. Timed Petri nets definition[J]. Micro-electronic Reliability, 1991, 31(4): 627-644.

[2]林红昌, 胡觉亮, 丁佐华. 基于Petri网的软件测试用例的产生及分析[J]. 计算机工程与应用, 2009, 45(17): 57-60.

[3]赵娟. 基于Petri网的语义Web服务发现方法研究[J]. 现代电子技术,2009,32(19): 119-120.

[4]杨芙清. 软件工程技术发展思索[J]. 软件学报,2005, 16(1): 1-7.

[5]梅宏, 申峻嵘. 软件体系结构研究进展[J]. 软件学报, 2006, 17(6): 1257-1275.

[6]梅宏, 陈锋, 冯耀东, 等. ABC: 基于体系结构、面向构件的软件开发方法[J]. 软件学报, 2003, 14(4): 721-732.

[7]邵维忠, 杨芙清. 面向对象的系统设计[M]. 北京: 清华大学出版社, 2004.

[8]邵维忠, 刘昕. 可视化编程环境下人机界面的面向对象设计[J]. 软件学报, 2002, 13(8): 1494-1499.

[9]邵维忠, 杨芙清. 面向对象的系统分析[M]. 北京: 清华大学出版社, 2004.

[10]刘鸿, 林闯, 吴建平. 一种紧同步随机Petri网模型的性能分析方法[J]. 软件学报, 2003, 14(6): 1029-1036.