• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    服務(wù)組合的代數(shù)規(guī)約*

    2018-07-05 11:49:20劉冬梅何娟娟
    關(guān)鍵詞:公理規(guī)約調(diào)用

    陳 穎,劉冬梅,朱 鴻,蘭 斌,何娟娟

    (1.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094;2.英國(guó)Oxford Brookes大學(xué)計(jì)算與通信系,英國(guó) 牛津 OX33 1HX)

    1 引言

    近年來,服務(wù)計(jì)算得到越來越廣泛的關(guān)注和應(yīng)用[1]。面向網(wǎng)絡(luò)、分布式、模塊化的服務(wù)計(jì)算已經(jīng)成為支持異構(gòu)環(huán)境下分布式計(jì)算的主要途徑[2]。然而,單個(gè)服務(wù)提供的功能有限,為更充分地利用已有服務(wù),提高系統(tǒng)開發(fā)效率,需要將單個(gè)服務(wù)組合成更強(qiáng)大的服務(wù)。因此,服務(wù)組合一直是服務(wù)計(jì)算研究的熱點(diǎn)?,F(xiàn)有的服務(wù)組合描述方法主要基于業(yè)務(wù)流程,這些方法雖然可以有效地描述組合服務(wù)的實(shí)現(xiàn)方式,但缺乏對(duì)預(yù)期組合結(jié)果的功能性語(yǔ)義定義,從而難以支持服務(wù)組合正確性的驗(yàn)證和測(cè)試[3,4]。

    代數(shù)規(guī)約[5]作為一種形式化方法,最早被用于描述抽象數(shù)據(jù)類型。在過去30多年中,它發(fā)展到用于描述各種軟件系統(tǒng),尤其是將行為代數(shù)[6]和合代數(shù)[7 - 9]理論相結(jié)合后,能夠抽象地描述并發(fā)系統(tǒng)、基于狀態(tài)系統(tǒng)和軟件構(gòu)件。在前期工作中,我們擴(kuò)展了行為代數(shù)和合代數(shù)理論,提出面向服務(wù)的代數(shù)規(guī)約語(yǔ)言SOFIA(Service-Oriented Formalism In Algebras)[10],并開發(fā)了自動(dòng)化測(cè)試工具,實(shí)現(xiàn)了基于SOFIA語(yǔ)言書寫的規(guī)約對(duì)單個(gè)服務(wù)進(jìn)行自動(dòng)化測(cè)試[11,12]。與其他形式化方法相比,代數(shù)規(guī)約高度抽象且支持自動(dòng)化軟件測(cè)試[11 - 15]。

    本文針對(duì)服務(wù)組合的正確性驗(yàn)證和測(cè)試問題,提出用代數(shù)規(guī)約描述服務(wù)組合的方法。該方法以現(xiàn)有服務(wù)的代數(shù)規(guī)約為基礎(chǔ),用代數(shù)規(guī)約形式化地、抽象地定義服務(wù)組合的實(shí)現(xiàn),并進(jìn)一步用代數(shù)規(guī)約定義組合服務(wù)對(duì)外提供的抽象接口和功能語(yǔ)義,從而形成了由實(shí)現(xiàn)規(guī)約和抽象規(guī)約組成的服務(wù)組合代數(shù)規(guī)約的雙元結(jié)構(gòu)。在雙元結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步定義了服務(wù)組合實(shí)現(xiàn)規(guī)約和抽象規(guī)約之間必須滿足的“實(shí)現(xiàn)”關(guān)系。為了支持該方法的實(shí)現(xiàn),本文擴(kuò)展了面向服務(wù)代數(shù)規(guī)約語(yǔ)言SOFIA,提出了規(guī)約包機(jī)制,將定義一個(gè)服務(wù)系統(tǒng)的眾多規(guī)約單元封裝在一個(gè)規(guī)約包中,形成一個(gè)命名空間,增強(qiáng)了代數(shù)規(guī)約的重用性和可組合性。

    本文第2節(jié)介紹代數(shù)規(guī)約的基本概念;第3節(jié)定義代數(shù)規(guī)約的規(guī)約包機(jī)制,討論如何應(yīng)用代數(shù)規(guī)約描述服務(wù)組合,并定義代數(shù)規(guī)約之間的實(shí)現(xiàn)關(guān)系;第4節(jié)結(jié)合實(shí)例介紹服務(wù)組合描述機(jī)制;第5節(jié)分析所提描述機(jī)制的一些特性;第6節(jié)討論本研究的一些相關(guān)工作;第7節(jié)展望未來的工作。

    2 軟件系統(tǒng)的代數(shù)規(guī)約

    一個(gè)面向服務(wù)的系統(tǒng)可以看成一組相互關(guān)聯(lián)的軟件實(shí)體的集合,每個(gè)軟件實(shí)體可以是抽象數(shù)據(jù)類型、類、構(gòu)件、服務(wù)或服務(wù)組合等,用來表示現(xiàn)實(shí)世界中的物理對(duì)象、設(shè)備、數(shù)據(jù)、抽象概念或商業(yè)過程等[10]。在面向服務(wù)系統(tǒng)的代數(shù)規(guī)約中,每個(gè)軟件實(shí)體可以用一個(gè)規(guī)約單元來描述,規(guī)約單元也稱為類子。類子之間有使用和擴(kuò)展兩種關(guān)系,類似于面向?qū)ο笾械年P(guān)聯(lián)和繼承關(guān)系,記為?和?。通過這兩種關(guān)系可從已有規(guī)約單元構(gòu)造新的規(guī)約單元。一個(gè)結(jié)構(gòu)良好的代數(shù)規(guī)約將系統(tǒng)中每個(gè)軟件單元及相關(guān)概念和實(shí)體都抽象為相應(yīng)的規(guī)約單元,并且實(shí)體之間的關(guān)系對(duì)應(yīng)成規(guī)約單元之間的關(guān)系。

    2.1 代數(shù)規(guī)約的基調(diào)

    定義1(系統(tǒng)基調(diào)(System Signature)) 軟件系統(tǒng)的基調(diào)由有序?qū)?S,Σ)表示,其中,

    (1)S=(St,?,?),其中St是類子的有限集;?是集合St上的使用關(guān)系,s1?s2表示類子s1使用類子s2;?是集合St上的擴(kuò)展關(guān)系,s1?s2表示類子s1擴(kuò)展類子s2。

    (2)Σ={Σs|s∈St}是所有單元基調(diào)Σs的集合。

    2.2 代數(shù)規(guī)約的公理

    令(S,Σ)為系統(tǒng)基調(diào),定義Vs為類型為s的變量集,其中s∈St。假設(shè)ss1,s2,…,sn,s′,其中ss′表示s?s′或s=s′。

    定義3(s-項(xiàng)(s-term)) 類子s的項(xiàng)記為s-項(xiàng),其遞歸定義如下:

    (1)類型為w的s′-項(xiàng)τ是類型為w的s-項(xiàng);

    (2)對(duì)所有v∈Vs′,v是類型為s′的s-項(xiàng);

    (3)對(duì)所有類型為s1,…,sn的s-項(xiàng)τ1,…,τn,〈τ1,…,τn〉是類型為(s1,…,sn)的s-項(xiàng);

    (4)對(duì)所有類型為(s1,…,sn)的s-項(xiàng)τ,τ#i,1≤i≤n,是類型為si的s-項(xiàng);

    (5)對(duì)所有φs:w→w′,φ(τ)是類型為w′的s-項(xiàng),其中τ是類型為w的s-項(xiàng)。

    定義4(等式(Equation)) 條件等式e是一個(gè)三元組(τ,τ′,C),其中τ和τ′是類型相同的s-項(xiàng),C={(ci,di)|0≤i≤n}是條件集合,其中當(dāng)i=0,1,…,n時(shí),ci和di為類型相同的s-項(xiàng)。條件等式e=(τ,τ′,C)可以表示為(τ=τ′,C),其語(yǔ)義是當(dāng)C中所有條件ci=di(0≤i≤n)成立時(shí),有τ=τ′。

    定義5(公理集(Axiom Set)) 定義類子s上的公理集Axs是s中公理ax的有限集,公理ax是二元組(V,e),e為條件等式,V={vs′|ss′},vs′是公理e中的類型為s′的變量,集合V可為空。

    定義6(系統(tǒng)規(guī)約(System Specification)) 系統(tǒng)規(guī)約用三元組(S,Σ,Ax)表示,其中(S,Σ)是系統(tǒng)基調(diào),Ax={Axs|s∈St}是公理集Axs的有限集。

    為提高代數(shù)規(guī)約的模塊化特性,在使用代數(shù)規(guī)約語(yǔ)言時(shí),系統(tǒng)規(guī)約往往分解成一組規(guī)約單元,規(guī)約單元定義如下:

    定義7(規(guī)約單元(Specification Unit)) 類子sn的規(guī)約單元是一個(gè)三元組(s,Σsn,Axsn),其中,

    (1)s=(sn,sn?,sn?),sn是規(guī)約單元名,也稱類子名,sn?是sn上的使用關(guān)系集合;sn?是sn上的擴(kuò)展關(guān)系集合;

    (2)Σsn是類子sn的單元基調(diào);

    (3)Axsn是定義在類子sn上的有限公理集。

    2.3 代數(shù)規(guī)約的語(yǔ)義

    定義8(代數(shù)(Algebra)) 給定系統(tǒng)基調(diào)(S,Σ),一個(gè)(S,Σ)代數(shù)A表示為(A,F),其中,

    (1)A={As|s∈St}是由s索引的載體集As組成的有限集;

    定義9(代數(shù)中項(xiàng)的值(Evaluation of Terms in an Algebra)) 將項(xiàng)中的變量映射到A的賦值函數(shù)記為α。給定一個(gè)賦值函數(shù)α,(S,Σ)-代數(shù)A=(A,F)中項(xiàng)τ的值記作Evaα(τ),其定義如下:

    (1)Evaα(v)=α(v);

    (2)Evaα(〈τ1,…,τn〉)=〈Evaα(τ1),…,Evaα(τn)〉;

    (3)Evaα(τ#i)=ai,如果Evaα(τ)=〈a1,…,an〉,1≤i≤n;

    (4)Evaα(φ(τ))=fA,φ(Evaα(τ))。

    定義10(滿足性(Satisfaction)) 令ax是公理(V,e),e為條件等式τ=τ′,C,其中C={(ci,di)|0≤i≤n}。若對(duì)所有V的賦值函數(shù)α,當(dāng)Evaα(ci)=Evaα(di),i=1,2,…,n成立時(shí),有Evaα(τ)=Evaα(τ′),則稱(S,Σ)-代數(shù)A=(A,F)滿足公理ax,記為A|=ax。令規(guī)約ε=(S,Σ,Ax),若(S,Σ)-代數(shù)A=(A,F)滿足Ax中所有公理ax,則稱代數(shù)A滿足規(guī)約ε,記作A|=ε。

    3 服務(wù)組合的代數(shù)規(guī)約方法

    本節(jié)討論如何應(yīng)用代數(shù)規(guī)約方法描述服務(wù)的組合。首先引入“規(guī)約包”的概念,將一個(gè)服務(wù)的規(guī)約封裝在一個(gè)包中,以便對(duì)服務(wù)進(jìn)行組合。

    3.1 規(guī)約包

    一個(gè)系統(tǒng)的代數(shù)規(guī)約通常包含許多規(guī)約單元,給人們書寫和理解規(guī)約帶來不便,也為代數(shù)規(guī)約的重用和組合帶來不便。為此,本文提出規(guī)約包機(jī)制,將面向服務(wù)系統(tǒng)的代數(shù)規(guī)約拆分封裝成若干個(gè)包,將關(guān)系較為密切的類子放在同一包中。一個(gè)包可以引用其他包。通過引用其它包,包中類子可以使用被引用包中的類子。令P、Q為兩個(gè)包,用P?Q表示包P引用包Q。包機(jī)制有以下特點(diǎn):

    (1) 同一包中的類子名不同,不同包中的類子名可以相同,因此包可以避免類子命名沖突;

    (2) 關(guān)系緊密的類子放在同一包中,進(jìn)一步增強(qiáng)了代數(shù)規(guī)約模塊化特性;

    (3) 通過引用其他包,可以提高代數(shù)規(guī)約的重用性。

    假設(shè)面向服務(wù)系統(tǒng)的代數(shù)規(guī)約是規(guī)約單元集合{U1,…,Un},n>0,將關(guān)系密切的規(guī)約單元構(gòu)建為一個(gè)包,則系統(tǒng)規(guī)約劃分為包集合{P1,…,Pl},l>0,且

    ①對(duì)于任意Pi,1≤i≤l,Pi≠?;

    ③Pi∩Pj=?;

    ④若Pj?Pi,則允許Ub?Ua,其中Ub∈Pj,Ua∈Pi。

    一個(gè)包P由一系列規(guī)約單元U1,…,Uk組成,有一個(gè)唯一的名稱IdP,并給出所引用的包P1,…,Pn的名稱IdP1,…,IdPn。即包是一個(gè)三元組P=(IdP,{IdP1,…,IdPn},{U1,…,Uk})。

    定義11(包的語(yǔ)義(Semantics of Package)) 包P=(IdP,{IdP1,…,IdPn},{U1,…,Uk})的語(yǔ)義是一個(gè)規(guī)約(SP,ΣP,AxP),其定義如下:

    如果包P不引用任何其它包,即P=(IdP,{},{U1,…,Uk}),則:

    (1)SP=({s1,…,sk},?P,?P),si是規(guī)約單元Ui的類子名,?P和?P分別是規(guī)約單元U1,…,Uk之間的使用和擴(kuò)展關(guān)系;

    (2)ΣP={Σs|s∈{s1,…,sk}};

    (3)AxP={Axs|s∈{s1,…,sk}}。

    如果包P引用P1,…,Pn,n>0,令(Si,Σi,Axi)為包Pi所定義的規(guī)約,則:

    假定服務(wù)CS需要通過其他調(diào)用服務(wù)S1,…,Sn(n>1)以實(shí)現(xiàn)其功能,即CS是由服務(wù)S1,…,Sn組合而成。服務(wù)CS可以用兩種不同的代數(shù)規(guī)約來定義:

    (1)用代數(shù)規(guī)約抽象地定義服務(wù)的用戶接口和功能,稱這樣的代數(shù)規(guī)約為服務(wù)的抽象規(guī)約;

    (2)用代數(shù)規(guī)約定義該服務(wù)由哪些其他服務(wù)組成,描述每個(gè)向用戶提供的服務(wù)如何轉(zhuǎn)化為對(duì)其他服務(wù)的調(diào)用等實(shí)現(xiàn)方式,如同用代數(shù)規(guī)約描述如何用已有的數(shù)據(jù)類型實(shí)現(xiàn)新的數(shù)據(jù)類型,稱這樣的代數(shù)規(guī)約為服務(wù)的實(shí)現(xiàn)規(guī)約。

    服務(wù)組合的抽象規(guī)約描述服務(wù)組合所提供的抽象功能,描述用戶對(duì)所期待服務(wù)的功能需求,不涉及服務(wù)組合的具體實(shí)現(xiàn)細(xì)節(jié),而服務(wù)組合的實(shí)現(xiàn)規(guī)約則描述組合服務(wù)CS如何調(diào)用其他服務(wù)S1,…,Sn來實(shí)現(xiàn)其功能。由此可見,一個(gè)完整的服務(wù)組合代數(shù)規(guī)約應(yīng)該包含三個(gè)層次:組合抽象層、組合實(shí)現(xiàn)層和被調(diào)用服務(wù)層。

    規(guī)約語(yǔ)言的包機(jī)制可以有效地支持這樣的規(guī)約結(jié)構(gòu)。如圖1所示,可以將被調(diào)用服務(wù)的代數(shù)規(guī)約放在相應(yīng)包中,組合服務(wù)的抽象規(guī)約放在一個(gè)包(或幾個(gè)包)中,組合服務(wù)的實(shí)現(xiàn)規(guī)約放在另一個(gè)(或幾個(gè)包中)且申明引用被調(diào)用服務(wù)規(guī)約的包。圖1中包PIMP為組合服務(wù)CS的實(shí)現(xiàn)規(guī)約,被調(diào)用服務(wù)S1,…,Sn的代數(shù)規(guī)約分別定義在包PS1,…,PSn中,且PIMP?PS1,…,PSn,組合服務(wù)CS的抽象規(guī)約定義在包PABS中。

    Figure 1 Algebraic specifications of web service composition圖1 服務(wù)組合代數(shù)規(guī)約的結(jié)構(gòu)

    由包的語(yǔ)義定義可知,抽象規(guī)約包PABS相當(dāng)于一個(gè)系統(tǒng)規(guī)約(ABS,ΣABS,AxABS),其中,

    (1)ABS=〈Abs,Abs?,Abs?〉,Abs是抽象組合服務(wù)類子的集合,Abs?和Abs?分別表示Abs上的使用和擴(kuò)展關(guān)系;

    (2)基調(diào)ΣABS描述組合服務(wù)的抽象接口;

    (3)公理集AxABS描述ΣABS中服務(wù)操作的語(yǔ)義,需要注意的是,AxABS中的公理并不描述組合服務(wù)如何調(diào)用其他服務(wù),而是將組合服務(wù)看成一個(gè)原子服務(wù),描述其應(yīng)當(dāng)滿足的特性。

    實(shí)現(xiàn)規(guī)約包也是一個(gè)系統(tǒng)規(guī)約三元組(IMP,ΣIMP,AxIMP),其中,

    (1)IMP=〈Imp,Imp?,Imp?〉,Imp是組合實(shí)現(xiàn)中所涉及的類子名的集合,Imp?和Imp?為這些類子的使用和擴(kuò)展關(guān)系。對(duì)于一個(gè)正確的實(shí)現(xiàn)規(guī)約,要求Abs?Imp,并且如果類子s是一個(gè)被組合的服務(wù),s∈Imp。

    (2)ΣIMP是所實(shí)現(xiàn)服務(wù)的接口。作為一個(gè)正確的實(shí)現(xiàn),要求抽象規(guī)約中定義的服務(wù)操作都被實(shí)現(xiàn)了,即ΣABS?ΣIMP。

    (3)公理集AxIMP中公理ax=(V,e),描述如何通過調(diào)用其他服務(wù)來實(shí)現(xiàn)所需的服務(wù)操作。如果這些公理所描述的實(shí)現(xiàn)是正確的,那么應(yīng)該能保證那些在抽象規(guī)約中定義服務(wù)需求的公理是成立的。因此,要求能夠從這些公理以及被組合的服務(wù)規(guī)約公理推導(dǎo)出抽象規(guī)約中的公理。

    根據(jù)如上分析,下一節(jié)定義代數(shù)規(guī)約之間的實(shí)現(xiàn)關(guān)系。

    3.2 代數(shù)規(guī)約之間的實(shí)現(xiàn)關(guān)系

    定義12(實(shí)現(xiàn)關(guān)系(Implementation Relation)) 令CSIMP=(S,Σ,Ax)和CSABS=(S′,Σ′,Ax′)分別為兩個(gè)代數(shù)系統(tǒng)規(guī)約。CSIMP是CSABS的正確實(shí)現(xiàn),表示為CSIMP?CSABS,如果下述三個(gè)條件成立:

    (1)St′?St;

    (2)Σ′?Σ;

    上述定義中,條件(1)要求所有在抽象規(guī)約中定義的軟件實(shí)體都在實(shí)現(xiàn)規(guī)約中實(shí)現(xiàn)了,條件(2)要求抽象規(guī)約中的操作都在實(shí)現(xiàn)規(guī)約中實(shí)現(xiàn)了,條件(3)要求抽象規(guī)約所具有的服務(wù)特性都被實(shí)現(xiàn)規(guī)約滿足了。因此,CSIMP正確地實(shí)現(xiàn)了CSABS所規(guī)約的系統(tǒng)。

    定義13(模型(Model)) 給定代數(shù)系統(tǒng)規(guī)約ε=(S,Σ,Ax),一個(gè)代數(shù)A是(S,Σ,Ax)的模型,如果A存在一個(gè)子代數(shù)A′滿足條件:(1)A′是一個(gè)(S,Σ)代數(shù);(2)A′|=ε,即A′滿足公理Ax。用Mod(ε)表示規(guī)約ε的模型的集合。

    由模型的概念及代數(shù)規(guī)約的語(yǔ)義定義易證明下面的定理為真,證明從略.

    定理1說明,如果一個(gè)組合服務(wù)系統(tǒng)滿足實(shí)現(xiàn)規(guī)約且實(shí)現(xiàn)規(guī)約相對(duì)于抽象規(guī)約是正確的,那么該組合服務(wù)系統(tǒng)一定滿足抽象規(guī)約,也就是一個(gè)相對(duì)于抽象規(guī)約的正確實(shí)現(xiàn)。

    4 實(shí)例

    本節(jié)以訂票組合服務(wù)TravelS為例,說明用代數(shù)規(guī)約語(yǔ)言SOFIA描述組合服務(wù)的方法。

    該服務(wù)根據(jù)服務(wù)請(qǐng)求中包含的雇員信息和旅行信息,返回機(jī)票價(jià)格較低的訂票信息。它由如下服務(wù)組合而成:(1)雇員狀態(tài)服務(wù)EmployeeInfoS,根據(jù)雇員的姓名和員工號(hào),提供雇員的職位等基本信息,并提供雇員所允許的旅行倉(cāng)位(如經(jīng)濟(jì)艙、商務(wù)艙或頭等艙等);(2)美國(guó)航空公司和達(dá)美航空公司提供的機(jī)票查詢服務(wù)AAFlightTicketS和DAFlightTicketS。訂票組合服務(wù)TravelS比較兩者的機(jī)票價(jià)格,返回適合旅行者身份的價(jià)格較低的訂票信息。

    4.1 代數(shù)規(guī)約的總體結(jié)構(gòu)

    三個(gè)被組合服務(wù)EmployeeInfoS、AAFlightTicketS、DAFlightTicketS的代數(shù)規(guī)約分別封裝在三個(gè)包中,組合服務(wù)的實(shí)現(xiàn)規(guī)約和抽象規(guī)約分別封裝在TravelSImp包和TravelS包中。此外,包AirTravel包含了機(jī)票服務(wù)有關(guān)的公共概念。包之間的引用關(guān)系如圖2所示。

    Figure 2 Algebraic specifications of TravelS圖2 訂票組合服務(wù)代數(shù)規(guī)約的結(jié)構(gòu)

    4.2 被組合服務(wù)的規(guī)約

    下面是AAFlightTicketS的代數(shù)規(guī)約。

    package AAFlightTicketS;

    import AirTravel;

    spec AAFlightTicketS;

    uses TravelClass,FlightReq,Flight;

    operation

    ticketReq(TravelClass,FlightReq):Flight;

    axiom

    for allaa:AAFlightTicketS,tc:travelClass,f:FlightReq that

    aa.ticketReq(tc,f).class=tc;

    (1)

    aa.ticketReq(tc,f).leavingFrom=f.leavingFrom;

    aa.ticketReq(tc,f).destination=f.destination;

    aa.ticketReq(tc,f).departDateTime.date=f.departDate;

    (2)

    aa.ticketReq(tc,f).returnDateTime.date=f.returnDate;

    end

    end

    end

    DAFlightTicketS的規(guī)約包類似,故省略。因篇幅限制,也略去EmployeeInfoS和AirTravel規(guī)約包的細(xì)節(jié)。

    4.3 服務(wù)組合的抽象規(guī)約

    訂票服務(wù)的抽象規(guī)約如下:

    package TravelS;

    import EmployeeInfoS,AAFlightTicketS,DAFlightTicketS;

    spec TravelS;

    uses Employee,FlightReq,Flight,EmployeeInfoS,AAFlightTicketS,DAFlightTicketS;

    operation

    travelReq(Employee,FlightReq):Flight;

    axiom

    for alle:Employee,f:FlightReq,ts:TravelS,es:EmployeeInfoS,aa:AAFlightTicketS,da:DAFlightTicketS

    that

    ts.travelReq(e,f).departDateTime.date=f.departDate;

    (3)

    ts.travelReq(e,f).returnDateTime.date=f.returnDate;

    (4)

    ts.travelReq(e,f).destination=f.destination;

    (5)

    ts.travelReq(e,f).leavingFrom=f.leavingFrom;

    (6)

    letc=es.empInfoReq(e) in

    ts.travelReq(e,f).class=c;

    (7)

    ts.travelReq(e,f).price=min(aa.ticketReq(c,f).price,da.ticketReq(c,f).price);

    (8)

    end

    end

    end

    end

    訂票服務(wù)抽象規(guī)約單元TravelS定義了一個(gè)服務(wù)操作travelReq,用戶提供員工信息和旅行信息,服務(wù)返回與員工身份相符的旅行機(jī)票信息。公理(3)~公理(6)要求服務(wù)提供的機(jī)票信息的出發(fā)日期、返回日期、目的地和出發(fā)地與服務(wù)請(qǐng)求中的相應(yīng)信息是吻合的。公理(7)要求服務(wù)返回的機(jī)票的等級(jí)與旅行者的身份一致。公理(8)要求機(jī)票的價(jià)格是兩家航空公司相應(yīng)票價(jià)中的較低者。

    4.4 組合實(shí)現(xiàn)的規(guī)約

    訂票服務(wù)的實(shí)現(xiàn)規(guī)約如下:

    package TravelSImp;

    import EmployeeInfoS,AAFlightTicketS,DAFlightTicketS;

    spec TravelS;

    uses Employee,FlightReq,Flight,EmployeeInfoS,AAFlightTicketS,DAFlightTicketS;

    attr

    empInfoS:EmployeeInfoS;

    aaTicketS:AAFlightTicketS;

    daTicketS:DAFlightTicketS;

    operation

    travelReq(Employee,FlightReq):Flight;

    axiom

    for allts:TravelS,e:Employee,f:FlightReq that

    let

    c=ts.empInfoS.empInfoReq(e);

    aaTicket=ts.aaTicketS.ticketReq(c,f);

    (9)

    daTicket=ts.daTicketS.ticketReq(c,f);

    in

    ts.travelReq(e,f)=aaTicket,ifaaTicket.price

    (10)

    ts.travelReq(e,f)=daTicket,ifaaTicket.price>=daTicket.price;

    (11)

    end

    end

    end

    end

    上述規(guī)約說明TravelS包含三個(gè)服務(wù)作為其成分:empInfoS是EmployeeInfoS服務(wù),aaTicketS是AAFlightTicketS服務(wù),daTicketS是DAFlightTicketS。其中公理(10)規(guī)定當(dāng)AAFlightTicketS服務(wù)返回的票價(jià)低于DAFlightTicketS服務(wù)返回的票價(jià)時(shí),選擇美聯(lián)航空公司的機(jī)票。公理(11)規(guī)定當(dāng)AAFlightTicketS服務(wù)返回的票價(jià)等于或高于DAFlightTicketS服務(wù)返回的票價(jià)時(shí),選擇達(dá)美航空公司的機(jī)票。值得注意的是,抽象規(guī)約沒有指定當(dāng)兩家航空公司的票價(jià)一樣時(shí)選擇哪個(gè)。因此,實(shí)現(xiàn)規(guī)約和抽象規(guī)約并不完全一樣。

    4.5 證明實(shí)現(xiàn)關(guān)系

    本節(jié)證明TravelS的實(shí)現(xiàn)規(guī)約正確實(shí)現(xiàn)了其抽象規(guī)約。首先,TravelS規(guī)約包的類子集合與TravelSImp包的類子集合完全相同。其次,TravelS在抽象規(guī)約包TravelS中說明的操作是在TravelSImp規(guī)約包中說明的操作的子集,這是因?yàn)樵赥ravelSImp規(guī)約包中比TravelS包中多了三個(gè)觀察操作:empInfoS:EmployeeInfoS,aaTicketS:AAFlightTicketS,daTicketS:DAFlightTicketS。因此,實(shí)現(xiàn)關(guān)系的條件(1)和(2)均滿足。下面證明條件(3)也滿足。

    (1)證明抽象規(guī)約包TravelS中的公理(3)成立。

    由實(shí)現(xiàn)規(guī)約包TravelSImp中的公理(9)和公理(10)可知,當(dāng)aaTicket.price

    ts.travelReq(e,f).departDateTime.date=aaTicket.departDateTime.date=ts.aaTicketS.ticketReq(c,f).departDateTime.date

    又由被調(diào)用服務(wù)類子AAFlightTicketS中公理(2)可知

    ts.travelReq(e,f).departDateTime.date=ts.aaTicketS.ticketReq(c,f).departDateTime.date=f.departDate

    同理可證,當(dāng)aaTicket.price>=daTicket.price時(shí),有:

    ts.travelReq(e,f).deparDateTime.date=ts.daTicketS.ticketReq(c,f).departDateTime.date=f.departDate

    因此,TravelS包中的公理(3)成立。

    類似地,可以證明抽象規(guī)約包中的公理(4)~公理(6)成立。

    (2)證明抽象規(guī)約包TravelS中的公理(7)成立。

    由實(shí)現(xiàn)規(guī)約包TravelSImp的公理(9)和公理(10)可知,當(dāng)aaTicket.price

    ts.travelReq(e,f).class=aaTicket.class=ts.aaTicketS.ticketReq(c,f).class

    其中c=ts.empInfoS.empInfoReq(e)。

    又由AAFlightTicketS規(guī)約中的公理(1)可知

    ts.travelReq(e,f).class=ts.aaTicketS.ticketReq(c,f).class=c

    同理可證,當(dāng)aaTicket.price>=daTicket.price時(shí),有

    ts.travelReq(e,f).class=ts.daTicketS.ticketReq(c,f).class=c

    因此,抽象規(guī)約包TravelS中的公理(7)成立。

    (3)證明抽象規(guī)約包TravelS中的公理(8)成立。

    由實(shí)現(xiàn)規(guī)約包TravelSImp中的公理(9)和公理(10)可知,當(dāng)aaTicket.price

    ts.travelReq(e,f).price=aaTicket.price=ts.aaTicketS.ticketReq(c,f).price

    當(dāng)aaTicket.price>=daTicket.price時(shí),有

    ts.travelReq(e,f).price=daTicket.price=ts.daTicketS.ticketReq(c,f).price

    因此,抽象規(guī)約包TravelS中的公理(8)成立。

    綜合上述結(jié)果,由定義12,TravelSImp是TravelS的一個(gè)正確實(shí)現(xiàn)。

    5 討論

    本文提出的服務(wù)組合的代數(shù)規(guī)約方法具有如下特性。

    (1)抽象性:SOFIA作為一種代數(shù)規(guī)約語(yǔ)言,將服務(wù)系統(tǒng)中的實(shí)體都抽象為規(guī)約單元。在描述服務(wù)組合時(shí),既可以給出組合服務(wù)的抽象描述,也可以描述其組合的實(shí)現(xiàn)。由于語(yǔ)言的抽象化特點(diǎn),調(diào)用其他組合服務(wù)時(shí),往往只需考慮被調(diào)用服務(wù)的抽象接口,而不用考慮多層組合服務(wù)的嵌套。

    (2)表達(dá)力:服務(wù)組合中,多個(gè)被調(diào)用服務(wù)之間的調(diào)用關(guān)系可能是順序、選擇或者循環(huán)調(diào)用,其中循環(huán)組合可由遞歸等式描述。SOFIA語(yǔ)言書寫順序和選擇服務(wù)調(diào)用的公理形式如下。

    ①順序組合。

    順序組合是指多個(gè)服務(wù)按順序依次執(zhí)行,前一個(gè)服務(wù)的輸出結(jié)果作為后一個(gè)服務(wù)的輸入?yún)?shù)。假定φ是組合服務(wù)CS的一個(gè)操作,其輸入的類子為R。如果服務(wù)操作φ的實(shí)現(xiàn)是依次調(diào)用服務(wù)sa的操作φ1和服務(wù)sb中的操作φ2,則公理的形式如下:

    For allsc:CS,x:R that

    sc.(x)=sc.sb.(sc.sa.(x));

    End

    ②選擇組合。

    如果組合服務(wù)的操作φ根據(jù)條件選擇要執(zhí)行的服務(wù),例如當(dāng)條件Con為真時(shí),調(diào)用服務(wù)sa中操作φ1,否則調(diào)用服務(wù)sb中操作φ2,則公理的形式如下:

    For allsc:SC,r:R that

    sc.φ(r)=sc.sa.φ1(r),if Con;

    sc.φ(r)=sc.sb.φ2(r),if not Con;

    End

    (3)可驗(yàn)證性:若組合服務(wù)的抽象規(guī)約單元中的公理能夠由被調(diào)用服務(wù)規(guī)約的公理和組合實(shí)現(xiàn)規(guī)約中的公理證明得到,那么組合實(shí)現(xiàn)是正確的。上述訂購(gòu)機(jī)票組合服務(wù)的例子說明,這樣的證明是可行的。

    6 相關(guān)工作

    目前,Web服務(wù)組合規(guī)范主要從工作流程的角度描述和定義參與服務(wù)組合的各個(gè)子服務(wù)之間的動(dòng)態(tài)交互的邏輯順序,工業(yè)界廣泛采用的業(yè)務(wù)流程執(zhí)行規(guī)范BPEL(Business Process Execution Language)將服務(wù)組合調(diào)用動(dòng)作視為一組活動(dòng),用控制流塊結(jié)構(gòu)組織這些活動(dòng),并提供服務(wù)組合的抽象行為和具體實(shí)現(xiàn)描述[16],但這種方法缺乏形式化語(yǔ)義以及驗(yàn)證機(jī)制來保證服務(wù)組合的質(zhì)量[17]。針對(duì)服務(wù)組合的可驗(yàn)證性和可測(cè)試性這一問題,學(xué)者們基于Web服務(wù)組合規(guī)范建立形式化模型,以形式化方法定義和描述服務(wù)組合的各個(gè)子服務(wù)之間的動(dòng)態(tài)交互,其中使用最多的三種形式化方法分別是有限自動(dòng)機(jī)及其變體[18,19]、Petri網(wǎng)[20,21]和進(jìn)程代數(shù)[22]。這些已有工作主要對(duì)服務(wù)和服務(wù)之間的交互行為建模,并支持組合的性質(zhì)如死鎖避免、數(shù)據(jù)類型一致性和動(dòng)態(tài)行為匹配性的檢查和驗(yàn)證。但是,這些方法著重關(guān)注服務(wù)組合調(diào)用行為的協(xié)調(diào)性,缺乏對(duì)服務(wù)功能的描述,因此難以支持對(duì)服務(wù)功能正確性的驗(yàn)證和測(cè)試。

    與上述三種形式化方法相比,代數(shù)規(guī)約[5]不僅能夠描述軟件行為,還能通過公理描述軟件功能。代數(shù)規(guī)約作為一種高度抽象的形式化方法,從20世紀(jì)70年代被提出發(fā)展至今,其理論基礎(chǔ)從初始代數(shù)發(fā)展到終代數(shù)、行為代數(shù)[7]和合代數(shù)[7 - 9],描述對(duì)象從抽象數(shù)據(jù)類型擴(kuò)展到并發(fā)系統(tǒng)、基于狀態(tài)的系統(tǒng)和軟件組件。在前期工作中,我們擴(kuò)展了行為代數(shù)和合代數(shù)理論,提出設(shè)計(jì)并實(shí)現(xiàn)了面向服務(wù)系統(tǒng)的代數(shù)規(guī)約語(yǔ)言SOFIA[10]。對(duì)服務(wù)系統(tǒng)代數(shù)規(guī)約的實(shí)例研究表明,與其他形式化方法相比,代數(shù)規(guī)約具有表達(dá)力強(qiáng)、高度模塊化等特點(diǎn),更適合描述服務(wù)系統(tǒng)[11 - 15],但文獻(xiàn)中尚未見將代數(shù)規(guī)約技術(shù)用于描述服務(wù)組合的研究。本文在上述研究的基礎(chǔ)上,將包的概念引入到代數(shù)規(guī)約語(yǔ)言,進(jìn)一步擴(kuò)展了SOFIA語(yǔ)言,提高服務(wù)描述的模塊化特性,從而支持服務(wù)描述的重用和組合。包作為一個(gè)軟件語(yǔ)言設(shè)施已廣泛應(yīng)用于程序設(shè)計(jì)語(yǔ)言,但未見于代數(shù)規(guī)約語(yǔ)言。本文定義的代數(shù)規(guī)約之間的實(shí)現(xiàn)關(guān)系與傳統(tǒng)代數(shù)規(guī)約理論中的定義有所不同,傳統(tǒng)的定義要求兩個(gè)代數(shù)規(guī)約的基調(diào)完全相同[23]。但是,我們?cè)诿枋鼋M合服務(wù)的實(shí)例研究中發(fā)現(xiàn),如同本文的例子所示,抽象規(guī)約和實(shí)現(xiàn)規(guī)約的基調(diào)可能不同,實(shí)現(xiàn)規(guī)約的基調(diào)可能包含額外的用于實(shí)現(xiàn)組合的操作,并可能使用抽象規(guī)約中無需指定的類子。相應(yīng)地,我們對(duì)規(guī)約的模型概念也作了修改。在定理1中我們證明了,對(duì)這些代數(shù)規(guī)約基本概念的修改保持了“實(shí)現(xiàn)規(guī)約的模型必須也是抽象規(guī)約的模型”這個(gè)重要性質(zhì)。本文給出的例子說明,證明實(shí)現(xiàn)規(guī)約與抽象規(guī)約之間的實(shí)現(xiàn)關(guān)系是可行的,為形式化驗(yàn)證和測(cè)試服務(wù)組合描述的正確性奠定了基礎(chǔ)。

    代數(shù)規(guī)約方法的一個(gè)主要特點(diǎn)是支持軟件測(cè)試的自動(dòng)化,包括測(cè)試用例生成,測(cè)試執(zhí)行和測(cè)試結(jié)果正確性判斷,代表性的研究成果有:Bernot等[24]開發(fā)的測(cè)試過程程序的測(cè)試工具。針對(duì)面向?qū)ο筌浖?,Doong等[25]提出LOBAS規(guī)約語(yǔ)言并開發(fā)自動(dòng)化測(cè)試工具ASTOOT,Hughe等[26]開發(fā)了DAISTISH。針對(duì)Java平臺(tái)軟件組件,Zhu等[14,15]提出CASOCC語(yǔ)言并開發(fā)CASCAT自動(dòng)化測(cè)試工具。在前期工作中,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了以代數(shù)規(guī)約語(yǔ)言SOFIA為基礎(chǔ)的自動(dòng)化測(cè)試工具,支持對(duì)單個(gè)服務(wù)進(jìn)行自動(dòng)化測(cè)試[11,12]。此外還提出了代數(shù)規(guī)約到語(yǔ)義本體的轉(zhuǎn)換方法[27],并開發(fā)了轉(zhuǎn)換工具TrS2O[28],將服務(wù)的代數(shù)規(guī)約轉(zhuǎn)換成本體語(yǔ)義描述,使得代數(shù)規(guī)約在機(jī)器可理解性和人工可讀性方面得到改善。

    7 結(jié)束語(yǔ)

    本文提出了基于代數(shù)規(guī)約的服務(wù)組合形式化規(guī)約方法,使驗(yàn)證和測(cè)試服務(wù)組合的正確性成為可能。下一步的工作將進(jìn)一步進(jìn)行實(shí)例研究,總結(jié)服務(wù)組合的模式,設(shè)計(jì)并實(shí)現(xiàn)證明服務(wù)組合正確性的自動(dòng)化推導(dǎo)工具,以及服務(wù)組合自動(dòng)測(cè)試工具。

    [1] Papazoglou M P,Heuvel W J.Service oriented architectures:Approaches,technologies and research issues[J].The VLDB Journal—The International Journal on Very Large Data Bases,2007,16(3):389-415.

    [2] Bouguettaya A, Sheng Q Z, Daniel F.Web services foundations[M].New York:Springer,2014.

    [3] Goguen J A,Thatcher J W,Wagner E G,et al.Initial algebra semantics and continuous algebras[J].Journal of the ACM (JACM),1977,24(1):68-95.

    [4] Bartalos P,Bieliková M.Automatic dynamic web service composition:A survey and problem formalization[J].Computing and Informatics,2012,30(4):793-827.

    [5] Charif Y,Sabouret N.An overview of semantic web services composition approaches[J].Electronic Notes in Theoretical Computer Science,2006,146(1):33-41.

    [6] Goguen J,Malcolm G.A hidden agenda[J].Theoretical Computer Science,2000,245(1):55-101.

    [7] Cirstea C.Coalgebra semantics for hidden algebra:Parameterised objects and inheritance[C]∥Proc of International Workshop on Algebraic Development Techniques,1997:174-189.

    [8] Rutten J J M M.Universal coalgebra:A theory of systems[J].Theoretical Computer Science,2000,249(1):3-80.

    [9] Bonchi F,Montanari U.A coalgebraic theory of reactive systems[J].Electronic Notes in Theoretical Computer Science,2008,209:201-215.

    [10] Liu D,Zhu H,Bayley I.SOFIA:An algebraic specification language for developing services[C]∥Proc of 2014 IEEE 8th International Symposium on Service Oriented System Engineering (SOSE),2014:70-75.

    [11] Liu D,Liu Y,Zhang X,et al.Automated testing of web services based on algebraic specifications[C]∥Proc of the International Workshop on Service-Oriented System Engineering,2015:143-152.

    [12] Liu D,Wu X,Zhang X,et al.Monic testing of web services based on algebraic specifications[C]∥Proc of Service-Oriented System Engineering (SOSE),2016:24-33.

    [13] Chen H Y,Tse T H,Chen T Y.TACCLE:A methodology for object-oriented software testing at the class and cluster levels[J].ACM Transactions on Software Engineering and Methodology (TOSEM),2001,10(1):56-109.

    [14] Kong L,Zhu H,Zhou B.Automated testing EJB components based on algebraic specifications[C]∥Proc of the 31st Annual International Computer Software and Applications Conference(COMPSAC 2007),2007:717-722.

    [15] Yu B, Kong L,Zhang Y,et al.Testing java components based on algebraic specifications[C]∥Proc of 2008 1st International Conference on Software Testing,Verification,and Validation,2008:190-199.

    [16] Weske M.Business process management architectures[M]∥Business Process Management.Berlin:Springer Berlin Heidelberg,2012:333-371.

    [17] Aalst W M P V D,Dumas M,Hofstede A H M T.Web service composition languages:Old wine in new bottles?[C]∥Proc of the 29th Conference on Euromicro,2003:298-305.

    [18] Keum C S,Kang S,Ko I Y,et al.Generating test cases for web services using extended finite state machine[C]∥Proc of the 18th International Conference on Testing of Communicating Systems,2006:103-117.

    [19] Ramollari E,Kourtesis D,Dranidis D,et al.Leveraging semantic web service descriptions for validation by automated functional testing[C]∥Proc of European Semantic Web Conference on the Semantic Web:Research and Applications,2009:593-607.

    [20] Zhu H,He X.A methodology of testing high-level Petri nets[J].Information & Software Technology,2002,44(8):473-489.

    [21] Xu D.A tool for automated test code generation from high-level Petri nets[C]∥Proc of International Conference on Applications and Theory of Petri Nets-,2011:308-317.

    [22] Frantzen L, Huerta M D L N, Kis Z D,et al.On-the-fly model-based testing of web services with Jambition[C]∥Proc of Web Services and Formal Methods,2009:143-157.

    [23] Sannella D,Tarlecki A.Foundations of algebraic specification and formal software development[M].Berlin:Springer,2012.

    [24] Bernot G,Gaudel M C,Marre B.Software testing based on formal specifications:A theory and a tool[J].Software Engineering Journal,2010,6(6):387-405.

    [25] Doong R K,Frankl P G.The ASTOOT approach to testing object-oriented programs[J].ACM Transactions on Software Engineering and Methodology(TOSEM),1994,32(2):101-130.

    [26] Hughes M,Stotts D.Daistish:Systematic algebraic testing for OO programs in the presence of side-effects[C]∥Proc of the 1996 ACM SIGSOFT International Symposium on Software Testing and Analysis,1996:53-61.

    [27] Liu D,Zhu H,Bayley I.From algebraic specification to ontological description of service semantics[C]∥Proc of IEEE,International Conference on Web Services,2013:579-586.

    [28] Liu D,Zhu H,Bayley I.Transformation of algebraic specifications into ontological semantic descriptions of web services[J].International Journal of Services Computing,2014,2(1):58-71.

    猜你喜歡
    公理規(guī)約調(diào)用
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    電力系統(tǒng)通信規(guī)約庫(kù)抽象設(shè)計(jì)與實(shí)現(xiàn)
    一種在復(fù)雜環(huán)境中支持容錯(cuò)的高性能規(guī)約框架
    歐幾里得的公理方法
    一種改進(jìn)的LLL模糊度規(guī)約算法
    Abstracts and Key Words
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    公理是什么
    修辭的敞開與遮蔽*——對(duì)公共話語(yǔ)規(guī)約意義的批判性解讀
    成人国产综合亚洲| 一个人免费在线观看的高清视频| 成人三级黄色视频| 亚洲av成人av| 桃红色精品国产亚洲av| 欧美中文日本在线观看视频| 亚洲第一电影网av| 老司机深夜福利视频在线观看| 动漫黄色视频在线观看| av欧美777| or卡值多少钱| 免费在线观看亚洲国产| 真人做人爱边吃奶动态| 国产三级中文精品| 亚洲精品国产精品久久久不卡| www.www免费av| 99久久综合精品五月天人人| 国产精品99久久久久久久久| 日韩欧美精品v在线| 亚洲精品粉嫩美女一区| 久99久视频精品免费| 久久国产精品人妻蜜桃| 国产99白浆流出| 久久亚洲精品不卡| 色精品久久人妻99蜜桃| 国产高清videossex| 岛国在线观看网站| 国内揄拍国产精品人妻在线| 男女之事视频高清在线观看| 婷婷丁香在线五月| 日韩精品中文字幕看吧| netflix在线观看网站| 国产精品亚洲美女久久久| 舔av片在线| 亚洲自拍偷在线| 国产亚洲精品综合一区在线观看| 亚洲天堂国产精品一区在线| 亚洲五月婷婷丁香| 欧美日韩中文字幕国产精品一区二区三区| 亚洲人成网站在线播放欧美日韩| 国产精品久久久久久久电影 | 成人精品一区二区免费| 国产av一区在线观看免费| 亚洲人与动物交配视频| 亚洲国产精品成人综合色| 男女床上黄色一级片免费看| 精品乱码久久久久久99久播| 日本 av在线| 一区福利在线观看| 一级a爱片免费观看的视频| 999久久久精品免费观看国产| 又黄又爽又免费观看的视频| 欧美乱色亚洲激情| 免费在线观看日本一区| 国产精品久久电影中文字幕| 97超级碰碰碰精品色视频在线观看| 成人高潮视频无遮挡免费网站| 日本撒尿小便嘘嘘汇集6| 午夜精品久久久久久毛片777| 国产精品久久久久久人妻精品电影| 露出奶头的视频| 99国产综合亚洲精品| 亚洲精品国产精品久久久不卡| 亚洲18禁久久av| 免费观看人在逋| 久久久色成人| 国产麻豆成人av免费视频| 热99re8久久精品国产| 99久国产av精品| www国产在线视频色| 99热这里只有精品一区| av黄色大香蕉| 欧美最黄视频在线播放免费| 国产又黄又爽又无遮挡在线| 国产aⅴ精品一区二区三区波| 人人妻人人看人人澡| 日韩中文字幕欧美一区二区| 欧美bdsm另类| 成年女人永久免费观看视频| 一夜夜www| 久久99热这里只有精品18| 亚洲中文字幕一区二区三区有码在线看| 国产99白浆流出| 亚洲国产精品sss在线观看| 精品乱码久久久久久99久播| 在线观看美女被高潮喷水网站 | 欧美黄色片欧美黄色片| 99国产综合亚洲精品| 免费观看的影片在线观看| 日本黄色片子视频| 精品一区二区三区av网在线观看| 特级一级黄色大片| 我的老师免费观看完整版| 村上凉子中文字幕在线| 中亚洲国语对白在线视频| 天堂影院成人在线观看| 欧美+亚洲+日韩+国产| 有码 亚洲区| 少妇人妻精品综合一区二区 | 欧美激情久久久久久爽电影| 免费电影在线观看免费观看| bbb黄色大片| 欧美日本视频| 国产主播在线观看一区二区| tocl精华| 久久久久免费精品人妻一区二区| 成人三级黄色视频| 国产精华一区二区三区| 中文字幕av在线有码专区| 国产av在哪里看| 国内毛片毛片毛片毛片毛片| 99久久成人亚洲精品观看| 全区人妻精品视频| 亚洲国产欧美人成| 性欧美人与动物交配| 99久久九九国产精品国产免费| 男女做爰动态图高潮gif福利片| 一边摸一边抽搐一进一小说| 成熟少妇高潮喷水视频| 久久伊人香网站| 国产一区二区亚洲精品在线观看| 嫩草影院入口| 国产97色在线日韩免费| 制服人妻中文乱码| 日本熟妇午夜| 2021天堂中文幕一二区在线观| 欧美一区二区国产精品久久精品| 美女 人体艺术 gogo| 亚洲人成网站高清观看| 麻豆成人av在线观看| 精品国产美女av久久久久小说| 欧美zozozo另类| 亚洲成av人片免费观看| 精品99又大又爽又粗少妇毛片 | 欧美av亚洲av综合av国产av| 五月玫瑰六月丁香| 欧美成人性av电影在线观看| 黄色片一级片一级黄色片| 国产aⅴ精品一区二区三区波| 欧美日韩瑟瑟在线播放| 大型黄色视频在线免费观看| 国产成年人精品一区二区| 亚洲av熟女| 97超级碰碰碰精品色视频在线观看| 欧美一级a爱片免费观看看| 在线观看免费视频日本深夜| 国产主播在线观看一区二区| 欧美一区二区亚洲| aaaaa片日本免费| 久久久久国产精品人妻aⅴ院| 精品人妻1区二区| 国产欧美日韩精品亚洲av| 好男人在线观看高清免费视频| 欧美日韩亚洲国产一区二区在线观看| 精品不卡国产一区二区三区| 久久久久久久午夜电影| 色av中文字幕| 精品电影一区二区在线| 国产精品 国内视频| 淫妇啪啪啪对白视频| 欧美又色又爽又黄视频| 欧美成人a在线观看| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 99久久精品一区二区三区| 国产精品 欧美亚洲| 亚洲色图av天堂| 亚洲美女视频黄频| 我要搜黄色片| 老司机午夜十八禁免费视频| 日韩国内少妇激情av| 国内精品一区二区在线观看| 欧美日韩综合久久久久久 | 在线天堂最新版资源| 久久亚洲精品不卡| 69人妻影院| 国产视频内射| 久久久久久久久中文| 国产精品综合久久久久久久免费| 亚洲av美国av| 午夜老司机福利剧场| 法律面前人人平等表现在哪些方面| 国产亚洲精品综合一区在线观看| 欧美一区二区精品小视频在线| 五月玫瑰六月丁香| 精品欧美国产一区二区三| 精品一区二区三区av网在线观看| 动漫黄色视频在线观看| 国产成人系列免费观看| 真人一进一出gif抽搐免费| 国产熟女xx| 亚洲激情在线av| 国产成人aa在线观看| 亚洲欧美日韩东京热| 久久精品国产亚洲av香蕉五月| 成人无遮挡网站| 国内久久婷婷六月综合欲色啪| 亚洲av中文字字幕乱码综合| 欧美+亚洲+日韩+国产| 国产一区二区激情短视频| 日韩有码中文字幕| 久久草成人影院| 久久伊人香网站| 真人做人爱边吃奶动态| 人妻夜夜爽99麻豆av| 深夜精品福利| 成年人黄色毛片网站| 黑人欧美特级aaaaaa片| 日本黄色视频三级网站网址| www.色视频.com| 免费看十八禁软件| 国产综合懂色| www日本在线高清视频| 麻豆国产av国片精品| 蜜桃久久精品国产亚洲av| 免费av不卡在线播放| 久久久久久久久大av| 好男人在线观看高清免费视频| 18+在线观看网站| 色在线成人网| 日日干狠狠操夜夜爽| 性欧美人与动物交配| 日本成人三级电影网站| 哪里可以看免费的av片| 日本黄色片子视频| 久久国产精品影院| 99在线人妻在线中文字幕| 欧美色欧美亚洲另类二区| 婷婷精品国产亚洲av| 黄色女人牲交| 日韩亚洲欧美综合| 亚洲av中文字字幕乱码综合| 1000部很黄的大片| 俄罗斯特黄特色一大片| 亚洲avbb在线观看| 亚洲 欧美 日韩 在线 免费| 国产一区二区激情短视频| 99热6这里只有精品| 亚洲国产精品合色在线| 久久精品国产自在天天线| 国产精品久久视频播放| 国产精品电影一区二区三区| 日韩精品青青久久久久久| 国产伦人伦偷精品视频| 日本三级黄在线观看| 成年女人看的毛片在线观看| 88av欧美| 国产亚洲av嫩草精品影院| 精品一区二区三区av网在线观看| 日本黄大片高清| 老汉色av国产亚洲站长工具| 亚洲国产色片| 色综合婷婷激情| 精品久久久久久,| 91久久精品国产一区二区成人 | 久久久久免费精品人妻一区二区| 日本与韩国留学比较| 一个人免费在线观看电影| 亚洲人成网站在线播| 小说图片视频综合网站| 波多野结衣高清作品| 免费在线观看亚洲国产| 精品电影一区二区在线| 给我免费播放毛片高清在线观看| 亚洲精品一卡2卡三卡4卡5卡| 中文字幕熟女人妻在线| 日日夜夜操网爽| 日本 av在线| 两人在一起打扑克的视频| 动漫黄色视频在线观看| www.www免费av| 亚洲欧美日韩东京热| 久久久国产精品麻豆| 欧美大码av| 丁香欧美五月| 女人被狂操c到高潮| 国内少妇人妻偷人精品xxx网站| 久久精品91无色码中文字幕| 日韩精品中文字幕看吧| а√天堂www在线а√下载| av专区在线播放| www.色视频.com| 99久久综合精品五月天人人| 在线视频色国产色| 亚洲一区高清亚洲精品| 91字幕亚洲| 亚洲av免费高清在线观看| 婷婷精品国产亚洲av| 制服丝袜大香蕉在线| 99精品在免费线老司机午夜| 波多野结衣高清作品| 亚洲第一电影网av| 99久久精品热视频| 欧洲精品卡2卡3卡4卡5卡区| av国产免费在线观看| 国内精品久久久久久久电影| 久久精品人妻少妇| 一本一本综合久久| 亚洲精品在线美女| 日韩高清综合在线| 国产老妇女一区| 91在线精品国自产拍蜜月 | 一个人观看的视频www高清免费观看| 久久久久免费精品人妻一区二区| 亚洲性夜色夜夜综合| 美女被艹到高潮喷水动态| 99热只有精品国产| 最新美女视频免费是黄的| 精品国产三级普通话版| 国产成人啪精品午夜网站| 久久人人精品亚洲av| 女警被强在线播放| 国产私拍福利视频在线观看| www.熟女人妻精品国产| 国产主播在线观看一区二区| 亚洲精品乱码久久久v下载方式 | 怎么达到女性高潮| 波多野结衣高清作品| 亚洲精品乱码久久久v下载方式 | 看片在线看免费视频| 他把我摸到了高潮在线观看| 国产精品 欧美亚洲| eeuss影院久久| 色视频www国产| 亚洲精品亚洲一区二区| 少妇人妻精品综合一区二区 | 亚洲乱码一区二区免费版| 狂野欧美白嫩少妇大欣赏| 免费在线观看影片大全网站| 免费人成视频x8x8入口观看| 亚洲色图av天堂| 亚洲av熟女| 日本熟妇午夜| 亚洲国产精品成人综合色| 亚洲va日本ⅴa欧美va伊人久久| 99国产综合亚洲精品| 免费av观看视频| 亚洲精品粉嫩美女一区| 波多野结衣巨乳人妻| 有码 亚洲区| 成人18禁在线播放| 男人舔奶头视频| 嫩草影院精品99| 久久精品国产99精品国产亚洲性色| 老司机在亚洲福利影院| 变态另类丝袜制服| 老司机午夜福利在线观看视频| 欧美区成人在线视频| 99精品欧美一区二区三区四区| 久久久国产成人免费| 精品国内亚洲2022精品成人| 亚洲自拍偷在线| 男人的好看免费观看在线视频| 香蕉久久夜色| 国产精品一及| 中文字幕精品亚洲无线码一区| 亚洲av二区三区四区| 久久精品综合一区二区三区| 精品99又大又爽又粗少妇毛片 | 校园春色视频在线观看| 国产精品综合久久久久久久免费| 亚洲欧美日韩卡通动漫| 国产精品电影一区二区三区| 床上黄色一级片| 中文字幕久久专区| 女生性感内裤真人,穿戴方法视频| 欧美最黄视频在线播放免费| 久久久国产精品麻豆| 中文字幕高清在线视频| 乱人视频在线观看| 老司机深夜福利视频在线观看| 搡老妇女老女人老熟妇| 激情在线观看视频在线高清| 欧美xxxx黑人xx丫x性爽| 久久国产精品影院| 成年人黄色毛片网站| 不卡一级毛片| bbb黄色大片| 亚洲av成人不卡在线观看播放网| 美女高潮的动态| 亚洲成人精品中文字幕电影| 色综合欧美亚洲国产小说| 啦啦啦免费观看视频1| 成熟少妇高潮喷水视频| 国产精品久久久久久精品电影| 国产高清videossex| 国产精品,欧美在线| 亚洲人成网站高清观看| 国产一区二区激情短视频| 国产激情偷乱视频一区二区| 亚洲狠狠婷婷综合久久图片| 国产伦一二天堂av在线观看| 日日干狠狠操夜夜爽| 欧美激情久久久久久爽电影| 久久天躁狠狠躁夜夜2o2o| 亚洲精品一卡2卡三卡4卡5卡| 成人无遮挡网站| 亚洲中文字幕日韩| 在线观看免费午夜福利视频| 神马国产精品三级电影在线观看| 欧美丝袜亚洲另类 | 国产一区二区三区视频了| 麻豆国产av国片精品| 精品电影一区二区在线| 最新在线观看一区二区三区| 五月伊人婷婷丁香| 99久久成人亚洲精品观看| 精品乱码久久久久久99久播| 99久久精品一区二区三区| 久久久久久大精品| 欧美乱色亚洲激情| 老鸭窝网址在线观看| 国产视频一区二区在线看| 午夜福利视频1000在线观看| 精品人妻偷拍中文字幕| 色视频www国产| 啦啦啦免费观看视频1| 欧洲精品卡2卡3卡4卡5卡区| 欧美黄色片欧美黄色片| 午夜视频国产福利| 我要搜黄色片| 少妇高潮的动态图| 免费观看的影片在线观看| 亚洲成人久久性| 可以在线观看的亚洲视频| 男人舔奶头视频| 又爽又黄无遮挡网站| 一a级毛片在线观看| 99久久成人亚洲精品观看| 欧美黑人欧美精品刺激| 在线国产一区二区在线| 亚洲七黄色美女视频| 国产精品1区2区在线观看.| 日本一二三区视频观看| 国产精品综合久久久久久久免费| 日本黄色片子视频| 久久精品国产亚洲av香蕉五月| 观看免费一级毛片| 欧美性猛交黑人性爽| 无限看片的www在线观看| 啪啪无遮挡十八禁网站| 国产午夜福利久久久久久| 国产成人aa在线观看| 国产三级在线视频| 日本三级黄在线观看| 亚洲av免费在线观看| 真人做人爱边吃奶动态| 亚洲av第一区精品v没综合| 黄色日韩在线| 精品欧美国产一区二区三| 男人舔奶头视频| 免费看日本二区| 久久亚洲精品不卡| 一级毛片女人18水好多| 深爱激情五月婷婷| 婷婷精品国产亚洲av| 成年人黄色毛片网站| 日韩精品青青久久久久久| 亚洲精品456在线播放app | 99久久精品一区二区三区| 国产精品一区二区三区四区久久| 久久伊人香网站| 午夜福利欧美成人| 国产精品久久电影中文字幕| 亚洲精品美女久久久久99蜜臀| 色综合婷婷激情| 日日干狠狠操夜夜爽| 国产亚洲精品久久久久久毛片| 在线观看日韩欧美| 18禁黄网站禁片免费观看直播| av黄色大香蕉| 久久久国产精品麻豆| 欧美精品啪啪一区二区三区| 黄片大片在线免费观看| 伊人久久大香线蕉亚洲五| 99久国产av精品| 免费电影在线观看免费观看| 人人妻人人看人人澡| 女人十人毛片免费观看3o分钟| 亚洲中文字幕日韩| 国产日本99.免费观看| 国内揄拍国产精品人妻在线| 国产探花在线观看一区二区| 一个人免费在线观看电影| 国产老妇女一区| 国产成人aa在线观看| 五月伊人婷婷丁香| 天堂网av新在线| 噜噜噜噜噜久久久久久91| 在线十欧美十亚洲十日本专区| 十八禁人妻一区二区| 国内少妇人妻偷人精品xxx网站| 一进一出好大好爽视频| 一级毛片高清免费大全| 丝袜美腿在线中文| 精品一区二区三区人妻视频| 成年免费大片在线观看| 黄色女人牲交| 中文字幕高清在线视频| 老鸭窝网址在线观看| 日韩欧美 国产精品| 国产单亲对白刺激| 97超视频在线观看视频| 国产午夜精品论理片| 欧美成人一区二区免费高清观看| 亚洲专区中文字幕在线| 精品久久久久久成人av| 亚洲精品粉嫩美女一区| 色老头精品视频在线观看| tocl精华| 亚洲成人中文字幕在线播放| 国产高清三级在线| 18禁在线播放成人免费| 麻豆成人av在线观看| 中文字幕精品亚洲无线码一区| 日本 av在线| 国产色爽女视频免费观看| 国产精品自产拍在线观看55亚洲| 又紧又爽又黄一区二区| 亚洲人成伊人成综合网2020| 99久久精品热视频| 成人欧美大片| 俄罗斯特黄特色一大片| 国内精品一区二区在线观看| 国模一区二区三区四区视频| 色哟哟哟哟哟哟| 女警被强在线播放| 欧美日本亚洲视频在线播放| 欧美成人a在线观看| www国产在线视频色| 伊人久久大香线蕉亚洲五| 国产伦人伦偷精品视频| 在线a可以看的网站| 久久久久九九精品影院| 亚洲中文字幕一区二区三区有码在线看| 国产欧美日韩一区二区精品| 日韩人妻高清精品专区| 日本撒尿小便嘘嘘汇集6| 亚洲国产精品sss在线观看| 久久伊人香网站| 国产精品久久久人人做人人爽| 中文字幕久久专区| 90打野战视频偷拍视频| 国产精品99久久久久久久久| 亚洲aⅴ乱码一区二区在线播放| 黄色日韩在线| 久久久久国内视频| 精品一区二区三区人妻视频| 麻豆国产av国片精品| 日韩欧美国产一区二区入口| 最新在线观看一区二区三区| 一区福利在线观看| 高潮久久久久久久久久久不卡| 国产精品精品国产色婷婷| 国产乱人伦免费视频| 真人一进一出gif抽搐免费| 精品电影一区二区在线| 日本黄色片子视频| 国产精品香港三级国产av潘金莲| 国产aⅴ精品一区二区三区波| 麻豆国产97在线/欧美| 久久久久免费精品人妻一区二区| 亚洲欧美日韩卡通动漫| 欧美区成人在线视频| 好男人在线观看高清免费视频| 日韩精品青青久久久久久| 欧美黄色淫秽网站| av欧美777| 久久国产精品人妻蜜桃| 久久香蕉国产精品| 好看av亚洲va欧美ⅴa在| 一个人观看的视频www高清免费观看| 女同久久另类99精品国产91| 真人一进一出gif抽搐免费| 日韩欧美国产一区二区入口| 亚洲人成网站在线播| 中文字幕人妻丝袜一区二区| 午夜日韩欧美国产| 欧美zozozo另类| 熟女电影av网| 亚洲国产色片| 最好的美女福利视频网| 亚洲人成网站在线播| 五月玫瑰六月丁香| 亚洲国产日韩欧美精品在线观看 | 亚洲av中文字字幕乱码综合| 超碰av人人做人人爽久久 | 亚洲美女黄片视频| 午夜福利成人在线免费观看| 高清日韩中文字幕在线| 一级毛片女人18水好多| or卡值多少钱| www日本在线高清视频| 99riav亚洲国产免费| 亚洲专区中文字幕在线| 蜜桃亚洲精品一区二区三区| 欧美午夜高清在线| 免费一级毛片在线播放高清视频| 制服丝袜大香蕉在线| 国产老妇女一区| 熟女人妻精品中文字幕| 日本与韩国留学比较| 欧美国产日韩亚洲一区| 床上黄色一级片| 久久精品国产亚洲av涩爱 | 国产成年人精品一区二区| 小蜜桃在线观看免费完整版高清| 亚洲av一区综合| av天堂中文字幕网| 国产精品嫩草影院av在线观看 | 在线观看免费午夜福利视频| 国产成人系列免费观看| 国产综合懂色| 露出奶头的视频| 亚洲av二区三区四区| 一级作爱视频免费观看|