999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于π演算的BPEL組合服務的形式化描述及驗證

2010-05-11 11:58:12夏紅星
關(guān)鍵詞:進程服務系統(tǒng)

夏紅星

(江蘇靖江教師進修學校,江蘇 泰州214500)

在SOA系統(tǒng)中,通常根據(jù)企業(yè)的業(yè)務需求,利用BPEL技術(shù)將各個獨立的Web服務進行組裝[1]。如何判斷組合后的服務能夠滿足企業(yè)的需求,如何判斷組合服務不會在運行中出現(xiàn)問題,這是軟件開發(fā)人員交付服務前必須考慮的問題。事實上,人工設(shè)計或自動構(gòu)建的服務組合可能存在死鎖、活鎖、狀態(tài)不可達等眾多問題,所以必須在部署前進行嚴格的驗證,以及時發(fā)現(xiàn)服務組合中存在的問題。

所謂的Web組合服務驗證就是指在實際部署組合服務系統(tǒng)前,通過某些理論或工具檢查該服務組合流程邏輯的合理性、服務間的兼容性,從而及時發(fā)現(xiàn)和修正存在的問題,以免日后運行過程中給企業(yè)和用戶造成損失。本文的重點是驗證組合服務的內(nèi)部流程邏輯[2]。

當前主要是通過基于狀態(tài)轉(zhuǎn)換模型的Petri網(wǎng)理論、自動機理論和基于進程代數(shù)模型的π演算理論對Web組合服務進行驗證[1]。采用Petri網(wǎng)或者自動機對服務組合進行描述較直觀簡潔,但是當業(yè)務流程復雜、牽扯到的子服務眾多且服務間的交互頻繁的時候,往往會引起狀態(tài)空間急劇增加,因此導致驗證復雜度劇增。而π演算正是表示這種復雜行為的有效方式,可以清楚表示系統(tǒng)的并發(fā)交互行為。π演算采用文本的進程表達式描述系統(tǒng),表達能力強且形式簡潔,加之π演算中的行為理論非常適合用來描述動態(tài)并發(fā)的Web服務,因此本文采用π演算理論對服務組合進行建模和驗證。

1 基于π演算的BPEL服務組合建模

1.1 π演算的語法定義

π演算是由MILNER R等人在通信系統(tǒng)演算CCS的基礎(chǔ)上提出來的描述和分析通信拓撲結(jié)構(gòu)動態(tài)變化的計算模型。設(shè)N為無限名字集,x、y等小寫字母為名字集上的名字;A、B等表示進程;P、Q等表示進程表達式,進程表達式包括以下幾種形式:

0表示空進程;P+Q表示選擇執(zhí)行P或者Q,只執(zhí)行其中一個。

(2)并發(fā)表達式:P|Q表示并發(fā)執(zhí)行進程P、Q。

(3)前綴表達式 y(x).P、yx.P、 .P:

正前綴y(x).P表示在端口y上輸入名字 x,然后執(zhí)行進程P。

負前綴yx.P表示在端口y上輸出x后,再執(zhí)行進程P;

.P稱為啞前綴,表示進程外部不可見的動作,執(zhí)行完進程后,再執(zhí)行 P。

(4)循環(huán)表達式:!P表示無窮復制進程P。

(5)限制表達式:(x)P表示進程P在通道x上的外部動作被禁止,但是可以進行在通道x上的內(nèi)部通信。

(6)匹配表達式:[x=y].P表示當條件x=y成立時才執(zhí)行進程P。

(7)進程標識符:A(x,y,…,z)對每個進程來說,必須有其定義 A(x,y,…,z)∷=P,其中 x,y,…,z表示進程P中的自由名。

至此,將π演算定義如下:

1.2 BPEL描述的Web組合服務的π演算建模

1.2.1 建模算法

為了利用π演算驗證BPEL服務組合,首先要將Web服務的邏輯關(guān)系映射為π演算的表達式,形式化描述Web服務組合,這個過程就是建模,算法描述如下:

(1)將BPEL服務組合中的每個Web服務看作一個π演算的進程。如果該服務本身又是一個組合服務那么將其遞歸細分為一系列的子服務,然后將每個子服務看作一個π演算進程。

(2)服務之間的調(diào)用關(guān)系抽象成π演算進程之間的通道上的消息交互。兩個相關(guān)進程之間至少有一條通道,如果兩進程間有多條順序消息,則抽象成在一條通道上傳遞。

(3)根據(jù) Web組合服務業(yè)務流程圖,按照下表所示的Web服務元素與π演算的元素對應關(guān)系,將業(yè)務流程圖轉(zhuǎn)換成π演算流圖。對應關(guān)系如表1所示。

(4)根據(jù)上一步驟產(chǎn)生的π演算流圖,寫出建模表達式,將Web服務及其組合用π演算形式化描述出來。

表1 BPEL中Web服務與π演算元素對應關(guān)系

1.2.2 建模實例

下面以基于BPEL的信貸服務系統(tǒng)(由客戶、銀行信貸受理服務、客戶信用評估服務、信貸審批服務組成)為例,進行組合服務的π演算建模。

信貸服務系統(tǒng)的流程是:首先客戶向銀行信貸受理部門提出貸款請求,銀行收到客戶的貸款請求后,詢問客戶的具體貸款信息(比如客戶姓名、貸款數(shù)額等),客戶將這些信息反饋給銀行信貸部門;銀行信貸部門將客戶貸款信息提交給客戶信用評價部門,要求對該客戶的信用狀況進行評價,然后信用評價部門將評價信息反饋給信貸受理部門;信貸受理部門將客戶申請信息和信用評價信息匯總初審。如果初審不通過,則直接拒絕客戶的借貸活動;如果初審通過,則通知客戶借貸請求已受理;然后將所有信息提交給審批部門,審批部門將審批結(jié)果反饋給信貸受理部門;信貸受理部門最后將審批結(jié)果反饋給客戶,通知是否可以對客戶發(fā)放貸款。具體業(yè)務流程如圖1所示。

根據(jù)建模算法,將業(yè)務流程圖抽象出如下的π演算流圖,如圖2所示。

根據(jù)π演算流圖,寫出借貸系統(tǒng)服務的建模表達式如下:

設(shè)客戶-Client、信貸受理服務(Client Accepting Service)-CAS、信用評估服務 Credit Evaluation Service-CES、審批服務-Approving Service-AS。

客戶服務Client在X通道上與信貸受理服務通信:

設(shè)u={X,ReqLoan,AskDetails,ProvideDetails,RefuseReq,AcceptReq,InformResult},則:

信貸受理服務CAS在Y 通道上與信用評估服務通信:

設(shè)b={X,Y,Z,ReqLoan,AskDetails,ProvideDetails,Refuse-Req,AcceptReq,InformResult,ReqEvaluation,ReplyEvaluation,ReqApprove,ReplyApprove},則:

信用評估服務CES在通道Y上與信貸服務通信:設(shè) c={Y,ReqEvaluation,ReplyEvaluation},則:

CES(c)=Y(msg).[msg=ReqEvaluation]Y.CES(c)

審批服務AS在通道Z上與信貸服務通信:

設(shè) a={Z,ReqApprove,ReplyApprove},則:

整個信貸服務系統(tǒng)LoanService由信貸受理服務(Client Accepting Service)CAS、信用評估服務(Credit Evaluation Service)CES、審批服務(Approving Service)AS 組合而成。{Y、Z}屬于LoanService的內(nèi)部通道,作為受限名字出現(xiàn),于是信貸服務系統(tǒng)的定義如下:

2 基于π演算的BPEL組合服務的驗證

2.1 Web服務組合內(nèi)部邏輯驗證的內(nèi)容

Web服務組合內(nèi)部流程邏輯的驗證主要包括流程的可達性驗證、流程的正確完成性驗證、流程的活鎖驗證、死鎖驗證、觀察等價性驗證等,本文只驗證觀察等價性。驗證觀察等價性也就是驗證兩個進程是否是弱互模擬的。弱互模擬的定義:如果進程P、Q的外部行為是一致的,即模擬進程和被模擬進程在外部觀察者看來具備完全相同的行為能力,其中一個進程能執(zhí)行的動作另一個進程也能模擬,則稱進程P、Q弱互模擬。

2.2 觀察等價性和死鎖的驗證

本文的驗證除了手工推演,還借助了自動化π演算工具MWB。MWB采用基于New Jersey SML語言編譯器,適用于操作和分析動態(tài)并發(fā)系統(tǒng)。

理論推演:在前面建模時,將Client建模為π演算進程,這樣做是出于下面驗證觀察等價性的需要。根據(jù)π演算相關(guān)理論和參考文獻[3]提出的反轉(zhuǎn)證明法,要判斷系統(tǒng)中π演算描述的Client的逆進程ReverseClient與LoanService是否觀察等價,只需要判斷ReverseClient與LoanService是否是弱互模擬的。

Client的逆進程為:

設(shè)u={X,ReqLoan,AskDetails,ProvideDetails,RefuseReq,AcceptReq,InformResult},則:

在組合服務 LoanService中,Y、Z是服務內(nèi)部的私有通道,在這兩個通道上的動作集{ReqEvaluation,ReplyEvaluation,ReqApprove,ReplyApprove}是對外不可見的 動作。

記消除 動作后的服務組合LoanService為LoanServiceOut,則:

對比可見,ReverseClient與LoanServiceOut的外部可觀察動作集完全一致,即ReverseClient與LoanServiceOut弱互模擬,所以ReverseClient與LoanServiceOut觀察等價,又LoanServiceOut與LoanService觀察等價,從而ReverseClient與LoanService是弱互模擬的,即觀察等價性成立。

利用MWB驗證工具證明:

在MWB目錄下創(chuàng)建LoanService.ag文件,將Client、CAS、CES、AS、ReverseClient、LoanService 的進程表達式寫入文件中。然后在命令行輸入”weq ReverseClientLoan-Service”,運行結(jié)果提示兩個進程等價,證畢。

本文簡單介紹了π演算的語法定義,給出了π演算理論形式化描述BPEL服務組合的建模算法,最后結(jié)合一個銀行信貸系統(tǒng)的服務組合實例,進行建模和觀察等價性驗證。π演算是進行Web服務建模驗證的有效理論工具,相信利用MWB等工具對進程表達式進行自動求逆和驗證是未來的研究熱點。

[1]MILNER R.Communicating and mobile systems:the π-calculus[M].Cambridge University Press,1999.

[2]DENG Shui Guang.Research on automatic service composition and formal verication.Zhejiang University,2007.

猜你喜歡
進程服務系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
服務在身邊 健康每一天
服務在身邊 健康每一天
服務在身邊 健康每一天
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
主站蜘蛛池模板: 国产视频大全| 国产真实二区一区在线亚洲| 午夜视频在线观看区二区| 亚洲人成网站色7777| 久久99国产视频| 国产十八禁在线观看免费| 日本不卡在线| 97国产在线播放| 婷五月综合| 伊人色婷婷| 好久久免费视频高清| 99久久精品免费观看国产| 亚洲欧美自拍视频| 在线观看精品自拍视频| 福利国产微拍广场一区视频在线| 久久精品免费看一| 久久77777| 国产一在线观看| 美女亚洲一区| 国产精品无码在线看| 欧美午夜一区| 亚洲精品在线91| 91毛片网| 5555国产在线观看| 国产成人超碰无码| 国产成人亚洲毛片| 精品伊人久久大香线蕉网站| 国产v欧美v日韩v综合精品| 美女免费黄网站| 精品乱码久久久久久久| 天堂成人在线| 四虎成人在线视频| 五月激激激综合网色播免费| 不卡国产视频第一页| 日韩av资源在线| a级毛片一区二区免费视频| 91精品人妻互换| 精品色综合| 国产亚洲精品精品精品| 欧美日韩精品一区二区在线线 | 亚洲欧美日韩视频一区| 国产18页| 天堂av高清一区二区三区| 久久毛片免费基地| 日日拍夜夜嗷嗷叫国产| 伊人久久久久久久久久| 亚洲精品无码高潮喷水A| 亚洲国产亚综合在线区| 亚洲最新地址| 91久久国产成人免费观看| 欧美笫一页| 亚洲欧美日韩天堂| 亚洲 成人国产| 看国产毛片| 国产精品3p视频| 久久精品这里只有国产中文精品| 欧美一级大片在线观看| 久一在线视频| 国产自在线播放| 国产午夜福利在线小视频| 国产成人av一区二区三区| 久久综合亚洲色一区二区三区| 天天色天天综合| 婷婷99视频精品全部在线观看 | 国产在线观看91精品亚瑟| 久久五月视频| 精品国产香蕉伊思人在线| 欧美伦理一区| 毛片网站在线播放| 国产真实乱人视频| 国产精品一区二区久久精品无码| 国产成人毛片| 日韩小视频在线观看| 国产精欧美一区二区三区| 欧美激情福利| 日韩AV无码一区| 国产91丝袜在线播放动漫 | 国产精品毛片一区视频播| 国产微拍一区二区三区四区| 麻豆国产原创视频在线播放| 精品三级网站| 国产交换配偶在线视频|