鄧可
半導體生產(chǎn)線具有高不確定性、反復重入型加工和多品種混合生產(chǎn)的特點,是一類最復雜的生產(chǎn)制造系統(tǒng)[1]。由于半導體生產(chǎn)屬于典型的離散事件動態(tài)過程,很難用精確的解析模型來進行描述和分析,因此仿真方法被證明是研究此類多重入生產(chǎn)系統(tǒng)調(diào)度策略的有效方法之一。Rose、Kim[2,3]等將離散事件仿真模型用于芯片制造過程調(diào)度,生成優(yōu)化的調(diào)度方案;Rulkens、Campen和Herk[4]應(yīng)用仿真方法確定硅片加工中的批處理操作的最優(yōu)批量;Hung[5]等人用動態(tài)仿真的方法對半導體制造系統(tǒng)中,常用的決策規(guī)則進行研究和比較,分析了各種規(guī)則與性能指標之間的關(guān)系。一般來說,仿真研究方法主要是通過運行仿真模型來收集數(shù)據(jù),分析不同控制策略和設(shè)備配置的效果,從而為選用合適的調(diào)度方法提供依據(jù)。傳統(tǒng)仿真往往忽略了仿真智能性方面的需求。實際上,仿真過程中決定工件在哪臺設(shè)備進行加工不僅依靠簡單的調(diào)度規(guī)則,而可以看作是具有智能性特征的多Agent的協(xié)商過程。
利用多 Agent系統(tǒng)進行分布式的建模與仿真是一種描述復雜現(xiàn)象、研究復雜系統(tǒng)、實現(xiàn)復雜自適應(yīng)性計算的有效手段,其建模方法能有效地滿足仿真系統(tǒng)對模型智能性的需求[6,7]。因此采用基于多 Agent的建模方法來研究半導體生產(chǎn)線的仿真問題,具有天然的優(yōu)勢。然而半導體生產(chǎn)規(guī)模龐大,仿真所包含的Agent數(shù)目非常多,必須為其提供一個標準的基礎(chǔ)技術(shù)框架來解決互操作及一致性問題。高層體系結(jié)構(gòu)(High Level Architecture,HLA)[8]為實現(xiàn)大規(guī)模和互操作的仿真系統(tǒng)提供了很好的支持。它通過聯(lián)邦對象模型(FOM)和仿真對象模型(SOM)提供了一致的聯(lián)邦成員的設(shè)計,并且在聯(lián)邦運行支撐環(huán)境(Run Time Infrastructure,RTI)中提供了6類標準服務(wù),使系統(tǒng)具有高度的可重用性,良好的互操作性以及一致性的特點。在HLA框架下,利用多Agent實現(xiàn)分布式的建模與仿真是實現(xiàn)復雜系統(tǒng)仿真的一種新的研究方法[9]。
本文開發(fā)了一套基于多 Agent的半導體生產(chǎn)線調(diào)度仿真平臺原型系統(tǒng)。由于采用HLA框架進行設(shè)計,仿真聯(lián)邦成員之間能夠利用聯(lián)邦運行支撐環(huán)境提供的服務(wù)實現(xiàn)一致的互操作訪問,多Agent能夠自由地加入或退出仿真聯(lián)邦,因此平臺具有良好的可移植性、可擴展性及可定義性。并且,多 Agent在調(diào)度仿真過程中能夠根據(jù)生產(chǎn)線不確定性隨機狀態(tài)做出判斷,通過協(xié)商生成調(diào)度派工指令,滿足了仿真的智能性要求。
針對半導體生產(chǎn)線的特點,仿真平臺應(yīng)具備以下的基本功能:①仿真模型構(gòu)建及其參數(shù)設(shè)置;②模擬半導體硅片生產(chǎn)運行過程;③實現(xiàn)仿真智能化,多Agent之間建立動態(tài)協(xié)商算法;④仿真結(jié)果展示。據(jù)此提出仿真平臺的系統(tǒng)框架如圖1所示,整個仿真平臺邏輯上由用戶界面、仿真聯(lián)邦及基礎(chǔ)數(shù)據(jù)3個部分組成。
用戶界面是系統(tǒng)的表現(xiàn)層,它直接與顯示聯(lián)邦成員進行交互實現(xiàn)仿真運行展示功能。用戶可以通過此界面進行仿真參數(shù)設(shè)定、仿真過程監(jiān)控以及仿真結(jié)果分析。基礎(chǔ)數(shù)據(jù)包含仿真系統(tǒng)運行的基本數(shù)據(jù),以提供仿真聯(lián)邦成員的數(shù)據(jù)支持,包括模型參數(shù)、運輸數(shù)據(jù)、布局數(shù)據(jù)、機臺數(shù)據(jù)、Flow數(shù)據(jù)、協(xié)商算法等。協(xié)商算法由Agent聯(lián)邦成員使用,完成仿真智能性方面的任務(wù)。
仿真聯(lián)邦的設(shè)計是系統(tǒng)的核心部分。在本文中,仿真聯(lián)邦由Agent聯(lián)邦成員和傳統(tǒng)的HLA(非Agent)聯(lián)邦成員共同構(gòu)成。在HLA框架下加入Agent的建模語義,構(gòu)成了Agent的仿真聯(lián)邦成員。在仿真上下文中,Agent聯(lián)邦成員具有智能行為,即對仿真過程中的調(diào)度決策行為進行仿真,非Agent聯(lián)邦成員則實現(xiàn)常規(guī)的系統(tǒng)仿真功能。Agent聯(lián)邦成員和非Agent聯(lián)邦成員之間通過底層的RTI進行通信。
整個仿真聯(lián)邦中包括設(shè)備、工件、運輸、緩沖區(qū)、顯示、控制等六個聯(lián)邦成員。其中,設(shè)備和工件是Agent聯(lián)邦成員,各個聯(lián)邦成員的功能分別描述如下:
(1)設(shè)備Agent聯(lián)邦成員:帶有設(shè)備的加工信息,包括設(shè)備加工能力、加工批量、加工時間等,采用協(xié)商算法與工件成員Agent協(xié)商并決定工件如何分派。
(2)工件Agent聯(lián)邦成員:帶有工件的加工信息,包括工藝類別(產(chǎn)品版本)、標志號、交貨期、加工流程等,采用協(xié)商算法與設(shè)備成員Agent協(xié)商選擇具體設(shè)備進行加工。
(3)運輸聯(lián)邦成員:仿真運輸過程,包括裝載能力、運輸時間等。
(4)緩沖區(qū)聯(lián)邦成員:仿真設(shè)備的緩沖區(qū),包括緩沖區(qū)大小,當前緩沖區(qū)使用情況信息。
(5)控制聯(lián)邦成員:系統(tǒng)初始化時,將模型參數(shù)、Flow、機臺等數(shù)據(jù)加載到仿真模型。并且在仿真進行過程中,模擬投料、設(shè)備的維護/故障、工件返工等不確定性事件。
(6)顯示聯(lián)邦成員:訂購其他成員的屬性,并提供給表示層以圖形的方式顯示出來,以獲得直觀的效果。也可以在仿真時選擇不加入該聯(lián)邦,以提高仿真的效率。
聯(lián)邦成員間的互訪是實現(xiàn)仿真系統(tǒng)的基礎(chǔ)。在本文中,仿真聯(lián)邦中的成員(Agent成員和非Agent成員)之間的交互分為三種情況:對象類、交互類和Agent消息(見表1)。對象類和交互類是HLA提供的聯(lián)邦成員間的標準交互模式,它們直接通過RTI進行交互,對象類的屬性用于在聯(lián)邦成員之間傳遞實體的屬性值,交互類則在聯(lián)邦成員之間共享離散事件的信息[10]。
Agent消息是Agent聯(lián)邦成員之間信息交換的模式,多Agent之間通過Agent消息進行調(diào)度任務(wù)協(xié)商。我們采用將Agent消息以XML數(shù)據(jù)包的形式封裝在HLA交互類當中,然后通過RTI進行發(fā)送和接收的方式來實現(xiàn)HLA框架下的Agent消息的集成。
例如,工件Agent對設(shè)備Agent的報價信息可以由封裝在HLA交互類中的Agent消息表示如下:
表1 聯(lián)邦成員間的交互
仿真過程中,設(shè)備Agent和工件Agent通過協(xié)商算法來確定工件的調(diào)度方案,以滿足半導體生產(chǎn)線工件調(diào)度仿真中智能性的需求。具體協(xié)商流程如圖2所示。
協(xié)商過程主要包括3個階段:首先是工件Agent根據(jù)當前的加工任務(wù)決定自己的初始報價,即工件滿足交貨期要求加工的最遲開工時間;二是設(shè)備Agent生成自己的反報價,即工件在此設(shè)備上加工的最早開工時間;三是工件 Agent評價設(shè)備Agent的報價。
圖2 Agent聯(lián)邦成員協(xié)商決策模型
工件Agent i對所控制工件的當前加工工序k的初始報價為
可見,式(1)分為三個部分,一是協(xié)商完成的最后期限;二是設(shè)備Agent做出回應(yīng)的最后期限;三是所控制工件的待加工工序的最遲開工時間。其意義是工件Agent的初始報價總是盡量滿足所控制工件的交貨期要求,如果工件已經(jīng)拖期,則盡可能縮短拖期時間。
(2)設(shè)備Agent生成自己的反報價
設(shè)備Agent的反報價是工件Agent公告的加工任務(wù)在其所控制設(shè)備上的最早開工時間,主要遵循最小化整定時間和先到先服務(wù)的思想。設(shè)備Agent的反報價Pj為
(3)工件Agent評價設(shè)備Agent的報價
工件Agent在評價設(shè)備Agent的報價時,主要考慮工件當前待加工工序在設(shè)備上的完工時間。也就是說,不僅要考慮設(shè)備Agent的報價,即工序的開工時間,還要考慮設(shè)備的加工能力,即完成當前工序所需的時間。因此,工件Agent評價設(shè)備Agent報價的方法為
工件Agent在評價設(shè)備Agent的報價時主要考慮工件當前待加工工序在設(shè)備上的完工時間。也就是說,不僅要考慮設(shè)備Agent的報價,即工序的開工時間,還要考慮設(shè)備的加工能力,即完成當前工序所需的時間。因此,工件 Agent評價設(shè)備Agent報價的方法為
式中,Ek為能夠完成工件i的工序k的設(shè)備集。公式(3)的意義是使得工件i的工序k完工時間最早的設(shè)備Agent的報價會被接受。
在windows平臺下,采用JADE(Java Agent Development Framework)作為Agent開發(fā)工具進行了仿真實驗。我們在實驗模型中建立120個加工點,40個緩沖區(qū),仿真了100張任務(wù)單的加工過程。圖3是仿真主界面,圖4是仿真結(jié)果。
圖3 仿真主界面
圖4 加工點狀態(tài)實時顯示
如圖4所示,顯示的是緩存B7中的一種物料Q的存儲情況。通過顯示 agent,可以實時便利的觀察到各個仿真節(jié)點的相關(guān)數(shù)據(jù),同時可以選擇其他的組合顯示方式。
本文對半導體生產(chǎn)線調(diào)度仿真進行了設(shè)計與實現(xiàn)。在HLA框架下,仿真聯(lián)邦的設(shè)計同時集成了Agent聯(lián)邦成員和非Agent聯(lián)邦成員,并且通過多Agent的協(xié)商決策機制有效克服了半導體生產(chǎn)線仿真的復雜性。采用將Agent消息封裝成交互類,然后通過RTI進行傳輸,實現(xiàn)了所有聯(lián)邦成員間的一致通信。最后,采用JADE工具構(gòu)建了仿真原型系統(tǒng),并通過仿真實驗驗證了系統(tǒng)的適用性。
[1]Kumar P R. Re-entrant Lines. Queuing Systems, 1993,13(2):87-110
[2]Rose O. Estimation of the cycle time distribution of a wafer fab by a simple simulation model. Proceedings of the International Conference on Semiconductor Manufacturing Operational Modeling and Simulation, San Francisco, CA, 1999, p133-138.
[3]Kim Y D, Shim S O, Choi B, et al. Simplification methods for accelerating simulation-based real-time scheduling in a semiconductor wafer fabrication facility.IEEE Transactions on Semiconductor Manufacturing,Vol.16, No.2, 2003, p290-298.
[4]Rulkens H J, Campen E J, Herk J, et al. Batch size optimization of afinance and pre-clean area by using dynamic simulations. IEEE/SEMI Advanced Semiconductor Mnaufacturing Conference and workshop,Sep23-25, 1998:439~444.
[5]Hung Y F, I R Chen. Simulation study of dispatch rules for reducing flow times in Semiconductor wafer fabrication. Production Planning and Control, 1998,9(7):714-722.
[6]Salvatore Vitabile, Vincenzo Conti, “An extended JADE-S based framework for developing secure Multi-Agent Systems”, Computer Standards &Interfaces, In Press, Corrected Proof, Available online 7 April 2008.
[7]Catherine Linard, Nicolas Pon?on, Didier Fontenille et al,“A multi-agent simulation to assess the risk of malaria re-emergence in southern France”[J], Ecological Modeling, In Press, Corrected Proof, Available online 14 October 2008.
[8]Dan Chen, Stephen John Turner.“A decoupled federate architecture for high level architecture -based distributed simulation”[J], Journal of Parallel and Distributed Computing, Volume 68, Issue 11, November 2008, Pages 1487-1503.
[9]張志利,陳珊,龍勇.基于HLA的分布交互仿真程序設(shè)計[J].系統(tǒng)仿真學報, 2006, 18(Suppl.2): 311-314.
[10]楊樂平,陳欽,朱彥偉. HLA框架下的Agent與XML應(yīng)用研究[J].系統(tǒng)仿真學報, 2007,19(5): 1045-1048.