- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形式化方法[精选]
有穷状态机方法比数据流图技术更精确,而且和它一样易于理解。 缺点:在开发一个大系统时三元组(即状态、事件、谓词)的数量会迅速增长。此外,和数据流图方法一样,形式化的有穷状态机方法也没有处理定时需求。 Petri网 并发系统中遇到的一个主要问题是定时问题,如同步问题、竞争条件及死锁问题。 解决的有效技术是Petri网。 Petri网由Carl Adam Petri发明。 Petri网包含4种元素:一组位置P、一组转换T、输入函数I以及输出函数O。 下图举例说明Petri网的组成。其中, 一组位置P为{P1,P2,P3,P4},在图中用圆圈代表位置。一组转换T为{t1,t2},在图中用短直线表示转换。 图2 Petri网的组成 两个用于转换的输入函数,用由位置指向转换的箭头表示,它们是: I(t1)={P2,P4} I(t2)={P2} 两个用于转换的输出函数,用由转换指向位置的箭头表示,它们是: O(t1)={P1} O(t2)={P3,P3} 注意,输出函数O(t2)中有两个P3,是因为有两个箭头由t2指向P3。 图2 Petri网的组成 更形式化的Petri网结构是一个四元组C=(P,T,I,O)。其中, P={P1,……,Pn}是一个有穷位置集,n≥0。 T={t1,……,tm}是一个有穷转换集,m≥0,且T和P不相交。 I:T→P∞为输入函数,是由位置到转换的无序单位组(bags)的映射。 O:T→P∞为输出函数,是由转换到位置无序单位组的映射。 一个无序单位组或多重组是允许一个元素有多个实例的广义集。 Petri网的标记是在Petri网中令牌(token,权标)的分配。 例如,在图3中有4个令牌。上述标记可以用向量(1,2,0,1)表示。由于P2和P4中有令牌,因此t1启动(即被激发)。通常,当每个输入位置所拥有的令牌数大于或等于从该位置到转换的线数时,就允许转换。当t1被激发时,P2和P4上各有一个令牌被移出,而P1上则增加一个令牌。Petri网中令牌总数不是固定的,在这个例子中两个令牌被移出,而P1上只能增加一个令牌。 图3带标记的Petri网 在P2上有令牌,因此t2也可以被激发。当t2被激发时,P2上将移走一个令牌,而P3上新增加两个令牌。Petri网具有非确定性,也就是说,如果数个转换都达到了激发条件,则其中任意一个都可以被激发。 图3带标记的Petri网 图3所示Petri网的标记为(1,2,0,1),t1和t2都可以被激发。假设t1被激发了,则结果如图4所示,标记为(2,1,0,0)。 图3 图4 图4 图4中,只有t2可以被激发。如果t2也被激发了,则令牌从P2中移出,两个新令牌被放在P3上,结果如图5所示,标记为(2,0,2,0)。 图5 更形式化地说,Petri网C=(P,T,I,O)中的标记M,是由一组位置P到一组非负整数的映射: M:P→{0,1,2,……} 这样,带有标记的Petri网成为一个五元组(P,T,I,O,M)。 对Petri网的一个重要扩充是加入禁止线。禁止线是用一个小圆圈而不是用箭头标记的输入线。通常,当每个输入线上至少有一个令牌,而禁止线上没有令牌的时候,相应的转换才是允许的。P3上有一个令牌而P2上没有令牌,因此转换t1可以被激发。 图6 含禁止线的Petri网 应用实例(电梯问题) 当用Petri网表示电梯系统的规格说明时,每个楼层用一个位置Ff代表(1≤f≤m),在Petri网中电梯是用一个令牌代表的。在位置Ff上有令牌,表示在楼层f上有电梯。 1.电梯按钮 第一条约束C1:每部电梯有m个按钮,每层对应一个按钮。当按下一个按钮时该按钮指示灯亮,指示电梯移往相应的楼层。当电梯到达指定的楼层时,按钮将熄灭。 为了用Petri网表达电梯按钮的规格说明,在Petri网中还必须设置其他的位置。电梯中楼层f的按钮,在Petri网中用位置EBf表示(1≤f≤m)。在EBf上有一个令牌,就表示电梯内楼层f的按钮被按下了。 电梯按钮只有在第一次被按下时才会由暗变亮,以后再按它则只会被忽略。图7准确地描述了电梯按钮的行为规律。 图7 Petri网表示的电梯按钮 假设电梯由g层驶向f层,因为电梯在g层,位置Fg上有一个令牌。由于每条输入线上各有一个令牌,转换“电梯在运行”被激发,从而EBf和Fg上的令牌被移走,按钮EBf被关闭,在位置Ff上出现一个新令牌,即转换的激发使电梯由g层驶到f层。 图7 Petri网表示的电梯按钮 事实上,电梯由g层移到f层是需要时间的,为处理这个情况及其他类似的问题(例如,由于物理上的原因按钮被按下后不能
文档评论(0)