本發(fā)明屬于自動制造系統(tǒng)技術(shù)領(lǐng)域,涉及一種基于Petri網(wǎng)的自動制造系統(tǒng)的穩(wěn)健性控制方法。
背景技術(shù):
制造自動化是制造技術(shù)發(fā)展的一個主要方向。為了響應(yīng)激烈市場競爭的出現(xiàn)和先進自動化技術(shù)的應(yīng)用,自動制造系統(tǒng)已經(jīng)經(jīng)歷了跳躍式的發(fā)展。其目標(biāo)是降低制造成本、改善產(chǎn)品質(zhì)量、提高生產(chǎn)率和確保生產(chǎn)安全。然而,考慮到系統(tǒng)的規(guī)模和資源的成本,資源不會無限制的提供。因此,資源共享是一個理想的解決方案。由于并發(fā)執(zhí)行的進程會競爭共享的資源,系統(tǒng)死鎖問題就會不期而至。一旦出現(xiàn)死鎖,整個系統(tǒng)要么停滯,要么進入一個死循環(huán)。盡管研究者在死鎖問題的計算和控制方面做了大量的研究,但是大多數(shù)的研究者總是假設(shè)分配的資源不會故障。事實上,任何的制造研究者都知道,系統(tǒng)的機械故障很容易發(fā)生,并且來自各種各樣的原因,包括工件磨損、傳感器失靈、零件缺失和組件故障等等。一個簡單的資源故障會導(dǎo)致整個系統(tǒng)的癱瘓。
在過去的數(shù)十年里,研究者們已經(jīng)研究了一系列的監(jiān)督控制方法。這些方法可以分為中心控制方法和分布式控制方法。其中具有代表性的中心控制方法是由Ramadge和Wonham提出的監(jiān)管控制方法和信標(biāo)死鎖解決方法。Ramadge和Wonham提出的監(jiān)管控制方法是用中心控制器來控制的,而且是在靜態(tài)的方式下,采用形式語言對一個具體的目標(biāo)進行控制。壞的狀態(tài)通過提前地檢查所有的狀態(tài)來避免。然而,實際的制造系統(tǒng)是由相對小的、相互作用的和事件驅(qū)動的子系統(tǒng)組成,規(guī)模相當(dāng)?shù)凝嫶?。狀態(tài)數(shù)可以說是一個天文數(shù)字。信標(biāo)死鎖解決方法是通過引入新的控制庫所,從而防止系統(tǒng)中的信標(biāo)不被清空,從而實現(xiàn)系統(tǒng)無死鎖。但是,新的控制庫所的引入會繼續(xù)形成新的信標(biāo)。隨著系統(tǒng)規(guī)模的增大,迭代次數(shù)會變得無法想象。一旦一個不可靠資源故障,整個控制器就得重新設(shè)計。很顯然,中心化的控制方法中計算和存儲復(fù)雜度是一個大問題。因此,研究者們把注意力轉(zhuǎn)向分布式控制方法。使用分布式控制方法,中心控制器所完成任務(wù)可以由很多局部控制器來完成。每一個局部控制器根據(jù)所接收到的信息,做出局部控制,這樣就大大降低了計算和存儲復(fù)雜度。
盡管分布式控制方法已經(jīng)得到了廣泛的應(yīng)用,但在推廣使用過程中還是存在一些缺陷,具體體現(xiàn)在:1、對于具有裝配操作的系統(tǒng),需要所有進程并發(fā)的進行,在各個進程加工到最后階段并且滿足一定條件,裝配操作才能完成。很明顯,控制裝配操作的控制器變得復(fù)雜難以設(shè)計。與靈活路徑相比,裝配操作賦予了更豐富的結(jié)構(gòu)信息和研究價值。2、大多數(shù)的分布式方法不實用,因為它們是基于具體的系統(tǒng)結(jié)構(gòu)或者局部控制之間協(xié)調(diào)器的設(shè)計是一項巨大的挑戰(zhàn)。3、大多數(shù)的分布式方法是基于分配的資源從來不會故障的基礎(chǔ)上設(shè)計的。事實上,一旦出現(xiàn)資源故障,可能會導(dǎo)致整個系統(tǒng)停滯。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種具有靈活路徑和裝配操作的基于Petri網(wǎng)的自動制造系統(tǒng)的穩(wěn)健性控制方法,以便不需要資源故障的進程能持續(xù)的加工。
為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:一種基于Petri網(wǎng)的自動制造系統(tǒng)的穩(wěn)健性控制方法,包括中心控制器和局部控制器,中心控制器與局部控制器電連接,其特征是:中心控制器至少包括以下步驟:
1)進行死鎖避免算法:
1.1)初始化,使其中,TEN是使能變遷集合,TDF是使自動制造系統(tǒng)無死鎖運行的變遷集合;
1.2)采集一個可達狀態(tài)M,包括每個庫所所含的托肯數(shù);
1.3)根據(jù)變遷使能規(guī)則,在當(dāng)前狀態(tài)M下,求出所有的使能變遷集合,即若ti是使能的,則TEN:TEN∪{ti},其中ti是狀態(tài)M下的任意一個變遷;
1.4)選擇TEN中的任意一個變遷并判斷該變遷是否處于裝配操作的標(biāo)志圖模塊中;
1.5)當(dāng)變遷位于裝配操作的標(biāo)志圖模塊中,模塊發(fā)射元素
1.6)當(dāng)變遷不位于裝配操作的標(biāo)志圖模塊中,發(fā)射變遷若當(dāng)前的資源足以支持相對應(yīng)的托肯到達最近的全局無死鎖關(guān)鍵庫所,那么i=i+1,進行步驟1.4),否則,i=i+1,進行步驟1.4),i為加后賦值運算符;
1.7)在狀態(tài)M下,當(dāng)TEN中所有的變遷都檢測完畢,得到使系統(tǒng)無死鎖運行的變遷集合TDF;
2)進行穩(wěn)健加強算法:
2.1)初始化,使其中,TRB是使自動制造系統(tǒng)無阻塞運行的變遷集合;2.2)采集當(dāng)前的狀態(tài)M,包括每個庫所所含的托肯數(shù);
2.3)選擇TDF中的任意一個變遷并判斷對應(yīng)的托肯是否使用不可靠資源;
2.4)當(dāng)相對應(yīng)的托肯不使用不可靠資源時,判斷其在將來的加工路徑中是否需要不可靠資源;
2.5)當(dāng)變遷在將來的加工路徑中不需要不可靠資源,則
2.6)當(dāng)變遷在將來的加工路徑中需要不可靠資源,判斷變遷是否位于裝配操作的標(biāo)志圖模塊中;
2.7)當(dāng)變遷位于裝配操作的標(biāo)志圖模塊中,模塊發(fā)射元素
2.8)當(dāng)變遷不位于裝配操作的標(biāo)志圖模塊中,發(fā)射變遷若當(dāng)前的資源足以支持相關(guān)的托肯到達最近的全局穩(wěn)健關(guān)鍵庫所,并且當(dāng)相關(guān)的托肯進入到該關(guān)鍵庫所時,剩余的資源足以支持其他未必需要不可靠資源的進程順利地加工,那么i=i+1,進行步驟2.3),否則,i=i+1,進行步驟2.3),i為加后賦值運算符;
2.9)選擇TDF中的任意一個變遷并且對應(yīng)的托肯需要使用不可靠資源;
2.10)若該不可靠資源沒有故障,則步驟類同于對應(yīng)的托肯不使用不可靠資源;2.11)若該不可靠資源處于故障狀態(tài),則i=i+1,進行步驟2.3);
2.12)在狀態(tài)M下,當(dāng)TDF中所有的變遷都檢測完畢,得到使系統(tǒng)穩(wěn)健運行的變遷集合TRB;
3)進行并發(fā)性改進算法:
3.1)初始化,使其中,TMC是使自動制造系統(tǒng)并發(fā)性改善的變遷集合;
3.2)給變遷集合TRB中的每一個變遷對應(yīng)的托肯添加標(biāo)簽xi;
3.3)用表示第xi個托肯前進的步數(shù);
3.4)求目標(biāo)函數(shù)找出最落后的托肯,則其對應(yīng)的變遷就屬于并發(fā)性改善變遷集合,即
3.5)選擇并發(fā)性改善變遷集合TMC中的任意一個變遷發(fā)射;然后返回到步驟1.2)。
所述步驟1.5)的具體過程為:
1.5.1)若當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,并且在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,分別存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,即并發(fā)路徑上對應(yīng)的托肯能進入到無死鎖局部關(guān)鍵庫所。那么i=i+1,進行步驟1.4;
1.5.2)若當(dāng)前的資源不能支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,或者當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,但是在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,不存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,那么,i=i+1,進行步驟1.4)。
所述步驟2.6)的具體過程為:
2.6.1)若當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,并且在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,分別存在托肯能夠到達各自路徑中最近的穩(wěn)健關(guān)鍵庫所,即并發(fā)路徑上對應(yīng)的托肯能進入到穩(wěn)健局部關(guān)鍵庫所;同時,當(dāng)各個進程中的托肯進入到該局部關(guān)鍵庫所時,剩余的資源足以支持其他未必需要不可靠資源的進程順利地加工,那么i=i+1,進行步驟2.3);
2.6.2)若當(dāng)前的資源不能支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,或者當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,但是在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,不存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,那么,i=i+1,進行步驟2.3)。
與現(xiàn)有的技術(shù)相比,本發(fā)明具有有益的效果:本發(fā)明關(guān)注的是具有不可靠資源的自動制造系統(tǒng)穩(wěn)健監(jiān)督控制器的合成,提出了一種分布式控制方法,該方法不僅能避免由于資源局限引起的死鎖問題,還能解決由于資源故障引起的阻塞問題。通過在線地檢測資源的數(shù)量以及資源的好壞情況,決定相關(guān)零件的前進是否安全。以Petri網(wǎng)為數(shù)學(xué)工具進行建模,對所建立的Petri網(wǎng)系統(tǒng)進行分析和控制。首先通過運行死鎖避免算法,從使能變遷集合TEN中篩選出一系列無死鎖變遷ten∈TDF,它們中任意一個變遷發(fā)射都不會造成系統(tǒng)死鎖;然后,通過運行穩(wěn)健加強算法,篩選出一系列穩(wěn)健的變遷t∈TDF,它們中任意一個變遷發(fā)射都不會出現(xiàn)阻塞問題;最后,通過運行并發(fā)性改善算法,篩選出一系列改善并發(fā)性變遷t∈TRB,它們中任意一個變遷的發(fā)射都會最大化系統(tǒng)的并發(fā)性。從改善并發(fā)性變遷集合TMC中選擇任意一個變遷并發(fā)射,到達一個新的狀態(tài),重新依次運行這三個算法,再產(chǎn)生一個新的變遷集合,如此循環(huán)往復(fù),生成一系列變遷序列。按照該序列發(fā)生,一個托肯可以順利地從系統(tǒng)的初始位置到達最終位置,而且不會有死鎖問題出現(xiàn)。當(dāng)系統(tǒng)中出現(xiàn)資源故障時,那些不需要故障資源的進程會繼續(xù)加工,不會因為需要故障資源進程的停止而阻塞。同時,系統(tǒng)的并發(fā)性得到極大地改善。本發(fā)明的優(yōu)點具體體現(xiàn)在以下幾個方面:
1.本發(fā)明的方法是針對一種具有靈活路徑和裝配操作的系統(tǒng)提出的,與原來的僅僅針對具有靈活路徑或者裝配操作的系統(tǒng)的方法相比,該方法更具有一般性。
2.本發(fā)明提出的方法是分布式控制的,和原來的中心化控制方法相比,該方法不需要檢測全局信息,只需要關(guān)注當(dāng)前運行進程的局部信息,極大地減少了觀測器與進程之間的通信量,從而計算和存儲復(fù)雜度大大地簡化。
3.本發(fā)明采用邊預(yù)測、邊控制的實時在線運行方針,不需要提前設(shè)計控制器。一旦出現(xiàn)緊急情況,比如資源故障,本發(fā)明所采用的方法能動態(tài)預(yù)測到該狀態(tài),并且及時地反饋給控制器??刂破髯龀銮‘?dāng)?shù)目刂茮Q策,控制資源的合理分配,從而避免由于資源故障導(dǎo)致的阻塞問題的出現(xiàn)。
4.本發(fā)明的方法可以極大地改善系統(tǒng)的并發(fā)性。
下面結(jié)合附圖對本發(fā)明進行詳細(xì)說明。
附圖說明
圖1是本發(fā)明實施例裝配操作的標(biāo)志圖模塊示意圖;
圖2是本發(fā)明實施例狀態(tài)機模塊示意圖;
圖3是本發(fā)明實施例擴展的狀態(tài)機模塊示意圖;
圖4是本發(fā)明實施例具有靈活路徑和裝配操作的Petri網(wǎng)模型示意圖。
具體實施方式
本發(fā)明是基于Petri網(wǎng)針對具有靈活路徑和裝配操作的自動制造系統(tǒng)進行穩(wěn)健控制,應(yīng)用分布式的方法,進行在線的、動態(tài)的和實時的控制。
本發(fā)明中將裝配操作嵌入到靈活路徑中,設(shè)計Petri網(wǎng)模型,命名為AESM,如附圖4所示。為實現(xiàn)本發(fā)明的穩(wěn)健控制方針,我們需要引入論文《Distributed Supervisor Synthesis for Automated Manufacturing Systems Using Petri Nets》中對關(guān)鍵庫所的定義。這篇論文中對于關(guān)鍵庫所的定義只是針對順序執(zhí)行的路徑。
然而,本發(fā)明在順序執(zhí)行的路徑中嵌入裝配操作,并且考慮資源不可靠的情況。因此,本發(fā)明對論文《Distributed Supervisor Synthesis for Automated Manufacturing Systems Using Petri Nets》中關(guān)鍵庫所的定義做進一步的擴展,來適用所設(shè)計的Petri網(wǎng)模型AESM。通過判斷AESM中庫所對資源的要求,關(guān)鍵庫所將被分為3類。第一類是使用資源最少的庫所;第二類是使用資源最多的庫所;第三類是使用不可靠資源的庫所。只要一個托肯有足夠的資源支持它進入到該類庫所,整個系統(tǒng)就會順利地加工,不會出現(xiàn)死鎖和阻塞問題。
定義1:在拆卸操作和裝配操作之間的模塊被稱作標(biāo)志圖模塊,簡記為B(ts,te)。其中ts表示拆卸操作的變遷,te表示裝配操作的變遷。B(ts,te)滿足:1)|t*s|≥2,2)|*te|≥2。
以圖1為例,t11代表拆卸操作,t16代表裝配操作,t11和t16之間是兩條平行的進程,分別為<t11,p11,t12,p13,t14,p15,t16>和<t11,p12,t13,p14,t15,p16,t16>。
定義2:一個狀態(tài)機模塊,簡記為B(ps,pe),該模塊滿足:1)|p*s|≥1,2)|*te|≥1。
以圖2為例,ps=p11,pe=p16。一個托肯在p11處可以選擇任意一條路徑加工,例如路徑<p11,t11,p12,t13,p14,t15,p16>或者<p11,t12,p13,t14,p15,t16,p16>,最終都能到達終點。
定義3:一個擴展的狀態(tài)機模塊來自于用標(biāo)志圖模塊迭代的替換狀態(tài)機模塊路徑中的一部分。
以圖3為例,狀態(tài)機模塊B(p11,p16)中t11和t16之間的部分用一個標(biāo)志圖模塊B(t11,t16)代替。
定義4:一個AESM是一個強連接的和純凈的Petri網(wǎng)N=(P,T,F(xiàn),W)。其中,N代表Petri網(wǎng)系統(tǒng)模型,P代表該模型中所有的庫所,T代表該模型中所有的變遷,F(xiàn)代表庫所和變遷之間的連接關(guān)系,W代表庫所和變遷之間的連接弧上的權(quán)值。
1)P=PB∪PE∪PA∪PR:a)PB,PE,PA,PR分別稱為開始庫所、結(jié)束庫所、操作庫所和資源庫所;b)和其中NK={1,2,…,K},表示進程的個數(shù)。對于任意i∈NK,并且i≠j,d)PR={ri,i∈NL},其中NL={1,2,…,L},表示資源的個數(shù);
2)其中,對于任意一個i∈NK,并且i≠j,
3)對于任意一個i∈NK,子網(wǎng)是一個強連接的擴展的狀態(tài)機模塊;
4)其中,表示可靠資源的集合,表示不可靠資源的集合。
定義5:給定一個AESM,是一條簡單的序列路徑,簡記為SSP,該序列滿足i表示第i條進程,j表示第j條進程中第j個庫所。
定義6:給定一個標(biāo)志圖模塊B(ts,te),在ts和te之間是有一系列平行的SSP組成的。定義7:給定一個AESM,p是其中的任意一個庫所,庫所p所對應(yīng)的資源需求量可以表示為一個向量ap=[ap(r1),ap(r2),...,ap(rL)]T,其中L表示資源的種類數(shù),ap(ri)表示庫所p對資源ri的需求量。
定義8:給定一個標(biāo)志圖模塊B(ts,te),改模塊間存在n條并發(fā)的進程,n∈N+,表示并發(fā)進程中的第i條進程,i∈Nn,那么子關(guān)鍵庫所可以定義為
1)
2)且px<p<py。同時,有ap>ap′};
3)且px<p<py。同時,有ap>ap′};
4)且px<p<py。p表示使用不可靠資源的庫所}。
其中,px<p<py表示在同一進程中,庫所px位于庫所p之前,庫所p位于庫所py之前;px,py表示同一進程中的兩個子關(guān)鍵庫所。
根據(jù)定義8可知,子關(guān)鍵庫所可以分為四類:第一類子關(guān)鍵庫所表示不使用任何資源的庫所;第二類子關(guān)鍵庫所表示同一進程中,兩個子關(guān)鍵庫所px與py之間,存在一個庫所,它是在px與py之間對資源需求量最大的庫所,那么這個庫所就是子關(guān)鍵庫所;第三類子關(guān)鍵庫所表示同一進程中,兩個子關(guān)鍵庫所px與py之間,存在一個庫所,它對資源的需求量比它之后到子關(guān)鍵庫所py中任何一個庫所都資源的需求量都大,那么這個庫所就稱為子關(guān)鍵庫所;第四類子關(guān)鍵庫所表示同一進程中,存在一庫所,它使用了不可靠資源,那么這個庫所就稱為子關(guān)鍵庫所。第一類子關(guān)鍵庫暗示了有足夠的資源支持相應(yīng)的托肯到達該類關(guān)鍵庫所。第二類和第三類子關(guān)鍵庫可以歸結(jié)為一類,暗示了如果托肯進入到該類關(guān)鍵庫所,就不再需要更多的資源了。因為當(dāng)前狀態(tài)下,該類關(guān)鍵庫所已經(jīng)占用了最多的資源。第四類子關(guān)鍵庫所暗示了該庫所使用的資源有可能發(fā)生故障。
以圖4為例,在標(biāo)志圖模塊B(t2,t10)中,
由于系統(tǒng)中具有裝配操作,裝配操作模塊中的各個平行的進程要并發(fā)進行,由此我們定義了局部關(guān)鍵庫所。
定義9:給定一個標(biāo)志圖模塊B(ts,te)和一組子關(guān)鍵庫所集合那么局部關(guān)鍵庫所可定義為
1)
2)
3)
其中,表示同一個標(biāo)志圖模塊B(ts,te)中一組并發(fā)的進程。由定義9可看出,局部關(guān)鍵庫所中的子關(guān)鍵庫所屬于同一類。以圖2為例,在標(biāo)志圖模塊B(t2,t10)中,
由于系統(tǒng)中存在標(biāo)志圖模塊,所以一條進程就不是順序連接的。為了定義全局關(guān)鍵庫所,本發(fā)明中將每一個局部關(guān)鍵庫所用一個虛構(gòu)庫所pfic代替,該虛構(gòu)庫所pfic的資源使用等于與之對應(yīng)的局部關(guān)鍵庫所中所有庫所資源使用的綜合。兩個相鄰虛構(gòu)庫所之間插入虛構(gòu)變遷,從而將存在標(biāo)志圖模塊的進程看成一條順序連接的進程。以圖4為例,在標(biāo)志圖模塊B(t2,t10)中,局部關(guān)鍵庫所可以看成一個虛構(gòu)庫所其資源需求量虛構(gòu)庫所不代表實際的操作,僅僅用來判斷托肯是否能前進。一旦托肯進入到標(biāo)志圖模塊,具體的操作需要子關(guān)鍵庫所來實現(xiàn)。
定義10:給定AESM中的一條進程,表示同一個標(biāo)志圖模塊中的所有庫所的集合,Pfic表示虛構(gòu)庫所的集合。它的全局關(guān)鍵庫所可以定義為
1)
2)且px<p<py。同時,px<p′<py,有αp>αp′};
3)且px<p<py。同時,p<p′<py,有ap>ap′};
4)
且px<p<pyοp
表示使用不可靠資源的庫所}。
以圖4左邊的一條進程為例,全局關(guān)鍵庫所
為了方便說明本發(fā)明中的穩(wěn)健無死鎖控制方法,對于定義8中1)-3)稱為無死鎖子關(guān)鍵庫所,4)稱為穩(wěn)健子關(guān)鍵庫所。定義9中1)-2)稱為無死鎖局部關(guān)鍵庫所,3)稱為穩(wěn)健局部關(guān)鍵庫所。定義10中1)-3)稱為無死鎖全局關(guān)鍵庫所,4)稱為穩(wěn)健全局關(guān)鍵庫所。
一種基于Petri網(wǎng)的自動制造系統(tǒng)的穩(wěn)健性控制方法,包括中心控制器和局部控制器,中心控制器與局部控制器電連接,其特征是:中心控制器至少包括以下步驟:
1)進行死鎖避免算法:
1.1)初始化,使其中,TEN是使能變遷集合,TDF是使自動制造系統(tǒng)無死鎖運行的變遷集合;
1.2)采集一個可達狀態(tài)M,包括每個庫所所含的托肯數(shù);
1.3)根據(jù)變遷使能規(guī)則,在當(dāng)前狀態(tài)M下,求出所有的使能變遷集合,即若ti是使能的,則TEN:=TEN∪{ti},其中ti是狀態(tài)M下的任意一個變遷;
1.4)選擇TEN中的任意一個變遷并判斷該變遷是否處于裝配操作的標(biāo)志圖模塊中;
1.5)當(dāng)變遷位于裝配操作的標(biāo)志圖模塊中,模塊發(fā)射元素
1.6)當(dāng)變遷不位于裝配操作的標(biāo)志圖模塊中,發(fā)射變遷若當(dāng)前的資源足以支持相對應(yīng)的托肯到達最近的全局無死鎖關(guān)鍵庫所,那么i=i+1,進行步驟1.4),否則,i=i+1,進行步驟1.4);i為加后賦值運算符;
1.7)在狀態(tài)M下,當(dāng)TEN中所有的變遷都檢測完畢,得到使系統(tǒng)無死鎖運行的變遷集合TDF。
2)進行穩(wěn)健加強算法:
2.1)初始化,使其中,TRB是使自動制造系統(tǒng)無阻塞運行的變遷集合;
2.2)采集當(dāng)前的狀態(tài)M,包括每個庫所所含的托肯數(shù);
2.3)選擇TDF中的任意一個變遷并判斷對應(yīng)的托肯是否使用不可靠資源;
2.4)當(dāng)相對應(yīng)的托肯不使用不可靠資源時,判斷其在將來的加工路徑中是否需要不可靠資源;
2.5)當(dāng)變遷在將來的加工路徑中不需要不可靠資源,則
2.6)當(dāng)變遷在將來的加工路徑中需要不可靠資源,判斷變遷是否位于裝配操作的標(biāo)志圖模塊中;
2.7)當(dāng)變遷位于裝配操作的標(biāo)志圖模塊中,模塊發(fā)射元素
2.8)當(dāng)變遷不位于裝配操作的標(biāo)志圖模塊中,發(fā)射變遷若當(dāng)前的資源足以支持相關(guān)的托肯到達最近的全局穩(wěn)健關(guān)鍵庫所,并且當(dāng)相關(guān)的托肯進入到該關(guān)鍵庫所時,剩余的資源足以支持其他未必需要不可靠資源的進程順利地加工,那么i=i+1,進行步驟2.3),否則,i=i+1,進行步驟2.3);
2.9)選擇TDF中的任意一個變遷并且對應(yīng)的托肯需要使用不可靠資源;
2.10)若該不可靠資源沒有故障,則步驟類同于對應(yīng)的托肯不使用不可靠資源;
2.11)若該不可靠資源處于故障狀態(tài),則i=i+1,進行步驟2.3);
2.12)在狀態(tài)M下,當(dāng)TDF中所有的變遷都檢測完畢,得到使系統(tǒng)穩(wěn)健運行的變遷集合TRB。
3)進行并發(fā)性改進算法:
3.1)初始化,使其中,TMC是使自動制造系統(tǒng)并發(fā)性改善的變遷集合;
3.2)給變遷集合TRB中的每一個變遷對應(yīng)的托肯添加標(biāo)簽xi;
3.3)用表示第xi個托肯前進的步數(shù);
3.4)求目標(biāo)函數(shù)找出最落后的托肯,則其對應(yīng)的變遷就屬于并發(fā)性改善變遷集合,即
3.5)選擇并發(fā)性改善變遷集合TMC中的任意一個變遷發(fā)射;然后返回到步驟1.2)。
步驟1.5)的具體過程為:
1.5.1)若當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,并且在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,分別存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,即并發(fā)路徑上對應(yīng)的托肯能進入到無死鎖局部關(guān)鍵庫所。那么i=i+1,進行步驟1.4);
1.5.2)若當(dāng)前的資源不能支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,或者當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的無死鎖關(guān)鍵庫所,但是在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,不存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,那么,i=i+1,進行步驟1.4)。
步驟2.6)的具體過程為:
2.6.1)若當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,并且在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,分別存在托肯能夠到達各自路徑中最近的穩(wěn)健關(guān)鍵庫所,即并發(fā)路徑上對應(yīng)的托肯能進入到穩(wěn)健局部關(guān)鍵庫所。同時,當(dāng)各個進程中的托肯進入到該局部關(guān)鍵庫所時,剩余的資源足以支持其他未必需要不可靠資源的進程順利地加工,那么i=i+1,進行步驟2.3);
2.6.2)若當(dāng)前的資源不能支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,或者當(dāng)前的資源能夠支持變遷所對應(yīng)的托肯進入到最近的穩(wěn)健關(guān)鍵庫所,但是在表示裝配操作的標(biāo)志圖模塊的其他所有并行路徑中,不存在托肯能夠到達各自路徑中最近的無死鎖關(guān)鍵庫所,那么,i=i+1,進行步驟2.3)。
以圖4中的AESM為例。在該圖中找出一個可達狀態(tài),即M=4·p1+p2+p5+p6+p10+p12+7·p13+p16+2·r1+r3+2·r4+2·r5+r6。根據(jù)死鎖避免算法,可以得到一組無死鎖變遷集合,即TDF={t2,t3,t6,t7,t12,t13,t16},其中任意一個變遷的發(fā)射都不會導(dǎo)致系統(tǒng)死鎖。
根據(jù)穩(wěn)健加強算法,t12,t13和t16屬于TRB,因為這些變遷對應(yīng)的進程不需要任何不可靠資源。t3和t6屬于TRB,因為有足夠的資源支持對應(yīng)的托肯進入到穩(wěn)健關(guān)鍵庫所。當(dāng)不可靠資源r6處于好的狀態(tài),t7屬于TRB,因為該變遷之后的進程不需要任何不可靠資源。t2不屬于TRB,因為該變遷之后需要使用不可靠資源,但是沒有足夠資源支持相應(yīng)的托肯進入到對應(yīng)的穩(wěn)健關(guān)鍵庫所。因此,可得TRB={t3,t6,t7,t12,t13,t16}。
根據(jù)并發(fā)性改善算法,我們知道變遷t3,t6,t7,t12,t13和t16對應(yīng)的托肯分別在庫所是p2,p5,p6,p12,p13和p16。這些托肯對應(yīng)的庫所的步數(shù)分別是1,2,3,5,0和3,最大的步數(shù)差是5。根據(jù)目標(biāo)函數(shù)發(fā)射一個變遷使得最大步數(shù)差減小,因此可得TMC={t13},該變遷的發(fā)射會實現(xiàn)較高的并發(fā)性。
本發(fā)明中符號說明:
TENTEN 使能變遷集合
TDFTDF 無死鎖變遷集合
TRBTRB 穩(wěn)健性變遷集合
TMCTMC 改善并發(fā)性變遷集合
空集
M 一個狀態(tài)標(biāo)識
∪∪ 并
∩∩ 交
不屬于
∈∈ 屬于
t 變遷
p 庫所
r 資源
N Petri網(wǎng)系統(tǒng)模型
P 庫所集合
T 變遷集合
F 庫所與變遷之間的連接關(guān)系
W 庫所和變遷之間的連接弧上的權(quán)值
PBPB 開始庫所集合
PEPE 結(jié)束庫所集合
PAPA 操作庫所集合
PRPR 資源庫所集合
可靠資源庫所集合
不可靠資源庫所集合
NKNK 進程的總數(shù)量
B(tsts,tete) 標(biāo)志圖模塊
B(psps,pepe) 狀態(tài)機模塊
apap 庫所p資源需求量
L 資源的種類數(shù)
N+N+ 正整數(shù)
lsublsub 子關(guān)鍵庫所集合
lLOClLOC 局部關(guān)鍵庫所集合
lRBlRB 全局關(guān)鍵庫所集合
PficPfic 虛構(gòu)庫所集合
縮略詞對照表
縮略詞 英文全稱 中文對照
SM State Machine 狀態(tài)機
AESM Augmented Extended State Machine 擴增的狀態(tài)機
SSP Simple Sequential Path。