韋麗紅,王繼鋼
(呼倫貝爾學院 計算機科學與技術學院,內蒙古 海拉爾 021008)
由于傳統(tǒng)的web服務中沒有語義技術,不能使計算機按照其理解和處理的形式來定義和描述服務.若能將語義web提供的語義信息和能獨立應用的web服務相結合,形成語義web服務,就能為web服務的自動組合提供良好的契機,從而使計算機既能理解服務又能實現(xiàn)準確快速的查找和自動組合.與此同時,主體因其特性而被認為能夠代替人而做一些特定行為的實體.因此,在傳統(tǒng)的web服務的基礎上,將主體技術融入于web自動服務體系中,將服務的自動組合視為一種在多主體背景下的規(guī)劃問題,服務自動組合的目標看做成主體目標,通過基于描述邏輯和目標規(guī)劃算法的一些有效推理,從而實現(xiàn)服務的自動組合.
主體agent是一種人工智能和分布式計算相結合的產物,它能在特定的環(huán)境下持續(xù)、自主的運行,不需要人為的控制也能感知外部的環(huán)境從而自主決策,作出相應的行為,并能在必要的情況下同其他的一些實體進行交換的軟件實體.主體agent的基本辨認標準便是根據其四個特性:協(xié)作性、適應性、自主自主性及社會性.這四個特性被認作為一個整體實體,也正因為這些特性,使得主體在某些方面有人的特性,被視作人類某些行為的最合適的“代理人”.通常情況下,單個的主體是針對某些特定的領域,來解決某些特定的難題.但因為資源庫及知識庫的限制,單個主體的能力會被大打折扣,無法很好的適應動態(tài)、開放的環(huán)境.而為了解決那些僅僅靠獨立的主體而無法完成的復雜難題,多主體系統(tǒng)被提出.通俗的理解,多主體系統(tǒng)(MAS)是將獨立的主體相結合,是一個將分布在網路上的多個解決問題的方法集合而形成的大型復雜系統(tǒng),來最大限度的解決問題.
Web服務是指一種以服務為導向架構的技術,根據Web規(guī)范協(xié)議來為客戶提供服務,從而使不同平臺之間的各種應用服務能夠相互操作.目前,隨著Web服務技術的逐漸提升,越來越多的用戶利用Web服務來實現(xiàn)資源共享.但由于Web服務作用本身的有限性,組合多個Web服務來共同完成一項工作就成為了難題.
隨著計算機行業(yè)的迅速發(fā)展,Web網絡應用的不斷延伸,更多的客戶要求Web應用能夠保持語義和自動化服務,語義Web便基于這種目的而被提出.語義Web是互聯(lián)網行業(yè)和計算機行業(yè)對網絡下一發(fā)展階段所給出的術語化釋義,主要是在網絡上建立一種對數(shù)據信息的“無縫式”連接,而且,這種連接還不僅僅局限于網絡.因為,Web網頁上的信息只能為我們人腦所理解,計算機程序無法對這些語言進行處理和利用,而語義Web的出現(xiàn)無疑解決了這一重要難題.語義Web它能對Web網頁的信息進行清晰易懂的語義標記,使得這些標記能被計算機或是主體輕松理解從而去自動的處理Web網絡上巨大的信息.但是因為已有的語義Web服務組合方法卻并未充分結合主體因素,而不能提供給客戶最佳的服務.
目前,互聯(lián)網上的信息資源不再僅僅就是數(shù)據或是數(shù)據中所代表的信息資源.因為信息技術的高速發(fā)展和人們在實際生產、生活過程中對信息資源的需要,使得很多信息資源在經過服務封裝后,僅僅通過Internet就能夠訪問.面對這種情況,語義Web和Web服務相結合而形成的新領域——語義Web服務應運而生,它通過對Web服務進行一定的語義標記,使得Web服務能夠被計算機和主體容易理解及處理的實體.正如前面提及的語義Web服務,顧名思義,就是語義Web技術和Web服務的結合,它為Web服務帶來了新的繁榮發(fā)展的生機.語義Web服務它不僅會是一種更為智能的服務,更將成為未來Web服務的發(fā)展趨勢.當然,只有當人們通過創(chuàng)建客戶應用程序去利用和收集Web上的分散信息資源時,語義Web服務的功能才能充分發(fā)揮出來.語義Web服務的研究方向主要就是如何實現(xiàn)Web服務的自動組合.具體說來,語義Web服務的自動組合就是用戶能夠通過對應的應用程序對自己所需要的Web服務進行自動發(fā)現(xiàn)、選擇、組合和監(jiān)控等很多實際的操作,來真正滿足用戶的真正需要.
通過研究主體和語義Web服務的比較情況,發(fā)現(xiàn)這兩者在分布式計算機方面上具有極大的相同特性.例如,雙方都是先封裝好功能的應用板塊,都是在基于語義標注信息的處理,都能夠將多個個體能力集中來協(xié)作解決復雜的問題等等.因此,將在語義Web服務中融入主體技術,能夠使語義Web服務在幫助用戶處理信息時更加快速和便捷,來為客戶提供更加穩(wěn)定和優(yōu)質的服務.
盡管目前在研究語義web服務上有了一定的成果,但就其服務組合的現(xiàn)狀和應用前景來說,若要實現(xiàn)語義web服務的自動組合,還有很多重要的亟需解決,例如,語義web的邏輯基礎中的描述邏輯,只能簡單的處理靜態(tài)信息,不能很好地解決web服務的動態(tài)屬性問題.為解決這個問題,語義web的邏輯基礎被擴展,另外還定義了具有動態(tài)特性的動態(tài)描述邏輯,來支持動態(tài)信息的描述和推理,這樣,無疑能在很大程度上彌補傳統(tǒng)意義上的動態(tài)描述邏輯的不足.
語義Web服務的組合功能包括服務的執(zhí)行和選擇.傳統(tǒng)上的服務一般是由用戶人工執(zhí)行.但是,隨著服務用戶的劇增,將信息自動的選擇和組合從而服務用戶,是語義Web服務自動組合方法被提出的真正目的.這些服務組合方法中大致可以分為兩種類型:基于規(guī)劃的方法和基于工作流的方法.但就基于工作流的組合方法而言,它主要以非形式化的流程模型為基礎,建模理論比較薄弱,因而不能保證自動組合的完整性和正確性.因此,下面將先簡單介紹服務組合動態(tài)和靜態(tài)各自的含義及區(qū)別,然后著重研究基于規(guī)劃的思想來完成語義web服務的自動組合.
就組合方案的生成方式而言,語義web服務自動組合方法有兩種:動態(tài)和靜態(tài)服務組合.靜態(tài)組合要求用戶在組合計劃實施前就應該創(chuàng)建一個較為抽象的過程模型,在這個過程模型中,主要包括任務的集合以及這些任務里的數(shù)據依賴關系,每個任務里面都包括一個查詢的子句,用于查找解決任務的web服務.動態(tài)服務組合不僅包含自動的選擇、綁定web服務,還包括非常重要的一點——自主的建立抽象模型.另外,動態(tài)自動組合方法需要自主的生成規(guī)劃,而絕大部分生成自動規(guī)劃的方法也都與演繹證明和AI規(guī)劃有關.
OWL-S是W3C推薦的語義Web服務的一種本體描述語言,目的是為了達到實現(xiàn)語義Web服務的自動調用、自動發(fā)現(xiàn)和自動組合等一系列相關問題.語義Web服務的OWL-S描述會在一定程度上對服務的各種運行細節(jié)進行明白清楚的描述,還規(guī)定了用戶和服務雙方之間進行交互的方式.OWL-S的出現(xiàn)為基于AI規(guī)劃的自動組合方法提供了發(fā)展的契機,將語義web服務視為AI規(guī)劃中的一種動作,在輸入輸出參數(shù)、前提及結果之后,最后,來描述服務.在服務自動組合時,僅僅只需要將語義web服務的描述轉換為一種動作的形式化描述,在語義web服務的廣闊空間中,以建構一種組合語義web服務為方向,利用形式化的推理過程從而得出語義web服務的自動組合序列,就能動態(tài)地形成服務組合的方案,還能保證規(guī)劃結果的完整性和正確性.
首先,狀態(tài)演算.作為形式化的規(guī)劃方法之一,它主要用于描述動態(tài)變化的世界,是一種對于動作、狀態(tài)及動作作用于狀態(tài)的結果的形式化演算.在狀態(tài)演算中,世界上所有的動態(tài)變化過程都是動作執(zhí)行之后所產生的結果.在這種方法中,因為主題能夠通過推理語義web服務來自動的完成服務發(fā)現(xiàn)、組合、執(zhí)行和互操作.同時,用戶的各種請求和約束都可以利用狀態(tài)演算的一階語言來描述或是表示.其中,每個語義web服務都可以被看做是動作——原子動作或是復雜動作.原子動作既可以是改變世界動態(tài)又可以是改變主體知識狀態(tài)的一種信息集合動作.復雜動作就是原子動作形式的組合.主體的知識庫在利用狀態(tài)演算語言中會對語義web服務動作的前提和結果做出編輯編碼,來完成自動組合.
第二,PDDL.通常情況,人們總會認為規(guī)劃域定義語言(PDDL——Planning Domain Definition Language)是一種規(guī)劃期的標準輸入.而實際情況下,OWL-S本身就收到了規(guī)劃域定義語言的許多影響,使得這兩種計算機語言之間的映射變得非常直接.在需要利用規(guī)劃服務組合時,OWL-S的釋義可以翻譯成PDDL的格式,最后,其他的規(guī)劃器就能利用這種格式完成服務生物組合或是合成.要想在PDDL的基礎上完成語義web服務的自動組合,動作值(value of an action)起著重要的作用.通過它可以描述web服務在執(zhí)行任務后所產生的信息和狀態(tài)變化.另外,通過輸入及輸出參數(shù)表示的信息資源時非常重要的,可以充分利用.
第 三 ,HTN.層 次 任 務 網 絡(HTN——Hierarchical Task Network)規(guī)劃法,它是通過利用OWL-S作為語義web服務的描述語言,借助任務分解的辦法實現(xiàn)web服務的自動組合服務.和其它方法區(qū)別開來的是,HTN的核心是任務而不是狀態(tài).一個基于HTN的大規(guī)劃系統(tǒng)會將一個整體的目標任務劃分為若干個子任務,這些子任務再繼續(xù)分解成為更小的任務,這樣一直反復循環(huán)這個分解過程,直到所有的小任務都只包含原子web服務,便是現(xiàn)有的web服務.
最后,Petri網.作為過程建模的方法之一,Petri網是包括變遷和位置的郵箱二分圖,在這之中,變遷指的是動作,用小小矩形標注;位置表示成資源或是條件,用小圓圈表示.在網絡的基礎上加入表示狀態(tài)信息的token分布圖,并且激起規(guī)則驅動狀態(tài)的變化,能夠構成一個網系統(tǒng)來反映系統(tǒng)的動態(tài)運行過程.
在很多情況下,工作流和服務組合很相似.服務組合是指包括原子服務的集合和服務之間的數(shù)據流及控制流.相似的,工作流也必須對這些數(shù)據流和控制流做出一定的說明.另外,動態(tài)的工作流方法還給出了能夠自動綁定抽象節(jié)點到具體的服務或是資源的方法.
METEOR-S是運用DAML-S描述服務,先經過用戶編寫抽象的語義流程模板,之后程序自動的完成對該模板的語義標注,再在根據的標注的模板來匹配搜索和集成的服務,形成以BPEL4WS描述的具體的業(yè)務流程.由于這種服務是基于主體的基礎上,所以對服務的搜索和配對也就更加準確.
當然,無論是工作流的方法還是AI規(guī)劃,它們都能完成語義web服務的自動組合.就前者而言,動態(tài)的工作流方法不僅能夠自動的綁定節(jié)點還能提供快速的具體資源或服務.但是,動態(tài)的組合方法是唏噓自動生成規(guī)劃的,在這些自動生成規(guī)劃的辦法中卻主要和AI規(guī)劃有關.這種基于AI規(guī)劃的自動組合方法能夠動態(tài)的形成語義web服務組合方案,動態(tài)的鏈接已經完成的web服務,適應語義web服務的不斷變化,最大程度上實現(xiàn)客戶不斷變化的需要.
在語義web服務中合理、高效地利用語義標注信息,能夠為web服務的發(fā)現(xiàn)、運用、解釋及組合等功能的自動化提供一定的幫助.而智能主體本身的特殊性質使它能夠適用于語義web服務中,來滿足客戶的需要.目前雖然語義web服務還處于起步階段,特別是在服務的自動組合方面,但在不遠的將來,它一定能被普遍的應用.
〔1〕刑星.語義web服務自動組合方法研究[J].大連海事大學,2008.
〔2〕邱莉榕,史忠植,林芬,常亮.基于主體的語義 web服務自動組合研究[M].計算機研究與發(fā)展,2007(4).
〔3〕高志升.基于多agent的語義web服務自動組合方法的研究[J].2006.
〔4〕袁金平,姚莉,鮑愛華,劉芬.一種基于主體的語義web服務模型[J].2009(6).