崔冬
摘要:該文重點研究Web服務(wù)的行為層面并使用描述邏輯對附加的行為信息進(jìn)行形式化表達(dá)。使用Dl框架來描述順序和平行拆分的交互序列,這些內(nèi)容對Web服務(wù)的發(fā)現(xiàn)和組合的研究都提供了一定的參考價值。在不更改代碼的情況下,擴展了Web服務(wù)的特征描述;通過與本體語言O(shè)WL-DL的結(jié)合,在目前語義Web服務(wù)研究成果的基礎(chǔ)上增加Web服務(wù)行為方面的描述。
關(guān)鍵詞:描述邏輯; 服務(wù)行為; 自動化
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)27-6334-03
Abstract: This paper focuses on the behavior of Web services and the use of description logic expression level of formal for additional information on the behavior. Interactive sequences using DL framework to describe sequential and parallel split, the content of research on Web service discovery and composition are to provide a certain reference value. Without changing the code, the expansion of the description of the characteristics of Web services; through combining with the ontology language OWL-DL, based on current research results of Semantic Web services on the web service behavior description increase.
Key words: description logic; service behavior; automation
服務(wù)計算技術(shù)的出現(xiàn),部分解決了這些發(fā)展所帶來的挑戰(zhàn)。結(jié)合使用Web服務(wù)描述語言(WSDL),簡單對象訪問協(xié)議(SOAP),通用描述、發(fā)現(xiàn)與集成服務(wù)(UDDI),軟件組件可以進(jìn)行發(fā)布或者訪問,并且可以通過標(biāo)準(zhǔn)化的接口和協(xié)議進(jìn)行通信。這增加了公司使用軟件的靈活性 ,但Web服務(wù)使用過程仍然不能實現(xiàn)自動化處理。 本文重點研究的是服務(wù)的行為方面,也就是,一個服務(wù)操作之間的限制決定了它們允許執(zhí)行的順序。我們選擇DL描述邏輯,因為它基于形式化語義,足夠豐富表達(dá)我們的要求,而且DL是可以進(jìn)行判定的。通過使用OWL-DL,我們證明使用DL作為通用的語義Web服務(wù)描述語言,可以保證web服務(wù)描述的可擴展性和整體性。
1 行為方面的要素
在本節(jié)中我們將對使用DL表述web服務(wù)行為時出現(xiàn)的一些基本元素的含義進(jìn)行解釋,這些元素的含義與它們相關(guān)聯(lián)的服務(wù)行為的含義有直接的聯(lián)系,這意味著,每個元素根據(jù)消息執(zhí)行的順序有不同的含義,后面將進(jìn)行詳細(xì)說明。目前的工作重點是基礎(chǔ)控制模式。先給出以下三種用DL表述的基本模式,在未來的研究中,更復(fù)雜的模式也能夠?qū)崿F(xiàn)。
服務(wù)進(jìn)行交換的信息可以分為輸入消息和輸出消息,既包括需要處理的輸入?yún)?shù)又包括服務(wù)提供的輸出限制,在考慮服務(wù)行為的組成時,有三個基礎(chǔ)部分:1) exists輸入和輸出的存在(交互);2) sequence輸入和輸出發(fā)生的序列;3) control 允許發(fā)生的交互順序。
exists:事實上,發(fā)生在一個服務(wù)中的交互,我們稱之為exists。從一個服務(wù)請求者的角度去描述服務(wù)環(huán)境,要能夠提供輸入并且接收輸出,而從一個服務(wù)提供者的角度去描述服務(wù)環(huán)境,要能夠提供輸出并且需要輸入,exists存在的不同語義信息將在第四部分進(jìn)行討論。出于建模的目的,在進(jìn)行合并之前首先要分別考慮輸入和輸出的exists。事實上,發(fā)生在一個服務(wù)中的交互,我們稱之為exists。從一個服務(wù)請求者的角度去描述服務(wù)。一個服務(wù)包含一系列輸入、一系列輸出或者通常兩者都包括,交互中合并exists不會在交互順序中進(jìn)行聲明。
sequence :交互的外觀順序,考慮到公共和私有的過程,一個特殊的交互順序需要定義,在一個交互開始執(zhí)行之后另一個交互的初始狀態(tài)(對于外部觀察者來說是不可見的)被激活,雖然隱含的交互順序不能被觀察者看到,只能看到外部可見的公共過程,但是為了這個操作能夠成功執(zhí)行,需要定義輸入之間的順序、輸出之間的順序,或者輸入和輸出之間的順序。
control: 除了交互exists和交互sequence,行為的第三方面是控制結(jié)構(gòu)的描述control,它們是從基礎(chǔ)序列派生來的。在文獻(xiàn)[3]中,對管理系統(tǒng)存在的工作流進(jìn)行分析,得到了20種工作流模型,并且定義和描述了工作流語言,我們的解決方案著重于基本控制模式以顯示服務(wù)行為如何被DL描述 。通過這些基本控制模式可以來模擬設(shè)計一組通用的服務(wù)行為構(gòu)造方式。 基本模式包括順序、并行分割、同步、排他選擇以及簡單合并,其他高級模式,如多重選擇和周期一般是可以實現(xiàn)的,只不過在初步的研究中對其進(jìn)行忽略。并行分割表示交互的并發(fā)性,這意味著被描述為并行分割的交互可以以任意的順序并行執(zhí)行。下面描述一個例子表述一個交互被限定在平行分割之后發(fā)生:輸入必要的登錄信息之后,用戶必須同時輸入信用卡信息和地址信息。輸入信用卡和地址信息的先后順序?qū)Ψ?wù)功能是無關(guān)緊要的,只要兩者都出現(xiàn)后就可以登陸。排他選擇描述的是交互中只有一個分支被執(zhí)行的情況。目前,DL中一直未能實現(xiàn)排他選擇。在DL中能夠?qū)崿F(xiàn)的模型組合是,存在和順序,存在和并行分割,順序和并行分割以及所有三者的組合,將在第五部分說明。
2 服務(wù)匹配
在上一節(jié)中已經(jīng)描述了表示行為的元素以及它們對于交互序列的含義,本節(jié)重點介紹 這些元素關(guān)聯(lián)著服務(wù)匹配的語義信息。服務(wù)匹配是語義web服務(wù)研究領(lǐng)域的一個重大課題。在本節(jié)中,我們通過分析服務(wù)如何通過之前介紹的元素進(jìn)行匹配來描述語義信息。 Web服務(wù)能否匹配,依賴于前面所述的行為方面。僅僅通過比較這些架構(gòu)的存在可以但不容易被聲稱,因為這些后面關(guān)于web服務(wù)的語義信息表達(dá)的非常復(fù)雜。這些會在接下來的章節(jié)中更詳細(xì)的介紹,服務(wù)請求R描述的每個方面都要進(jìn)行分析,分析的依據(jù)是它執(zhí)行服務(wù)S的結(jié)果,我們使用DL可以這樣表示,服務(wù)S滿足請求R的所有需求,可以聲明為
R≥S (1)
exists:已經(jīng)在第三部分解釋,請求R和服務(wù)S的輸入我們可以分別寫成IR和IS,輸出我們可以寫成OR和OS,,IR描述了環(huán)境能夠提供的輸入集合的最大值,一個服務(wù)不用使用提供的所有輸入,而是通過使用最少的輸入來實現(xiàn)目標(biāo),描述為規(guī)則(2) ,環(huán)境定義的輸出集合定義為OR,OR定義了OS要提供的最小輸入集合,這種關(guān)系定義為規(guī)則(3)
Inputs: IRIS (2)
Outputs:OROS (3)
sequence :描述一個請求服務(wù)的輸入輸出順序定義為SeqR,而匹配服務(wù)的輸入輸出順序定義為SeqS,兩者需要滿足RS的約束條件,同時也要滿足表達(dá)式(2) 和(3) ,也就是說,即使一個輸入存在于SeqR中,也沒有必要一定使用,這是標(biāo)準(zhǔn)的推理機制認(rèn)可的。但是,如果一個服務(wù)使用了SeqR中的一個輸入,那么在SeqS 中必須出現(xiàn)同樣對應(yīng)的限制。相反,輸出則要求都能夠?qū)崿F(xiàn),值得指出的是,如果所提供的服務(wù)的輸出并不是請求服務(wù)要求得到的(也就是在 OR 中沒有定義的輸出),那么這個輸出可以在 SeqS的任意位置。
Sequence: SeqRSeqS (4)
control:平行分割的相關(guān)語義描述如下,一個請求服務(wù)在一組交互狀態(tài)(例如:I1和O1) 之間定義了一個“平行分割”結(jié)構(gòu),這也就表明交互狀態(tài)出現(xiàn)的先后順序無關(guān)緊要,也就是說,先執(zhí)行I1再執(zhí)行O1,或者調(diào)轉(zhuǎn)順序都是滿足需求的,必須明確聲明這種結(jié)構(gòu),因為并不是所有的匹配服務(wù)都只能按照一個接一個的先后順序執(zhí)行交互。匹配服務(wù)沒有必要和請求服務(wù)具有完全一致的控制結(jié)構(gòu),“exists”、“sequence”、“control”可以任意組合,當(dāng)組合成一個更復(fù)雜的行為時描述的各部分的服務(wù)匹配特征仍然需要考慮。
3 使用DL來描述服務(wù)行為
在之前的章節(jié)中,我們描述了服務(wù)行為的各部分元素,以及涉及到服務(wù)匹配時這些元素相關(guān)的語義含義。這部分,我們將介紹如何使用DL框架來表述我們之前討論的行為元素和他們的語義信息,這些內(nèi)容是進(jìn)行自動推理和匹配的基礎(chǔ)。
選擇邏輯描述方式(OWL-DL),是因為它的可判定性和它能夠與其他語義web技術(shù)相結(jié)合來實現(xiàn)web服務(wù)描述的擴展。請求服務(wù)和提供服務(wù)之間的匹配是通過DL框架的一系列關(guān)系來表達(dá)的,通過使用接下來定義的語言框架來解釋服務(wù)并實現(xiàn)對服務(wù)行為的描述,標(biāo)準(zhǔn)的推理機能夠?qū)崿F(xiàn)對這些分類的推理,結(jié)構(gòu)模型的建立和開發(fā)使用了這些分類的概念,針對在第四部分提出的理論,服務(wù)匹配就是根據(jù)請求服務(wù)進(jìn)行自動的識別和分類。DL框架介紹如下:請求服務(wù)、提供服務(wù)被建模為類,行為方面的描述表達(dá)不同類之間的特殊屬性。
exists: 為了表達(dá)“exists”的語義信息(在第四部分定義過的),我們提出給“exists”定義一個屬性“has”,用口語可以表示為“一個服務(wù)所擁有的輸入和輸出”,事實上,這些輸入和輸出可能具有不同的語義信息,也通過不同的方式進(jìn)行建模,DL通過使用合并符號來表達(dá)輸入條件I1, I2, . . . , In的集合進(jìn)而表達(dá)了請求/提供服務(wù)的一個輸入集合,要表達(dá)(2) 式,請求/提供服務(wù)的集合可以分別表示如下:
IS/R (I1 I2 ... In) (5)
一個請求服務(wù)R通過使用相關(guān)的集合定義“has”關(guān)系來描述一組輸入
Rhas. IR has. (I1 I2 ... In) (6)
一個提供服務(wù)被描述為Shas. (I1 I2. . . Im) 當(dāng)mn時表明它能夠與R進(jìn)行匹配,因為它滿足了RS,如果提供服務(wù)的輸入更多(m > n)則不滿足條件,輸出通過使用交集符號來表達(dá)(3) 中的語義信息,DL通過如下表達(dá)式表達(dá)了輸出O1,O2, ... ,On的集合
OS/R (O1O2 ... On) (7)
通過定義相關(guān)集合的“has”關(guān)系來表達(dá)一個請求服務(wù)的一系列輸出。
Rhas.OR has. (O1O2 ... On) (8)
提供的服務(wù)S被定義為S has. (O1O2. . . Om),當(dāng)mn時滿足服務(wù)請求,因為RS,如果m < n,認(rèn)為服務(wù)不匹配,值得注意的是,當(dāng)服務(wù)既包含輸入又包含輸出,需要組合表達(dá)式(5) 和表達(dá)式(7) 時,也是通過取交集的操作符號進(jìn)行連接,用如下的表達(dá)式進(jìn)行連接。
IOS/R IS/ROS/R(I1 I2 ... In)(O1O2 ... Om) (9)
請求服務(wù)提供了一組輸入,并需要得到一組輸出,通過類似于表達(dá)式(6) 和(8) 的描述進(jìn)行定義。
Rhas.( (I1 I2 ... In) (O1O2 ... Om) ) (10)
這個表達(dá)式使定義在(2) 和(3) 上的限制能夠進(jìn)行推理。
sequence :輸入和輸出的順序通過使用屬性“then”來表達(dá),連續(xù)的幾個交互通過嵌套的順序?qū)傩詠肀磉_(dá),輸入和輸出在剛開始被分別定義,嵌套表達(dá)式通過類似于表達(dá)輸入輸出的exists那樣進(jìn)行組合,連續(xù)的輸入使用合并標(biāo)示符,連續(xù)的輸出使用交集標(biāo)示符,擁有一系列交互的請求服務(wù)和提供的服務(wù)通過下面的表達(dá)式(11) 和(12) 進(jìn)行表達(dá)
SeqRthen.( I1then.( I2(then.(... (then.( In))))))) (11)
SeqRthen.(O1then.(O2(then.(... (then.(On))))))) (12)
在一個序列中既有輸入又有輸出,在現(xiàn)在看來還有些復(fù)雜,我們還不能解決,不同的是,通過DL-表達(dá)式實現(xiàn)的交互組合實現(xiàn)了在嵌套的序列表達(dá)式中包含存在和序列。類似于輸入后再輸入,輸出后再輸出的概念組合可以通過使用表達(dá)式(11) 和(12) 來進(jìn)行準(zhǔn)確的匹配,但是,類似于輸入后輸出,輸出后輸入的概念組合在服務(wù)表示的每個方面還不能夠準(zhǔn)確的匹配,這也就意味著雖然一些服務(wù)順序是相反或者不準(zhǔn)確也可能被認(rèn)為是匹配的,使用DL表達(dá)式的目標(biāo)是使用一種表達(dá)組合序列的方式,能夠準(zhǔn)確分類所有的情況。在第六部分,我們通過舉例說明了如何根據(jù)使用DL表達(dá)式定義的請求服務(wù)準(zhǔn)確區(qū)分提供的服務(wù)是否合適。
control:在第四部分描述的平行分割的語義通過以下的形式進(jìn)行表達(dá)。
SeqRthen. (I1(then. ((I2(then. I3)) (I3(then. I2))))) (13)
SeqRthen.(O1(then. ((O2(then. O3))(O3(then. O2))))) (14)
表達(dá)式(13) 和(14) 描述了第二個和第三個交互的并發(fā)性,第二個和第三個發(fā)生的順序是無關(guān)緊要的,服務(wù)S1中先執(zhí)行交互2再執(zhí)行交互3或者服務(wù)S2先執(zhí)行交互2再執(zhí)行交互3都可以滿足請求服務(wù)R。(滿足表達(dá)式RS)
服務(wù)行為的表達(dá) 一個服務(wù)行為包括 “exists”部分和“sequence”順序。因此使用DL表達(dá)式表達(dá)服務(wù)行為包含了兩者(通過交集標(biāo)示符進(jìn)行連接),使用DL架構(gòu)描述請求服務(wù)和匹配服務(wù)的行為描述如下,假設(shè)一個請求服務(wù)描述了三個輸入(I1, I2, I3),并且它們的順序是(I1→ I2→I3)
Rhas.( (I1 I2I3)then. (I1(then.( I2 (I3))))) (15)
使用同樣表達(dá)方式的提供服務(wù)可以通過驗證是否滿足表達(dá)式RS.來判斷是否匹配,接口可以使用標(biāo)準(zhǔn)的推理機,輸出也可以進(jìn)行相應(yīng)的表達(dá),進(jìn)行“exists”和輸出序列的組合表達(dá)。
4 證明概念
下來我們要指出一個方案應(yīng)用在之前描述過的DL框架上,請求服務(wù)和可能匹配的服務(wù)將在后面通過OWL-DL 進(jìn)行描述,目前的接口機制用來表達(dá)服務(wù)是否匹配的結(jié)果,這表明了怎樣利用目前的標(biāo)準(zhǔn)推理機來增強代碼的強壯性。因為之前通過DL描述的語義信息把web服務(wù)模型從它的解釋應(yīng)用程序中分離了出來。第一個例子只是考慮到交互,接著進(jìn)行擴展考慮到行為,證明了我們研究方法的擴展性?;ハ嗒毩㈤_發(fā)的不同方面通過同一種形式語義的表達(dá)可以被集成在一個可以考慮所有方面的分析模型中,使用OWL-DL框架將允許通過使用相同的本體語言,與其他本體模型進(jìn)行集合。這個方案描述如下:一個用戶需要一個網(wǎng)購服務(wù),要求輸入的是“登陸請求”,“購買請求”和“用戶的信息”,并提供一個“購買認(rèn)證”作為輸出,現(xiàn)在提供了兩個服務(wù):1) 一個商店服務(wù),滿足了我們的要求;2) 欺詐服務(wù)騙取客戶的信息。相關(guān)的DL框架描述如下:
ROrderinghas. ((login orderuserData)(conf))
S1 Store has. ((login order)(wMsg conf))
S2 Fraud has. ((loginorder userData)(conf))
商店服務(wù)需要“登陸請求”和“購買請求”就提供相對于購物請求的“歡迎信息”和“購物認(rèn)證”。詐騙服務(wù)對照請求服務(wù)有著同樣的交互,推理機給出了這些請求的描述并在接口給出了結(jié)果,兩個服務(wù)都滿足請求。如果僅考慮一個服務(wù)的交互屬性“exists”,因為兩個服務(wù)都滿足(RS),認(rèn)為兩個服務(wù)都滿足請求服務(wù)R,再進(jìn)一步考慮附加服務(wù)的行為來對服務(wù)進(jìn)行進(jìn)一步鑒定,我們通過之前介紹的DL框架來定義允許的交互順序,最重要的限制是直到登陸成功了才可以申請購買服務(wù),輸入用戶信息。商店服務(wù)滿足要求,而欺詐服務(wù)要求在登陸之前就提供用戶信息,通過DL框架描述請求服務(wù)和匹配服務(wù)的定義如下:
ROrderinghas. ((loginorderuserData) (conf)
then.(login(then. (order(then. (userData (then. (conf))))))))
S1Storehas.((loginorder) (wMsgconf)then. (login
(then. (wMsg t (then. (order(then. (userData (then.(conf))))))))))
S2 Fraudhas. ((loginorderuserData) (conf)
then. (userData (then. (login (then. (order (then.(conf))))))))
給出了這些服務(wù)的表達(dá)后,通過推理機得到的結(jié)為只有商店服務(wù)滿足要求,欺詐服務(wù)不滿足定義的交互順序。
5 總結(jié)和未來的工作
本文介紹了一種使用OWL-DL表達(dá)服務(wù)行為的方法,描述了不同的框架來定義交互的發(fā)生,交互的順序和并發(fā)性。通過使用DL作為描述元素,我們實現(xiàn)了增加強壯性、擴展性和集成性的效果,這些在web服務(wù)行為的之前的相關(guān)研究領(lǐng)域是比較欠缺的。通過一個簡單的例子作為基礎(chǔ),我們最終指出了架構(gòu)的應(yīng)用、聲明了標(biāo)準(zhǔn)推理機的實現(xiàn),該文介紹的解決方法特別適合應(yīng)用在服務(wù)自動發(fā)現(xiàn)和自動組合的研究領(lǐng)域。
未來的工作中,服務(wù)行為描述將主要集中在以下三點:1) 為了提供一個允許表達(dá)服務(wù)行為主要范圍DL框架集合,序列表達(dá)中交互的組合需要覆蓋所有特殊的情況;2) 建立一個可以表達(dá)排他選擇的表達(dá)式;3) 循環(huán)以及其他先進(jìn)的工作流模式的表述去擴展特殊行為的基本表達(dá)。未來的研究中,通過使用DL框架來表述服務(wù)行為的相關(guān)工作,我們最終會證明DL是否具有足夠的表達(dá)力來表達(dá)各種服務(wù)行為特有的限制條件。
參考文獻(xiàn):
[1] 于守健,夏小玲,樂嘉錦,等.基于擴展接口語義的Web服務(wù)匹配模型研究[J].計算機科學(xué),2002(11) :34-2.
[2] 公帥,熊錦華,劉志勇. 基于交互沖突的服務(wù)互操作匹配性檢測[J].計算機學(xué)報,2013(12) :36-12.
[3] Rajasekaran, P., Miller, J., Verma, K., et al. Enhancing web services description anddiscovery to facilitate composition[Z].2004.