CN116069514A - 一种含不可靠资源的柔性制造系统的死锁避免方法 - Google Patents

一种含不可靠资源的柔性制造系统的死锁避免方法 Download PDF

Info

Publication number
CN116069514A
CN116069514A CN202310033243.4A CN202310033243A CN116069514A CN 116069514 A CN116069514 A CN 116069514A CN 202310033243 A CN202310033243 A CN 202310033243A CN 116069514 A CN116069514 A CN 116069514A
Authority
CN
China
Prior art keywords
mark
transition
collection
token
judging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310033243.4A
Other languages
English (en)
Other versions
CN116069514B (zh
Inventor
刘慧霞
谢巍
钱宸洋
张铭心
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong University
Original Assignee
Nantong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN202310033243.4A priority Critical patent/CN116069514B/zh
Publication of CN116069514A publication Critical patent/CN116069514A/zh
Application granted granted Critical
Publication of CN116069514B publication Critical patent/CN116069514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及自动制造系统技术领域,尤其涉及一种含不可靠资源的柔性制造系统的死锁避免方法。本发明包括以下步骤:S1、在给定标识M下引发给定变迁t,生成新的标识M′,然后计算生成的标识M′的所有后继标识;S2、判断每个后继标识下是否存在循环等待;S3、根据S2的结果判断给定变迁是否能在给定标识下引发。本发明关注的是含不可靠资源的柔性制造系统的生产过程,提出一种死锁避免方法,该方法不仅能检测出在给定标识下发生给定变迁后该系统会不会死锁,还能预测发生给定变迁后,后续的生产会不会因为不可靠资源故障而发生死锁。

Description

一种含不可靠资源的柔性制造系统的死锁避免方法
技术领域
本发明涉及自动制造系统技术领域,尤其涉及一种含不可靠资源的柔性制造系统的死锁避免方法。
背景技术
柔性制造系统是一种先进的制造系统,其适应性强,可灵活切换加工对象,因此广泛用于“小批量、多品种”的产品加工。但该系统生产过程中的并行进程会加剧共享资源的竞争,导致系统出现死锁问题。死锁是一种资源循环等待现象,即两个或两个以上并行进行的生产过程因争抢共享资源而造成的一种资源互相等待现象。死锁问题极大地限制了资源的利用,会造成生产的巨大经济损失。因此死锁问题受到了越来越多专家学者的关注。
目前大多数死锁问题研究只关注资源分配不当导致的不良现象。但在实际生产过程中,制造系统中的资源,如加工机床等很容易发生机械损坏;这些损坏会导致这部分资源无法正常使用。从而在不可靠资源故障后,系统可能会出现除死锁外的新的资源循环等待现象,即堵塞。资源故障会大大降低系统的生产效率,因此对于含不可靠资源的柔性制造系统,建立一种既避免死锁又避免堵塞的控制策略,保证生产过程的顺利进行是至关重要的。在资源故障消除之前,堵塞本质上就是死锁,从而将控制策略称为死锁避免方法。
对柔性制造系统的死锁避免方法的研究,大多采用Petri网对其进行建模。目前基于Petri网建模的自动制造系统死锁分析,主要有两种思路,一是利用Petri网可达图分析,二是利用Petri网结构分析。利用Petri网可达图分析可以完整的描述系统的行为信息,获得系统最大许可的生产状态空间,但是会遇到状态空间爆炸的问题;利用Petri网结构分析,从模型结构特性入手建立控制策略,可以避免状态爆炸的问题。
发明内容
为解决现有技术存在的问题,如建立死锁避免方法时不考虑资源故障、无法回避计算复杂性等问题,本发明而提出的一种含不可靠资源的柔性制造系统的死锁避免方法。
本发明为实现上述发明目的,采取的技术方案如下:
一种含不可靠资源的柔性制造系统的死锁避免方法,包括以下步骤:
S1、在给定标识M下引发给定变迁t,生成新的标识M′,然后计算生成的标识M′的所有后继标识;S1包括以下步骤:
S1.1、设置需判断的变迁t的前置资源库所为r1,并在给定标识M下引发变迁t到达新的标识M′;
S1.2、设置变迁集合
Figure BDA0004047719000000021
S1.3、计算M′的后继标识,并将M′以及M′的所有后继标识放入集合
Figure BDA0004047719000000022
S2、判断每个后继标识下是否存在循环等待;S2包括以下步骤:
S2.1、设置集合
Figure BDA0004047719000000023
S2.2、判断集合
Figure BDA0004047719000000024
此时是否为空集,若为空,进行S3,若不为空,则进行S2.3;
S2.3、从集合
Figure BDA0004047719000000025
中任选一个变迁M1,判断M1中是否存在循环等待,若存在,则将M1放入集合χ;判断完后进行S2.4;
S2.4、将M1从集合
Figure BDA0004047719000000026
中去除;执行完进行S2.2;
S3、根据S2的结果判断给定变迁是否能在给定标识下引发;S3包括以下步骤:
S3.1、判断集合χ是否为空集,若为空集进行S3.2,若不为空集进行S3.3;
S3.2、输出结果χ(M,t)=permitted;
S3.3、输出结果χ(M,t)=unpermitted。
作为本发明的优选技术方案,所述S1.3计算M′的后继标识,并将M′以及M′的所有后继标识放入集合
Figure BDA0004047719000000027
具体过程包括:
S1.3.1、设置集合P1M为在标识M′下含有托肯并且使用不可靠资源的操作库所集合;
S1.3.2、设置集合
Figure BDA0004047719000000028
S1.3.3、将标识M′放入集合
Figure BDA0004047719000000029
S1.3.4、判断集合
Figure BDA00040477190000000210
和集合
Figure BDA00040477190000000211
中的元素是否相等,若不相等,则进行S1.3.5,若相等则进行S1.3.13;
S1.3.5、选择一个集合
Figure BDA00040477190000000212
中存在,但是集合
Figure BDA00040477190000000213
中没有的元素,将其设为Mα
S1.3.6、将标识Mα放入集合
Figure BDA00040477190000000214
并设置集合P2M=P1M
S1.3.7、判断P2M是否为空集,若不为空集,则进行S1.3.8,若为空集,则进行S1.3.4;
S1.3.8、从P2M中选择一个元素,并将其设置为P,并将其从集合P2M中去除;
S1.3.9、设置tα为P的后置故障变迁,并且设置Mα′=Mα
S1.3.10、判断在标识Mα′下,操作库所P中是否存在托肯,并且操作库所P使用的不可靠资源还有两个及以上没有故障的,若满足条件,进行S1.3.11,反之则进行S1.3.12;
S1.3.11、在标识Mα′下引发变迁tα生成新的标识Mα′后进行S1.3.10;
S1.3.12、将标识Mα′并入集合
Figure BDA0004047719000000031
后进行S1.3.7;
S1.3.13、判断集合
Figure BDA0004047719000000032
是否为空集,若为空集则进行S2.1,若不为空集,则进行S1.3.14;
S1.3.14、从集合
Figure BDA0004047719000000033
中任选一个元素将其设为标识Mα′,并将元素Mα′从集合
Figure BDA0004047719000000034
中去除,设置集合P2M=P1M,进行S1.3.15;
S1.3.15、判断集合P2M是否为空集,若为空集,进行S1.3.13,若不为空集,进行S1.3.16;
S1.3.16、从集合P2M中任选一个元素设为P,并将元素P从集合P2M中删除,判断在标识Mα′下,操作库所P所用不可靠资源库所中是否还有托肯,若还有托肯,进行S1.3.17,若没有托肯,则进行S1.3.18;
S1.3.17、判断在标识Mα′下,和操作库所P共用一个不可靠资源的其他操作库所中是否还有托肯,若没有托肯,进行S1.3.15,若还有托肯,则将标识Mα′从集合
Figure BDA0004047719000000035
中去除后,进行S1.3.15;
S1.3.18、判断在标识Mα′下,和操作库所P共用一个不可靠资源的其他操作库所中的托肯数,加上P中的托肯数是否为1,若为1,则进行S1.3.15,若不为1,则将标识Mα′从集合
Figure BDA0004047719000000036
中去除后,进行S1.3.15。
作为本发明的优选技术方案,所述S2.3,判断M1中是否存在循环等待的具体过程包括:
S2.3.1、设置集合
Figure BDA0004047719000000037
χ(M1)=true;
S2.3.2、判断在标识M1中r1的托肯数是否大于0,若不大于0,则进行S2.3.3,否则进行S2.4;
S2.3.3、设置集合T1为发生后可使r1中的托肯数增加,并且在标识M1下,其前置操作库所中托肯数大于0的变迁集合;
S2.3.4、若集合T1中存在T2中没有的元素,则进行S2.3.5;若不存在,则令χ(M1)=false,将M1放入集合χ后进行S2.4;
S2.3.5、从集合T1中存在T2中没有的元素中任选一个元素t1,并且设置t1的前置资源库所为r2
S2.3.6、判断在标识M1下r2中是否存在托肯,或者引发t1是否需要资源,若在标识M1下r2中存在托肯或者引发t1不需要资源则进行S2.4,否则进行S2.3.7;
S2.3.7、设置集合T3为发生后可使r2中的托肯数增加,并且在标识M1下,前置操作库所中托肯数大于0的变迁集合;令T1=T1∪T3;T2=T2∪{t1};进行S2.3.4。
本发明所述的一种含不可靠资源的柔性制造系统的死锁避免方法,采用以上技术方案与现有技术相比,具有以下技术效果:
本发明关注的是含不可靠资源的柔性制造系统的生产过程,提出一种死锁避免方法,该方法不仅能检测出在给定标识下发生给定变迁后该系统会不会死锁,还能预测发生给定变迁后,后续的生产会不会因为不可靠资源故障而发生死锁。
附图说明
图1是本发明的方法流程图;
图2是本发明的计算后继标识的流程图;
图3是本发明的死锁判断流程图;
图4是本发明具体实施例的初始标识图;
图5是本发明具体实施例的当前标识图。
具体实施方式
为了使本技术领域的人员更好的理解本申请实施例中的技术方案,首先对本申请实施例中的部分符号进行解释说明,以便于本领域技术人员理解。
不可靠资源:指含多个相同加工单元的机器,而不是含缓冲区的工作站。
M:一个状态标识,代表着Petri网当前的状态,按照一定的顺序排列,数字大小代表着对应库所中当前的托肯数,例如图4所代表的标识为M0=(4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0),其排列顺序为(P10,P20,P11,P12,P13,P14,P15,P16,P17,P22,P23,P24,P25,P31,P32,P33,r1,r2,ru1,ru2,Pu1,Pu2,Pu3,Pu4,Pu5,Pu6)。
P:库所,其中的黑点代表库所中的托肯,当托肯数量过多时,用阿拉伯数字直接写在圆中表示托肯的数量。其中Pu为虚拟修复库所,模拟不可靠资源的修复过程。
r:资源库所,代表资源的状态,黑点同P代表资源的数量,其中ru代表不可靠资源库所。
t:变迁,代表的是动态行为,其中tα代表着不可靠资源发生故障的行为,tβ代表不可靠资源修复完成的行为,Petri中的箭头是有向弧,表示了托肯的流动方向。
H(ri):所有用到资源ri的操作库所的集合,例如图5所示Petri网,托肯能够通过t23从资源库所ru1中流入到操作库所P23中,再通过变迁t24从操作库所P23中流回ru1中,则P23为用到了资源ru1的操作库所,同理可得P14,P33也为用到了资源ru1的操作库所,即H(ru1)={P14,P23,P33}。
M(ri)+M(H(ri)):在标识M下系统中正常的没有故障的不可靠资源ri的数目,例如图5所示Petri网,此时M=(1,2,0,1,0,0,1,0,0,0,1,0,0,1,0,1,2,1,0,1,0,0,0,0,0,0),在标识M下,P14中含有0个托肯,P23中含有1个托肯,P33中含有1个托肯,ru1中含有0个托肯,易得0+1+1+0=2,则M(ru1)+M(H(ru1))=2。
本发明假设系统不可靠资源为含有多个相同加工单元的机器。机器故障是不可控的,无法预判故障何时何地会发生。所以假设不可靠的机器有多种类型、且每类中有多个不可靠单元可同时发生故障。换言之,系统故障最糟糕的情况为每种不可靠机器只有一个单元在正常工作、其余单元全部故障。
本发明利用Petri网对含不可靠资源的柔性制造系统建模,基于Petri网结构特征,为系统建立一种死锁避免方法,保证系统在生产过程中,无论不可靠资源是否发生故障,生产过程都能顺利进行。该方法的中心思想是:利用一步向前看方法,判断在任一生产状态(可达标识)下,使能变迁的引发情况;如果引发的新的生产状态是安全的,则允许上述使能变迁引发;否则,禁止上述使能变迁引发。考虑到资源故障的不可控性,首先考察该生产状态下可能发生的各种故障情况,判断每种故障情形下是否存在资源循环等待现象。只要有一种情况下存在,则代表给定标识在发生给定变迁后在后续生产过程中,有可能会出现由于不可靠资源故障,在维修这部分故障资源的时候,系统中出现了循环等待。其次根据故障发生后,生产状态是否存在资源循环等待现象,判断使能变迁是否引发。
本发明假设每种不可靠资源在最坏情形下,可以只有一个单元在正常工作,其它都发生了故障。这里,“只有一个单元在正常工作”是指在某个给定的可达标识M下,如果一个不可靠资源所有单元同时在进行生产操作,最坏情况下可能只有一个单位在正常工作,其它都发生了故障;如果不是所有单元都在参加生产操作,则最坏情况下参加生产操作的这些单元同时发生故障。将这些最坏情况对应的可达标识称为M的后继标识。
下面结合实施和附图对本发明进行进一步说明:
参阅图1至图5,本发明以一个能同时加工两类工件的制造系统为例,第一类工件有4个,可以通过两条路径进行加工,第二类工件也有4个,只有一条加工路径。该系统具有4种加工资源r1,r2,ru1,ru2,各有2个,其中ru1,ru2为不可靠资源,容易发生故障。图4示出了一个具体Petri网的初始状态,图5示出了一个具体Petri网的当前状态,判断变迁t32对应操作能否在图5所示状态下引发,具体操作如下:
S1、在给定标识M下引发给定变迁t,生成新的标识M′,然后计算生成的标识M′的所有后继标识:
S1.1、设置需判断的变迁的前置资源库所为r1,并在给定标识M下引发给定变迁t32到达新的标识M′,如图5所示给定标识M=(1,2,0,1,0,0,1,0,0,0,1,0,0,1,0,1,2,1,0,1,0,0,0,0,0,0)在其下引发给定标识t32,到达新的标识M′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0),此时t32的前置库所r1=ru2
S1.2、设置变迁集合
Figure BDA0004047719000000061
S1.3、计算M′的后继标识,并将M′以及M′的所有后继标识放入集合
Figure BDA0004047719000000062
S1.3.1、设置集合P1M为在标识M′下含有托肯,使用不可靠资源的操作库所集合,如在标识M′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0)下,此时满足条件的操作库所有P15,P23,P32,P33,则P1M={P15,P23,P32,P33};
S1.3.2、设置集合
Figure BDA0004047719000000063
S1.3.3、将标识M′放入集合
Figure BDA0004047719000000064
S1.3.4、判断集合
Figure BDA0004047719000000065
和集合
Figure BDA0004047719000000066
中的元素是否相等,若不相等,则进行步骤S1.3.5,若相等则进行步骤S1.3.13;
S1.3.5、选择一个集合
Figure BDA0004047719000000067
中存在,但是集合
Figure BDA0004047719000000068
中没有的元素,将其设为Mα
S1.3.6、将标识Mα放入集合
Figure BDA0004047719000000069
并设置集合P2M=P1M
S1.3.7、判断P2M是否为空集,若不为空集,则进行步骤S1.3.8,若为空集,则进行步骤S1.3.4;
S1.3.8、从P2M中选择一个元素,并将其设置为P,并将其从集合P2M中去除;
S1.3.9、设置tα为P的后置故障变迁,并且设置Mα′=Mα;;
S1.3.10、判断在标识Mα′下,操作库所P中是否存在托肯,并且操作库所P使用的不可靠资源还有两个及以上没有故障的,若满足条件,进行步骤S1.3.11,反之则进行步骤S1.3.12,例如Mα′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0),选取的元素P为P33,则有tα=α3,在标识Mα′下P33中有一个托肯,P23中有一个托肯,资源库所ru1中没有托肯,则有M(ru1)+M(H(ru1))=1+1+0=2,满足条件,进行步骤S1.3.11,如Mα′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,0,0,0),选取的元素P为P33,则有tα=α3,在标识Mα′下P33中没有托肯,P23中有一个托肯,资源库所ru1中没有托肯,则有M(ru1)+M(H(ru1))=0+1+0=1,不满足条件,则进行步骤S1.3.12;
S1.3.11、在标识Mα′下引发变迁tα生成新的标识Mα′后进行步骤S1.3.10,如Mα′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,1,2,2,0,0,0,0,0,0,0,0),在标识Mα′下引发变迁tα=α3生成新的标识Mα′=(1,2,0,1,0,0,1,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,0,0,0);
S1.3.12、将标识Mα′并入集合
Figure BDA0004047719000000071
后进行步骤S1.3.7;
经过S1.3.1至S1.3.12的操作后集合
Figure BDA0004047719000000072
Figure BDA0004047719000000073
S1.3.13、判断集合
Figure BDA0004047719000000074
是否为空集,若为空集则进行步骤S2.1,若不为空集,则进行步骤S1.3.14;
S1.3.14、从集合
Figure BDA0004047719000000075
中任选一个元素将其设为标识Mα′,并将元素Mα′从集合
Figure BDA0004047719000000076
中去除,设置集合P2M=P1M,进行步骤S1.3.15;
S1.3.15、判断集合P2M是否为空集,若为空集,进行步骤S1.3.13,若不为空集,进行步骤S1.3.16;
S1.3.16、从集合P2M中任选一个元素设为P,并将元素P从集合P2M中删除,判断在标识Mα′下,操作库所P所用不可靠资源中是否还有托肯,若还有托肯,进行步骤S1.3.17,若没有托肯,则进行步骤S1.3.18;
S1.3.17、判断在标识Mα′下和操作库所P共用一个不可靠资源的其他操作库所中是否还有托肯,若没有托肯,进行步骤S1.3.15,若还有托肯,则将标识Mα′从集合
Figure BDA0004047719000000077
中去除后,进行步骤S1.3.15;
S1.3.18、判断在标识Mα′下,和操作库所P共用一个不可靠资源的其他操作库所中的托肯数加上P中的托肯数是否为1。若为1,则进行步骤S1.3.15,若不为1,则将标识Mα′从集合
Figure BDA0004047719000000078
中去除后,进行步骤S1.3.15;例如选中的标识Mα′=(1,2,0,1,0,0,1,0,0,0,0,0,0,0,1,1,2,2,0,0,0,1,0,0,0,0),选中的P=P15,和P共用一个资源的操作库所为P32,在标识Mα′下,P15中的托肯数为1,P32中的托肯数为1,易得1+1=2,不为1,则需将标识Mα′从集合
Figure BDA0004047719000000079
中去除;
经过S1.3.13至S1.3.18的操作后,
Figure BDA0004047719000000081
Figure BDA0004047719000000082
S2、判断每个后继标识下是否存在循环等待:
S2.1、设置集合
Figure BDA0004047719000000083
S2.2、判断集合
Figure BDA0004047719000000084
此时是否为空集,若为空,进行步骤S3,若不为空,则进行步骤S2.3;
S2.3、从集合
Figure BDA0004047719000000085
中任选一个变迁M1,判断M1中是否存在循环等待,若存在,则将M1放入集合χ;判断完后进行步骤S2.4;
S2.3.1、设置集合
Figure BDA0004047719000000086
χ(M1)=true;
S2.3.2、判断在标识M1中r1的托肯数是否大于0,若不大于0,则进行步骤S2.3.3,否则进行步骤S2.4,例如选中的M1=(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0),r1=ru2中没有托肯,则进行步骤S2.3.3;
S2.3.3、设置集合T1为发生后可使r1中的托肯数增加,并且在标识M1下其前置操作库所中托肯数大于0的变迁集合。例如M1=(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0),r1=ru2,只有变迁t33满足发生后可使r1中的托肯数增加,并且在标识M1下其前置操作库所P32中托肯数大于0的条件,则此时集合T1={t33};
S2.3.4、若集合T1中存在T2中没有的元素,则进行步骤S2.3.5;若不存在,则令χ(M1)=false,将M1放入集合χ后进行步骤S2.4;
S2.3.5、从集合T1中存在T2中没有的元素中任选一个元素t1,并且设置t1的前置资源库所为r2
S2.3.6、判断在标识M1下,r2中是否存在托肯,或者引发t1是否需要资源,若在标识M1下,r2中存在托肯或者引发t1不需要资源则进行步骤S2.4,否则进行步骤S2.3.7,例如标识M1=(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0),选中的t1=t33,则r2=ru1,在标识M1下ru1中没有托肯,则进行步骤S2.3.7;
S2.3.7、设置集合T3为发生后可使r2中的托肯数增加,并且在标识M1下,其前置操作库所中托肯数大于0的变迁集合;令T1=T1∪T3;T2=T2∪{t1};进行步骤S2.3.4;
经过S2.3的操作后,易得在标识M1=(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0)下,得到T1=T2={t33,t24},χ(M1)=false,即在标识M1=(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0)下存在着循环等待,则集合χ={(1,2,0,1,0,0,0,0,0,0,1,0,0,0,1,0,2,2,0,0,0,0,1,1,0,0)};
S2.4、将M1从集合
Figure BDA0004047719000000091
中去除;执行完进行步骤S2.2;
S3、综合S2的结果判断给定变迁是否能在给定标识下引发:
S3.1、判断集合χ是否为空集,若为空集进行步骤S3.2,若不为空集进行步骤S3.3;
S3.2、输出结果χ(M,t)=permitted;
S3.3、输出结果χ(M,t)=unpermitted。
经过S1至S3的操作可得判断在标识M=(1,2,0,1,0,0,1,0,0,0,1,0,0,1,0,1,2,1,0,1,0,0,0,0,0,0)下能否引发变迁t32的结果是χ(M,t32)=unpermitted,即不能引发。
以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。

Claims (3)

1.一种含不可靠资源的柔性制造系统的死锁避免方法,其特征在于,包括以下步骤:
S1、在给定标识M下引发给定变迁t,生成新的标识M′,然后计算生成的标识M′的所有后继标识;S1包括以下步骤:
S1.1、设置需判断的变迁t的前置资源库所为r1,并在给定标识M下引发变迁t到达新的标识M′;
S1.2、设置变迁集合
Figure FDA0004047718990000011
S1.3、计算M′的后继标识,并将M′以及M′的所有后继标识放入集合
Figure FDA0004047718990000012
S2、判断每个后继标识下是否存在循环等待;S2包括以下步骤:
S2.1、设置集合
Figure FDA0004047718990000013
S2.2、判断集合
Figure FDA0004047718990000014
此时是否为空集,若为空,进行S3,若不为空,则进行S2.3;
S2.3、从集合
Figure FDA0004047718990000015
中任选一个变迁M1,判断M1中是否存在循环等待,若存在,则将M1放入集合χ;判断完后进行S2.4;
S2.4、将M1从集合
Figure FDA0004047718990000016
中去除;执行完进行S2.2;
S3、根据S2的结果判断给定变迁是否能在给定标识下引发;S3包括以下步骤:
S3.1、判断集合χ是否为空集,若为空集进行S3.2,若不为空集进行S3.3;
S3.2、输出结果χ(M,t)=permitted;
S3.3、输出结果χ(M,t)=unpermitted。
2.根据权利要求1所述的一种含不可靠资源的柔性制造系统的死锁避免方法,其特征在于,所述S1.3计算M′的后继标识,并将M′以及M′的所有后继标识放入集合
Figure FDA0004047718990000017
具体过程包括:
S1.3.1、设置集合P1M为在标识M′下含有托肯并且使用不可靠资源的操作库所集合;
S1.3.2、设置集合
Figure FDA0004047718990000018
S1.3.3、将标识M′放入集合
Figure FDA0004047718990000019
S1.3.4、判断集合
Figure FDA00040477189900000110
和集合
Figure FDA00040477189900000111
中的元素是否相等,若不相等,则进行S1.3.5,若相等则进行S1.3.13;
S1.3.5、选择一个集合
Figure FDA00040477189900000112
中存在,但是集合
Figure FDA00040477189900000113
中没有的元素,将其设为Mα
S1.3.6、将标识Mα放入集合
Figure FDA00040477189900000114
并设置集合P2M=P1M
S1.3.7、判断P2M是否为空集,若不为空集,则进行S1.3.8,若为空集,则进行S1.3.4;
S1.3.8、从P2M中选择一个元素,并将其设置为P,并将其从集合P2M中去除;
S1.3.9、设置tα为P的后置故障变迁,并且设置Mα′=Mα
S1.3.10、判断在标识Mα′下,操作库所P中是否存在托肯,并且操作库所P使用的不可靠资源还有两个及以上没有故障的,若满足条件,进行S1.3.11,反之则进行S1.3.12;
S1.3.11、在标识Mα′下引发变迁tα生成新的标识Mα′后进行S1.3.10;
S1.3.12、将标识Mα′并入集合
Figure FDA0004047718990000021
后进行S1.3.7;
S1.3.13、判断集合
Figure FDA0004047718990000022
是否为空集,若为空集则进行S2.1,若不为空集,则进行S1.3.14;
S1.3.14、从集合
Figure FDA0004047718990000023
中任选一个元素将其设为标识Mα′,并将元素Mα′从集合
Figure FDA0004047718990000024
中去除,设置集合P2M=P1M,进行S1.3.15;
S1.3.15、判断集合P2M是否为空集,若为空集,进行S1.3.13,若不为空集,进行S1.3.16;S1.3.16、从集合P2M中任选一个元素设为P,并将元素P从集合P2M中删除,判断在标识Mα′下,操作库所P所用不可靠资源库所中是否还有托肯,若还有托肯,进行S1.3.17,若没有托肯,则进行S1.3.18;
S1.3.17、判断在标识Mα′下,和操作库所P共用一个不可靠资源的其他操作库所中是否还有托肯,若没有托肯,进行S1.3.15,若还有托肯,则将标识Mα′从集合
Figure FDA0004047718990000025
中去除后,进行S1.3.15;
S1.3.18、判断在标识Mα′下,和操作库所P共用一个不可靠资源的其他操作库所中的托肯数,加上P中的托肯数是否为1,若为1,则进行S1.3.15,若不为1,则将标识Mα′从集合
Figure FDA0004047718990000026
中去除后,进行S1.3.15。
3.根据权利要求1所述的一种含不可靠资源的柔性制造系统的死锁避免方法,其特征在于,所述S2.3,判断M1中是否存在循环等待的具体过程包括:
S2.3.1、设置集合
Figure FDA0004047718990000027
χ(M1)=true;
S2.3.2、判断在标识M1中r1的托肯数是否大于0,若不大于0,则进行S2.3.3,否则进行S2.4;S2.3.3、设置集合T1为发生后可使r1中的托肯数增加,并且在标识M1下,其前置操作库所中托肯数大于0的变迁集合;
S2.3.4、若集合T1中存在T2中没有的元素,则进行S2.3.5;若不存在,则令χ(M1)=false,将M1放入集合χ后进行S2.4;
S2.3.5、从集合T1中存在T2中没有的元素中任选一个元素t1,并且设置t1的前置资源库所为r2
S2.3.6、判断在标识M1下r2中是否存在托肯,或者引发t1是否需要资源,若在标识M1下r2中存在托肯或者引发t1不需要资源则进行S2.4,否则进行S2.3.7;
S2.3.7、设置集合T3为发生后可使r2中的托肯数增加,并且在标识M1下,前置操作库所中托肯数大于0的变迁集合;令T1=T1∪T3;T2=T2∪{t1};进行S2.3.4。
CN202310033243.4A 2023-01-10 2023-01-10 一种含不可靠资源的柔性制造系统的死锁避免方法 Active CN116069514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310033243.4A CN116069514B (zh) 2023-01-10 2023-01-10 一种含不可靠资源的柔性制造系统的死锁避免方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310033243.4A CN116069514B (zh) 2023-01-10 2023-01-10 一种含不可靠资源的柔性制造系统的死锁避免方法

Publications (2)

Publication Number Publication Date
CN116069514A true CN116069514A (zh) 2023-05-05
CN116069514B CN116069514B (zh) 2023-08-22

Family

ID=86176322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310033243.4A Active CN116069514B (zh) 2023-01-10 2023-01-10 一种含不可靠资源的柔性制造系统的死锁避免方法

Country Status (1)

Country Link
CN (1) CN116069514B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117035255A (zh) * 2023-05-31 2023-11-10 南通大学 一种含不可靠资源制造系统的鲁棒调度方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200575A (zh) * 2016-07-07 2016-12-07 西安电子科技大学 一种基于Petri网的自动制造系统的稳健性控制方法
CN108919644A (zh) * 2018-07-09 2018-11-30 西安电子科技大学 存在不可观行为的自动制造系统的稳健性控制方法
EP3531284A1 (en) * 2018-02-26 2019-08-28 OMRON Corporation Process control device, manufacturing device, process control method, control program, and recording medium
CN110308700A (zh) * 2019-05-11 2019-10-08 西安电子科技大学 一种存在不可控行为的加工路径规划方法
US20210313203A1 (en) * 2018-12-20 2021-10-07 Beijing Naura Microelectronics Equipment Co., Ltd. Deadlock determination method and semiconductor apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200575A (zh) * 2016-07-07 2016-12-07 西安电子科技大学 一种基于Petri网的自动制造系统的稳健性控制方法
EP3531284A1 (en) * 2018-02-26 2019-08-28 OMRON Corporation Process control device, manufacturing device, process control method, control program, and recording medium
CN108919644A (zh) * 2018-07-09 2018-11-30 西安电子科技大学 存在不可观行为的自动制造系统的稳健性控制方法
US20210313203A1 (en) * 2018-12-20 2021-10-07 Beijing Naura Microelectronics Equipment Co., Ltd. Deadlock determination method and semiconductor apparatus
CN110308700A (zh) * 2019-05-11 2019-10-08 西安电子科技大学 一种存在不可控行为的加工路径规划方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117035255A (zh) * 2023-05-31 2023-11-10 南通大学 一种含不可靠资源制造系统的鲁棒调度方法
CN117035255B (zh) * 2023-05-31 2024-02-06 南通大学 一种含不可靠资源制造系统的鲁棒调度方法

Also Published As

Publication number Publication date
CN116069514B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN116069514B (zh) 一种含不可靠资源的柔性制造系统的死锁避免方法
JP2008129714A (ja) 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法
CN109726126B (zh) 一种分布式并行fuzz方法及系统
Chybowski et al. Basic reliability structures of complex technical systems
CN105117430B (zh) 一种基于等价类的重复任务过程发现方法
CN102521131B (zh) 一种基于动态基本块的缺陷定位测试用例约简方法
Lednicki et al. Model level worst-case execution time analysis for IEC 61499
CN110457220A (zh) 基于安卓系统的模拟器检测方法、智能终端及存储介质
CN110968864A (zh) 安全事件的应急响应处理方法及装置
CN114168454B (zh) 一种基于动态插桩-销桩技术的异步测试方法
CN107102909A (zh) 一种面向复杂软件密集型系统的故障分类方法
CN115903508B (zh) 一种基于Petri网的柔性制造系统的鲁棒死锁检测方法
CN107908557B (zh) 一种嵌入式软件可信属性建模与验证方法
Hu et al. File parsing vulnerability detection with symbolic execution
Hu et al. Active diagnosis of Petri nets using Q-diagnoser
CN102799517B (zh) 一种快速的循环扩展检测方法
Alvarez-Pérez et al. Identifying Petri nets with silent transitions by event traces classification
CN107870777A (zh) 一种热补丁实现方法及装置、终端
Zhang et al. A heuristic approach to break cycles for the class integration test order generation
Takagi et al. Overview of a place/transition net-based mutation testing framework to obtain test cases effective for concurrent software
CN115934369B (zh) 一种基于Petri网的鲁棒死锁避免算法
CN115460297B (zh) 一种网络安全协议的自动形式化验证方法
CN110738384A (zh) 事件序列的校验方法及系统
JP7384063B2 (ja) 障害要因推定装置及び障害要因推定方法
KR20180031553A (ko) 구조변이 검출 방법, 디바이스 및 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant