勘测时间Petri网中影响死锁的变迁的方法及装置
- 国知局
- 2024-10-15 09:39:27
本发明属于计算机,具体涉及一种勘测时间petri网中影响死锁的变迁的方法及装置。
背景技术:
1、在资源分配系统的设计和分析中,死锁问题一直是一个重要的研究课题。死锁是指在多任务环境中,由于资源分配不当或进程运行顺序不合理,导致一组进程都在等待其他进程释放资源而无法继续执行的现象。传统petri网作为一种强大的图形和数学建模工具,广泛应用于并发系统的行为分析,包括死锁的检测和预防。然而,传统petri网模型通常忽略了时间因素。实际上在许多应用场景中,如计算机网络、分布式系统和工业自动化等,时间特性对于系统行为的影响至关重要。
2、时间petri网作为传统petri网的扩展,通过引入时间概念,能够更准确地描述和分析系统的动态行为。在时间petri网中,变迁的触发不仅取决于系统的当前状态,还受限于时间约束。这使得时间petri网能够更细致地捕捉到系统状态变化的时序特性,从而为死锁分析提供了新的视角。尽管时间petri网在理论上能够提供更丰富的分析能力,但其复杂性也显著增加。特别是当系统规模增大或存在大量并发操作时,应用传统的时间petri网分析方法可能导致系统状态空间爆炸,使得死锁分析变得非常困难。此外,时间因素的引入增加了模型分析的复杂度,传统的分析方法难以适应时间petri网模型的需求。
3、目前对于时间petri网中的死锁分析主要采用的是基于符号状态类图和修正状态类图的分析方法。不过即使对于有界的时间petri网,其对应的时间petri的符号状态类图以及修正状态类图也有可能是无界的。对于无界的状态类图和修正状态类图,无法勘测其变迁上的时间因素对状态空间的影响。
4、此外,现有的对于时间petri网的死锁预防采用的是结构死锁的预防方法,比如通过添加库所、变迁等控制器,并没有勘测时间因素对死锁产生的影响。并且添加一个库所控制器,就相当于为整个系统增加了一个机械手或机床设备,其成本很高。
5、因此,如何提供一种高效且实用的勘测时间petri网中影响死锁的变迁的方法成为了一个亟待解决的问题。
技术实现思路
1、为了解决现有技术中所存在的上述问题,本发明提供了一种勘测时间petri网中影响死锁的变迁的方法及装置。
2、本发明要解决的技术问题通过以下技术方案实现:
3、第一方面,本发明提供了一种勘测时间petri网中影响死锁的变迁的方法,所述方法包括:
4、构造资源分配系统的时间petri网模型;
5、基于所述时间petri网模型构造全局可达图;所述全局可达图中的节点表示标记;所述标记用于表示所述资源分配系统的状态;所述全局可达图中的边表示状态间发射的使能变迁;
6、确定所述全局可达图中的多个危险标记和每个危险标记下的使能变迁集;所述危险标记用于表示所述资源分配系统处于危险状态;
7、针对每个危险标记,在所述全局可达图中进行两类路径搜索,得到该危险标记对应的多条第一类路径和多条第二类路径;所述第一类路径满足:该路径对应的危险标记下至少存在一个使能变迁在完整路径中保持持续使能;所述完整路径为该路径中的起始标记到该路径对应的危险标记的路径;所述第二类路径满足:该路径中的起始标记到该路径对应的危险标记中所有的边所表示的变迁均为持续使能变迁;
8、针对每个危险标记,根据该危险标记对应的多条第一类路径和多条第二类路径构建该危险标记对应的局部可达图;
9、基于每个局部可达图中的每一类路径,确定该类路径中各路径之间的一组包含关系;
10、基于所确定的各组包含关系确定出影响所述资源分配系统死锁的变迁集合。
11、可选的,针对每个危险标记,根据该危险标记对应的多条第一类路径和多条第二类路径构建该危险标记对应的局部可达图,包括:
12、将危险标记mfbm作为初始的标记mcur,将所述危险标记mfbm下的使能变迁集作为该初始的标记mcur的使能变迁集,并将该初始的标记mcur和该初始的标记mcur的使能变迁集添加至所述危险标记mfbm对应的局部可达图中;
13、从所述全局可达图中搜索出能够到达标记mcur的标记mi;标记mi满足mi[t>mcur;mi[t>mcur表示在标记mi下发射使能变迁t到达标记mcur;
14、若标记mi到标记mcur的路径是危险标记mfbm对应的一条第一类路径或第二类路径中的部分路径,则将标记mi作为更新后的标记mcur,将标记mi的使能变迁集作为该更新后的标记mcur的使能变迁集,并将更新后的标记mcur和该更新后的标记mcur的使能变迁集添加至所述危险标记mfbm对应的局部可达图中,继续执行从所述全局可达图中搜索出能够到达标记mcur的标记mi的步骤,直至遍历完所述全局可达图,得到所述危险标记mfbm对应的局部可达图。
15、可选的,基于所确定的各组包含关系确定出影响所述资源分配系统死锁的变迁集合,包括:
16、基于每个局部可达图中的第一类路径间的包含关系确定出影响所述资源分配系统死锁的第一变迁集合;
17、基于每个局部可达图中的第二类路径间的包含关系确定出影响所述资源分配系统死锁的第二变迁集合;
18、将所述第一变迁集合和所述第二变迁集合的并集作为影响所述资源分配系统死锁的变迁集合。
19、可选的,基于每个局部可达图中的第一类路径间的包含关系确定出影响所述资源分配系统死锁的第一变迁集合,包括:
20、对于每个局部可达图中的每两条第一类路径s1和s2,如果s1是s2的一个子集,且s1和s2从该局部可达图对应的危险标记到死区标记的变迁均为持续使能变迁,则将s2中的使能变迁加入所述第一变迁集合;所述死区标记为所述资源分配系统的状态为非法状态的节点;
21、对于每个局部可达图中的每两条第一类路径s1和s2,如果s1是s2的一个子集,且s1和s2从该局部可达图对应的危险标记到活区标记的变迁均为持续使能变迁,则将s1中的使能变迁加入所述第一变迁集合;所述活区标记为所述资源分配系统的状态为合法状态的节点。
22、可选的,基于每个局部可达图中第二类路径间的包含关系确定出影响所述资源分配系统死锁的第二变迁集合,包括:
23、对于每个局部可达图中的每两条第二类路径s3和s4,如果s3是s4的一个子集,且s3和s4中存在一条相同的子路径,且该子路径从该局部可达图中的危险节点到死区标记的变迁均为持续使能变迁,则将s3中的使能变迁加入所述第二变迁集合;所述死区标记为所述资源分配系统的状态为非法状态的节点;
24、对于每个局部可达图中的每两条第二类路径s3和s4,如果s3是s4的一个子集,且s3和s4中存在一条相同的子路径,且该子路径从该局部可达图中的危险节点下达到活区标记的变迁均为持续使能变迁,则将s4中的使能变迁加入所述第二变迁集合;所述活区标记为所述资源分配系统的状态为合法状态的节点。
25、可选的,在针对每个危险标记,在所述全局可达图中进行两类路径搜索时,所述方法还包括:
26、针对每个危险标记,在所述全局可达图中进行第三类路径的搜索;所述第三类路径为同时符合所述第一类路径和所述第二类路径的要求的路径。
27、第二方面,本发明提供了一种勘测时间petri网中影响死锁的变迁的装置,所述装置包括:
28、时间petri网模型构造模块,用于构造资源分配系统的时间petri网模型;
29、全局可达图构造模块,用于基于所述时间petri网模型构造全局可达图;所述全局可达图中的节点表示标记;所述标记用于表示所述资源分配系统的状态;所述全局可达图中的边表示状态间发射的使能变迁;
30、第一确定模块,用于确定所述全局可达图中的多个危险标记和每个危险标记下的使能变迁集;所述危险标记用于表示所述资源分配系统处于危险状态;
31、搜索模块,用于针对每个危险标记,在所述全局可达图中进行两类路径搜索,得到该危险标记对应的多条第一类路径和多条第二类路径;所述第一类路径满足:该路径对应的危险标记下至少存在一个使能变迁在完整路径中保持持续使能;所述完整路径为该路径中的起始标记到该路径对应的危险标记的路径;所述第二类路径满足:该路径中的起始标记到该路径对应的危险标记中所有的边所表示的变迁均为持续使能变迁;
32、局部可达图构建模块,用于针对每个危险标记,根据该危险标记对应的多条第一类路径和多条第二类路径构建该危险标记对应的局部可达图;
33、第二确定模块,用于基于每个局部可达图中的每一类路径,确定该类路径中各路径之间的一组包含关系;
34、第三确定模块,用于基于所确定的各组包含关系确定出影响所述资源分配系统死锁的变迁集合。
35、可选的,所述局部可达图构建模块,具体用于:
36、将危险标记mfbm作为初始的标记mcur,将所述危险标记mfbm下的使能变迁集作为该初始的标记mcur的使能变迁集,并将该初始的标记mcur和该初始的标记mcur的使能变迁集添加至所述危险标记mfbm对应的局部可达图中;
37、从所述全局可达图中搜索出能够到达标记mcur的标记mi;标记mi满足mi[t>mcur;mi[t>mcur表示在标记mi下发射使能变迁t到达标记mcur;
38、若标记mi到标记mcur的路径是危险标记mfbm对应的一条第一类路径或第二类路径中的部分路径,则将标记mi作为更新后的标记mcur,将标记mi的使能变迁集作为该更新后的标记mcur的使能变迁集,并将更新后的标记mcur和该更新后的标记mcur的使能变迁集添加至所述危险标记mfbm对应的局部可达图中,继续执行从所述全局可达图中搜索出能够到达标记mcur的标记mi的步骤,直至遍历完所述全局可达图,得到所述危险标记mfbm对应的局部可达图。
39、可选的,所述第三确定模块包括:
40、第一变迁集合确定子模块,用于基于每个局部可达图中的第一类路径间的包含关系确定出影响所述资源分配系统死锁的第一变迁集合;
41、第二变迁集合确定子模块,用于基于每个局部可达图中的第二类路径间的包含关系确定出影响所述资源分配系统死锁的第二变迁集合;
42、求并集子模块,用于将所述第一变迁集合和所述第二变迁集合的并集作为影响所述资源分配系统死锁的变迁集合。
43、可选的,所述第一变迁集合确定子模块,具体用于:
44、对于每个局部可达图中的每两条第一类路径s1和s2,如果s1是s2的一个子集,且s1和s2从该局部可达图对应的危险标记到死区标记的变迁均为持续使能变迁,则将s2中的使能变迁加入所述第一变迁集合;所述死区标记为所述资源分配系统的状态为非法状态的节点;对于每个局部可达图中的每两条第一类路径s1和s2,如果s1是s2的一个子集,且s1和s2从该局部可达图对应的危险标记到活区标记的变迁均为持续使能变迁,则将s1中的使能变迁加入所述第一变迁集合;所述活区标记为所述资源分配系统的状态为合法状态的节点。
45、可选的,第二变迁集合确定子模块,具体用于:
46、对于每个局部可达图中的每两条第二类路径s3和s4,如果s3是s4的一个子集,且s3和s4中存在一条相同的子路径,且该子路径从该局部可达图中的危险节点到死区标记的变迁均为持续使能变迁,则将s3中的使能变迁加入所述第二变迁集合;所述死区标记为所述资源分配系统的状态为非法状态的节点;
47、对于每个局部可达图中的每两条第二类路径s3和s4,如果s3是s4的一个子集,且s3和s4中存在一条相同的子路径,且该子路径从该局部可达图中的危险节点下达到活区标记的变迁均为持续使能变迁,则将s4中的使能变迁加入所述第二变迁集合;所述活区标记为所述资源分配系统的状态为合法状态的节点。
48、可选的,所述装置还包括第三类路径搜索模块,用于在针对每个危险标记,在所述全局可达图中进行两类路径搜索时,针对每个危险标记,在所述全局可达图中进行第三类路径的搜索;所述第三类路径为同时符合所述第一类路径和所述第二类路径的要求的路径。
49、本发明提供的一种勘测时间petri网中影响死锁的变迁的方法,针对每个危险标记,在全局可达图中进行两类路径搜索,可以得到该危险标记对应的多条第一类路径和多条第二类路径,即得到能够到达每个危险标记的所有两类路径。再针对每个危险标记,根据该危险标记对应的多条第一类路径和多条第二类路径构建该危险标记对应的局部可达图,可以得到资源分配系统的所有危险标记的局部可达图。最后通过每个局部可达图中的每一类路径,确定出该类路径中各路径之间的一组包含关系,然后通过各组包含关系可以确定出影响资源分配系统死锁的最小变迁集合,相较于现有的死锁预防方法,本发明中无需引入新的库所控制器,通过勘测资源分配系统的时间petri网中影响死锁的变迁,从而为死锁预防提供了一种高效且实用的方法。
50、以下将结合附图及对本发明做进一步详细说明。
本文地址:https://www.jishuxx.com/zhuanli/20241015/314890.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。