1.一种基于Petri网的鲁棒死锁避免算法,其特征在于,包括以下步骤:S1、初始化,令操作使能变迁集合 资源集合
S2、采集一个可行标识M和使能变迁t;
S3、假设标识M下的故障资源全部修复好,在M下引发变迁t得到新标识Ms;
S4、在标识Ms下,当变迁t无前置资源,则变迁t在标识M下是可行的;
S5、在标识Ms下,当变迁t的前置资源的token数不为零时,则变迁t在标识M下是可行的;
S6、在标识Ms下,当变迁t的前置资源Rst的token数为零时,则将释放资源Rst的操作使能变迁放至集合T1中并将资源Rst放至集合R1中;
S7、选择T1\T2中的任意一个变迁tdi;
S8、当变迁tdi无前置资源且后置资源Retdi属于可靠资源,则变迁t在标识M下是可行的;
S9、当变迁tdi无前置资源且后置资源Retdi属于不可靠资源,则将变迁tdi放至集合T2中,执行步骤S7;
S10、当变迁tdi的前置资源Rstdi的token数不为零时,则变迁t在标识M下是可行的;
S11、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T1中,将资源Rstdi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S12、当变迁tdi的前置资源Rstdi的token数为零且Rstdi属于不可靠资源时,则将释放资源Rstdi的操作使能变迁放至集合T3中;
S13、选择T3中的任意一个变迁tgi;
S14、当变迁tgi的前置资源Rstgi属于集合R1且属于可靠资源时,则将释放资源Rstgi的操作使能变迁放至集合T1中,将资源Rstgi放至集合R1中,将变迁tdi放至集合T2中,执行步骤S7;
S15、当变迁tgi的前置资源Rstgi属于集合R1且属于不可靠资源时,则变迁t在标识M下是不可行的;
S16、当变迁tgi的前置资源Rstgi不属于集合R1或变迁tgi无前置资源时,则将资源Rstgi放至集合R1中,将变迁tgi放至集合T1中,在T3中将变迁tgi删除,执行步骤S13;
S17、在算法的执行过程中,若T3为空,则将变迁tdi放至集合T2中,执行步骤S7;若T1\T2为空,则变迁t在标识M下是不可行的。