介紹
智慧型代理和嵌入式系統是當前計算機研究的熱點,它們各有優點和適用範圍。本文所描述的嵌入式智慧型代理技術力圖將二者融合在一起,兼具二者的優點。在文章的第一節,簡要說明智慧型代理的概念及其特點(智慧型性、自治性、機動性)。第二節主要介紹了嵌入式軟體及特點。第三節介紹嵌入式智慧型代理技術,描述了一個嵌入式智慧型代理技術在智慧型建築中的套用模型。在文章最後部分簡要說明了嵌入式智慧型代理技術的套用前景。
智慧型代理
智慧型代理
著名Agent理論研究者Wooldridge博士認為:智慧型代理(Intelligent Agent)是一個能在特定環境中採取複雜自治行為的計算機系統。從套用的角度看。智慧型代理就是能自動執行用戶委託任務的計算實體。換句話說.智慧型Agent是代替人去完成某種特定任務,是作為人的代理身份出現的。代理通常由軟體構成。它與過去等待人的命令而動作的軟體不同,它可以自己決定實施何種行為,自發地行動。
智慧型代理的特點
智慧型代理具有智慧型性、自治性、機動性的特點。
•智慧型性(Intelligent):智慧型性是指代理具有推理和學習的能力。它描述了代理接受用戶目標指令並代表用戶完成任務的能力。用戶可以把代理的目標和行為寫成一個簡單的腳本。然後設定某一事件觸髮腳本代碼執行。或者,用一組規則組成代理的推理行為,這組規則描述了決策和目標信息。複雜的代理能夠根據用戶的目標和其工作的環境資源等條件進行學習。並逐漸適應它們的環境。
•自治性(Autonomy):自治性是指代理的自主與協同工作能力。智慧型代理應該是一個獨立自主的計算實體。它應該能在無法事先建模的、動態變化的信息環境中,獨立規劃複雜的操作步驟,解決實際問題,並在用戶不參與的情況下。獨立發現和獲取符合用戶需求的資源與服務。同時,代理在工作過程中,應該能夠與其它各類應用程式、資料庫、資源管理器互動協同工作。更高級的代理能夠與其它代理協商合作完成~些複雜的工作,如制訂會議時間表、舉辦電子拍賣會等。
•機動性(Mobility):機動性是指代理在網路之間遷移的能力。機動性最低的代理稱作靜態代理,它是不能遷移的。(靜態代理也可以被分布使用)。機動性高一些的代理,具有一定的遷移能力,在一台機器上寫的腳本可以轉移到另一台機器上執行。因為腳本在執行前遷移。所以不需要伴隨狀態信息。機動性最高的代理可以在執行過程中掛起,並遷移到另一台機器重新恢復執行,這種代理在遷移時必須伴有狀態信息。
嵌入式系統
嵌入式系統
根據IEEE(國際電氣和電子工程師協會)的定義。嵌入式系統(Embedded System)就是“控制、監視或輔助設備、機器和車間運行的裝置”(Devices used to control,monitor,or assist the operationo frequipment,machine or plants)。嵌入式系統是以套用為中心、以計算機技術為基礎.軟硬體可縮擴的,適應套用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。它主要由嵌入式處理器、相關支撐硬體、嵌入式作業系統及套用軟體系統等組成,是可獨立工作的“器件”。其主要作用是實時控制、監視、管理移動計算機、數據處理等。或輔助其它設備運轉.完成各種自動化處理的任務。嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行業的具體套用相結合後的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。而嵌入式軟體技術是後PC時代的各種信息技術中關鍵的核心技術之一。
嵌入式軟體
嵌入式軟體主要由上述嵌入式系統所包括的軟體部分.及以硬體形式存在的軟體(如軟體的固化形態)部分。與通用型計算機軟體相比,嵌入式軟體具有以下主要特點:
•高實時性、高可靠性嵌入式系統都是面向工業控制領域.對系統的實時性和可靠性要求非常高,即要在允許的時間範圍內做出可靠的決策和控制。如果達不到要求.對整個生產系統和人的生命財產安全都將造成災難性的後果。
•占用空間小、效率高嵌入式系統是嵌入在別的硬體里,可使用的記憶體空間相當小。因此嵌入式軟體必須進行代碼最佳化,使用最小的空間達到系統需要的功能。但隨著半導體集成度的提高,空間狹小得到一定程度的緩解,為了實現更為複雜的控制,一些嵌入式軟體中包含了嵌入式作業系統.在作業系統的基礎上,開發面向套用的嵌入式軟體。
•面向特定套用、可根據需要靈活裁減嵌入式軟體一般都是面向特定套用,這是因為只有為具體問題設計所需的功能控制,才能近可能的精簡代碼從而達到最優。如果套用了嵌入式作業系統,該作業系統必須是可根據需要靈活裁減以使作業系統本身也達到最優。
嵌入式智慧型代理
智慧型代理與嵌入式軟體均屬於軟體,它們都有十分鮮明的特點。它們的區別也是十分明顯和突出的:
•嵌入式軟體強調實時性和可靠性,而智慧型代理強調智慧型性。·在嵌入式系統中,空間是有限的,所以嵌入式軟體非常注意代碼最佳化,占用空間要小。而智慧型代理一般不存在這樣的問題。
•嵌入式軟體一般都是專用於某個控制,可移植性較差;智慧型代理機動性要好,具有較強的可移植性。
•嵌入式軟體要求按照某種控制策略進行控制。智慧型代理要求具有自主和協調能力。
•只要是智慧型性、自治性和機動性達到較高的程度的軟體或軟體系統都可稱為智慧型代理:而嵌入式軟體則專指嵌入式系統所包括的軟體部分及以硬體形式存在的軟體(如軟體的固化形態)部分。
嵌入式智慧型代理
嵌入式智慧型代理技術是把智慧型代理和嵌入式軟體融合在一起,充分發揮二者的優勢,從而提升整個系統的性能的一種技術。智慧型代理與嵌入式軟體均屬於軟體,二者融合應該不是很難的事情。融合的方法有兩種:
1.把智慧型代理融入嵌入式軟體中:使嵌入式軟體在保持原有的高實時性、高可靠性、占用空間小、效率高、面向特定套用、可根據需要靈活裁減等特點的基礎上,達到智慧型代理的智慧型性、自治性和機動性。
2.把嵌入式軟體融入智慧型代理中:使智慧型代理在保持原有的智慧型性、自治性和機動性的基礎上,達到高實時性、高可靠性、占用空間小、效率高、面向特定套用、可根據需要靈活裁減。
可以看出第二種方法並不是我們所期待的,我們期待的是第一種方法所要達到的。
在現代建築設計和使用過程中,節省能源是一個非常重要突出的問題。為了達到建築節能,必須把室內照明和溫度調節到適當的值,既滿足人們工作和生活的需要,又達到節省能源。傳統的嵌入式系統或者自動控制系統,只能根據預先設定好的光線強度和室內溫度進行調節,不能以人為中心,根據不同的人、人的多少、房間的類型(辦公、會議、休閒等)來調節,智慧型化程度不高,自治性不夠。套用了嵌入式智慧型代理的建築的處理過程則與上述過程完全不一樣,其結構示意圖如圖所示。
在一個樓層中有若干房間,每個房間都布置有感測器、執行器,與別的系統不同的是,在每個房間還布置有一個智慧型代理,此智慧型代理可以是嵌入在執行器中。也可以作為一個獨立部件存在。智慧型代理把感測器與執行器連線在一起,感測器把獲得的環境變化信息傳到智慧型代理。
智慧型代理在允許的時間範圍內做出智慧型的決策,並把決策信息送到執行器,由執行器完成適當的控制操作,來達到我們所希望的環境變數值。房間的智慧型代理之間通過樓層網路聯繫在一起,代理之間相互獨立,又相互協調工作。如當一個人進入一間房屋時,智慧型代理首先要能感知到是進入房間的是誰,並能迅速根據此人的個人興趣愛好(事先存放在代理中,可以修改),選擇他最喜歡的光線強度和室內溫度,並把這些信號傳到適當的執行器.進行光線和溫度的調節。當此人離開房間A而進入另一問房間B的時候,房間A的代理要把此人的個人興趣愛好信息傳遞給房間B的代理,房間B的代理根據此信息進行光線和溫度的調節,同時房間A的代理把光線和溫度調節到默認值。每一個房間的代理都有非常高的智慧型性,而不同房間的代理之間又協同工作。把智慧型代理套用於原有的嵌入式系統或自動控制中。既保持原有系統的高實時性、高可靠性等特點.又提升原有系統的智慧型性、自治性和機動性。
基本功能
在基於MAS的分散式網路化製造系統中,底層設備本身要求具有與製造單元內的其他設備進行互動的能力,以達到獲取任務,資源共享,相互協調和合作的目的。採用嵌入式智慧型代理後,可以將設備有關處理外部事宜的智慧型和能力移植給它的代理,從而使得設備無須花費額外的時間處理涉外事宜,保證了設備加工的實時性。嵌入式智慧型代理應具有如下功能:
1.從網路上獲得加工信息,並根據接受到的信息和自身的能力決定是否接受該任務;
2.當接受到的任務超出自身的能力時,能夠根據相關信息,尋求可能合作的設備,並向這些設備傳送訊息進行合作。
3.從製造單元Agent接受完成相應任務所需要的數據和信息,並將其傳送給加工設備。
4.接受加工設備返回的狀態信息和加工任務完成情況,以對設備進行監控,並能向製造單元Agent反饋這些信息。
硬體平台
嵌入式智慧型代理是加工設備對外互動的代表,通過設備接口與設備進行通信。本系統中的設備是具有網路接入能力的加工設備,嵌入式智慧型代理負責其對外事務的完成。在當前的研究工作中,為便於本模組的實現,首先將嵌入式智慧型代理作為設備的外置模組,二者間通過區域網路實現相互間的通信和信息互動。設備只與其智慧型代理進行通信而不與其他設備的代理進行通信,各個設備間通過其智慧型代理實現信息的互動。採用乙太網作為通信網路,實現嵌入式智慧型代理與設備間以及製造單元代理與上層網路間進行信息互動的系統框架結構如圖所示。根據嵌入式智慧型代理的功能需求,本系統選用廣州致遠公司的Easy ARM2200開發套件,其微處理器是Philips公司的LPC2210,該開發套件的基本結構如圖 所示。
軟體設計
在本系統中採用嵌入式作業系統以滿足多任務間協調的需要和方便系統軟體的設計,考慮相關因素和參考現有的套用狀況,本系統選擇原始碼公開的μC/OS作業系統,其具有可移植性好,占先式搶占核心,任務的執行時間確定等特點。在對作業系統進行了相應的擴展,包括網路協定棧和底層驅動的編寫和加入後,本系統的套用層軟體將在此基礎上進行編寫。
套用層通信協定的設計
在本系統中嵌入式智慧型代理所要做的是與製造單元代理,設備,以及單元中其他設備代理間的信息互動。為正確的接收訊息和進行訊息的處理,需要制定相應的通信協定。
與製造單元代理間的通信協定:嵌入式智慧型代理與製造單元間的信息互動主要包括接收製造單元代理髮出加工任務信息和設備信息查詢指令。該協定以字元S開頭,後面兩位表示命令類型,20表示後面的數據內容是加工任務信息,要求嵌入式智慧型代理做出相應的處理並回送處理結果。30表示製造單元代理要求嵌入式智慧型代理回送設備的當前狀態,這時協定中的數據內容為空,如圖中虛線框所示。具體格式如圖所示。
與設備間的通信協定:嵌入式智慧型代理與設備間的通信協定主要也包括兩部分:設備向嵌入式智慧型代理髮出請求任務信息,設備向嵌入式智慧型報告自身狀態信息。該部分協定以字元C開頭,後面兩位表示命令類型。20表示設備請求任務信息,主要是數控代碼,此時數據內容為空。30表示後面的1位是設備的狀態信息。0表示設備加工過程中出現問題或故障,此為緊急事件,一旦發生將立即上報。1表示加工任務完成。2表示設備狀態回復正常。具體格式如圖所示。
與同級設備代理間的通信協定:同級設備間的通信協定主要用於當本設備尋求合作夥伴和進行任務遷移時的信息互動。此時嵌入式智慧型代理將找出可能合作的設備信息並轉發任務信息,收到任務信息的同級結點將回送其狀態信息。在該協定中,以字元F開頭,此時後面接的命令類型為20。通過狀態信息,本地智慧型代理判定將要完成該任務的設備,並將傳送加工信息給該設備。具體格式如圖所示。
任務的設計
在本系統中,嵌入式智慧型代理將根據具體的情況在網路傳輸中扮演不同的角色。
與製造資源代理通信,接收任務時作為伺服器被動的等待製造單元代理的信息請求,請求信息時又作為客戶端主動的向製造資源代理髮出請求;
任務合作時,作為客戶端主動的連線同級結點獲取信息;
與設備通信時,作為伺服器回響設備的請求並傳送相關信息。這樣各個設備代理就需要在伺服器與客戶端兩個角色間不斷的轉換,同時在需要的時候也要進行信息的轉發。如果採用TCP協定,每轉換一次需要建立一次3次握手的TCP連線,同時需要維護每條連線的狀態,這在數據傳輸時將耗費大量的系統資源和時間,引入較大的網路延遲。UDP由於是無連線的協定,在由套用層保證數據正確傳輸的情況下,將更適合這樣的場合,因此在本系統中選用UDP協定作為網路傳輸協定 。
嵌入式智慧型代理的程式由一組任務所組成,其中最重要的是網路信息處理任務。它將完成以下任務:
1.等待上位機的任務信息,並根據信息內容做出判斷是否接收該任務,並回送相應信息。此處將調用任務評價函式taskevaluate()。如果接收則改變本地設備的相關信息,如果無法完成該任務將調用任務合作函式findcooperation()找出可能合作的結點;
2.主動請求可能合作站點的狀態信息,向findco-operation()函式返回的可能合作的站點(可能多個)轉發任務信息,並接收這些站點回送的當前狀態信息。調用equipmentevaluate()函式,根據這些設備的狀態信息判定接收該任務的站點,向其轉發加工信息。
3.接收設備的狀態信息:如果設備完成加工任務,更新設備的狀態信息;如果設備故障,將鎖定設備不再接收加工任務;設備恢復正常將解除設備的鎖定。各個任務的簡要說明和優先權設定如表所示。前面描述了系統的任務劃分和幾個基本的任務,整個系統的軟體工作流程圖如圖所示。
套用範圍和前景
嵌入式智慧型代理技術是在嵌入式軟體基礎上融入智慧型代理技術.因此它可以套用在任何一個嵌入式系統當中,套用範圍是相當廣的。嵌入式智慧型代理的套用前景跟人們生活息息相關。隨著人們生活水平和質量的提高,面向生產的控制要求達到人性化和智慧型化,生產安全性得到越來越高的重視。同時人們對周圍建築和家居環境要求與越來越高,不僅要求建築是智慧型化的建築,更要求家用設備(家用電器)智慧型化和人性化的設備。這些都保證了嵌入式智慧型代理技術會隨著人們生活的提高而不斷套用的。