《实验一 Petri网建模工具的使用.doc》由会员分享,可在线阅读,更多相关《实验一 Petri网建模工具的使用.doc(8页珍藏版)》请在三一办公上搜索。
1、实验一 Petri网建模工具的使用一 实验目的和要求1)了解Petri网的特点。2)通过上机实践,了解PetriLab的使用,并借助该工具,对网上购物系统进行建模。二 实验内容与步骤1、Petri网的描述Petri 网是描述具有分布、并发、异步特征的离散事件动态系统的有效工具。作为一种图示和数学融合的模型工具,Petri 网有两个显著的特点。首先,作为一种图示组合模型,具有直观、易懂和易用的优点,它能形象化地描述和分析系统的资源并发、同步(或异步)、并行、冲突分布等行为特征。其次,Petri 网又有严格而准确的数学描述,可以借助数学工具得到 Petri 网的分析方法和技术,可以对 Petri
2、网进行静态的结构分析和动态的行为分析,能与随机过程论、信息论结合在一起描述和分析系统的不确定性或随机性。Petri 网是由节点和有向弧组成的一种有向图。它有两类节点,一类称为库所(Place),另一类称为变迁(Transition),两类元素之间的连接用有向弧表示。Petri 网中另一重要元素是令牌(token),代表系统的条件、资源、状态等。令牌在库所中的分布称为标识,用来描述网系统的状态,其中网的初始标识记为M0 。2、一个网上购物的例子用户小王(买方)正和一个网上商店服务器(卖方)通信以购买商品。为此小王需要发送她的信用卡细节给公共服务器(她已认证并确信和她通信的不是入侵者)。小王除了想
3、确保她的信用卡细节在传输中不被偷看外(用加密实现),还希望确保交易细节在到达服务器前不受任何改变。商店服务器需要使小王以后不能否认已完成的购买,并且需要小王已授权服务器支取她的信用卡帐目。为此,可用数字签名:既为小王提供数据完整性,又为网上商店服务器提供不可否认功能。小王可用私钥为消息产生和添加数字签名,当网上商店服务器接收到该消息后,它用小王的公钥检查数字签名,验证它是否与消息内容匹配。若是,则消息一定是小王发出的,因为只有小王知道其私钥,这样就提供了不可否认。检查数字签名是否匹配消息也保证了消息的完整性。那么,服务器就可以记录消息确实是由小王发出的了。网上购物系统中主要包括买方和卖方,实际
4、应用中还应该考虑有银行系统,或其他货币系统,因为买方和卖方都可能要通过银行转帐或其他方式付款或收款,为简化讨论,我们不考虑这些细节,只考虑买方和卖方的行为安全性。图1顾客订单处理过程 Petri网模型图1给出了网上购物系统中客户小王的订单处理过程 Petri网模型。其中P11:表示小王准备填写订单;P12:表示填写好的订单;P13:表示小王的私钥;P14:表示签名后的订单;P15:表示订单发送等待返回信息;P16:表示接收到的返回信息;MP11:表示客户发送的订单信息;MP12:表示客户接收到的服务器的返回信息;T11:表示小王填写订单;T12:表示小王用自己的私钥对订单进行数字签名;T13:
5、表示向卖方发送签名后的订单;T14:表示小王接收被卖方拒绝的订单;T15:表示接收来自卖方的订单确认信息;初始标识 M0(P11)=1,M0(P13)=1;图2给出了网上购物系统中卖方的订单处理过程 Petri网模型。其中图2服务器对订单的处理过程Petri网模型P21:表示服务器准备接收客户的订单;P22:表示接收到的加密后的订单;P23:表示小王的公钥;P24:表示解密后的订单;P25:表示准备发送给客户的返回信息;P26:表示完成发送返回信息;MP21:表示接收客户订单信息;MP22:表示发送服务器向客户的返回信息;T21:表示接收小王的订单;T22:表示卖方用小王的公钥对订单进行解密;
6、T23:表示卖方检查小王订单的合法性;T24:表示卖方向小王发送订单被拒绝的信息;T25:表示卖方向小王发送订单确认信息;初始标识 M0(P21)=1,M0(P23)=1;3、仿真软件简介PetriLab:本软件以Petri网基本理论为基础,用面向对象的思想,将库所、变迁和连接弧对象的“对象模型”和软件系统模型有机结合在一起,使用软件工程的方法,在Windows平台上实现了一个有着MDI图形操作界面的软件原型。该原型系统整合了模型输入和动态演示功能,使用它,用户可以很方便的输入一个PN模型,并可以对它进行编辑、修改、存盘;借助它的动态演示(仿真)功能,用户可以很容易地、直观地分析一个PN模型。
7、本软件原型能够将一个PN模型的实际运行情况正确并且高效的演示出来,效果非常好。软件界面如图3所示,功能介绍如图4所示:借助于PetriLab工具可以对 Petri网模型进行很好的分析 ,还可以对模型进行仿真 ,在研究模型的过程中仿真是有效的检测方式 ,可以看到数据的流动过程。图3 PetriLab界面图4 PetriLab功能介绍4、仿真模型建立由于工作流过程的复杂性,对于过程描述,建立可读性强,又可以被计算机接受的模型变得尤为重要。Petri 网兼顾了严格语义与图形语言两个方面,既有图形化表达的形式语义,也有严格的数学定义和精确的语法、语义定义,表达方式比较直观易懂,为分析提供有效的图形工具
8、。因此它被认为是最有前途的工作流建模方法。Petri 网具有基于状态的建模方法,具有更丰富的表达能力,非常适合描述离散的动态模型。一个包含执行状态的工作流就是一个离散的动态模型,因为任务执行的时间点就构成了一个离散集合。Petri 网可以明确定义模型元素的状态,其执行过程也是受状态驱动的。这种基于状态的过程定义可以严格区分活动的使能和活动的执行;而且可以明确区分不同的状态,具有更丰富的表达能力。输入一个模型通常包含下面几个操作:输入库所或变迁对象。建立连接弧。移动库所或变迁位置。设置连接弧的拐点。设置对象的属性。图5为客户对象建模,图6为服务器对象建模:图5客户对象建模图6服务器对象建模5、仿
9、真测试试验Petri 网不仅拥有规范而明确的语义定义与丰富的分析技术,而且基于 Petri 网理论建立起来的工作流模型是一个可执行模型,这使得我们能够分析、证明、评价和模拟一个业务过程。另外基于 Petri 网的工作流模型易于动态地修改工作流的执行结构,提高工作流管理系统的灵活性。正因如此,越来越多的人倾向于用 Petri 网来描述工作流的形式化模型。在设置好模型(对象)的相关参数后,点击“单步仿真”按钮就可以进行单步仿真;点击“完全仿真”按钮,模型就会一直运行下去。仿真的结果是动态的,不是文字能够描述出来的。图7为客户对象模型的运行,图8为服务器对象模型的运行:图7客户对象模型运行图8服务器对象模型运行6、仿真结果分析通过以上仿真试验,不管是单步运行还是整体运行,都可得出如下结论:(1) 从初始标志 M0 开始 , 总能达到终止标志M6 ,模型具有可达性;(2) 可达图的任何节点中都没有大于1的数出现 , 从而得出该模型是有界的和安全的;(3) 可达图中不存在死锁,所以该模型具有活性;