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

    基于AOP的契約定義及其與JML契約的轉(zhuǎn)換

    2020-08-13 14:13:58何成萬
    武漢工程大學學報 2020年4期
    關(guān)鍵詞:前置條件連接點后置

    張 進,何成萬,石 尤

    武漢工程大學計算機科學與工程學院,湖北 武漢430205

    契約式設(shè)計(design by contract,DbC),又叫合同設(shè)計方法,可以用于確保程序的準確性和提高程序的可靠性,它是基于Hoare的公理化證明方法而開發(fā)的設(shè)計思想[1]?;诤贤拈_發(fā)主要是通過在程序模塊中添加前提條件、后置條件和不變量來為模塊設(shè)計契約[2]。前提條件描述一個模塊對調(diào)用該模塊人員提出的要求,調(diào)用此模塊之前必須滿足該模塊的前提條件。后置條件描述的是調(diào)用者在調(diào)用某模塊之后應(yīng)該滿足的條件。不變量是對于整個模塊而言,不變量必須在模塊執(zhí)行前后被滿足。在面向?qū)ο蟮脑O(shè)計中使用合同編程的思想,形成了各種支持契約式的語言,如Eiffel、Larch、Java建 模 語 言(java modeling language,JML)、還有Microsoft.Net平臺上的SPEC#等。其中,埃菲爾語言是最著名的規(guī)范語言[3]。

    面向方面編程(aspect-oriented programming,AOP)通過封裝橫切關(guān)注點的思想為解決合同編程中所出現(xiàn)的代碼交織等問題提供了很好的解決方案,并且,AOP的語言結(jié)構(gòu)與契約之間也有著自然的對應(yīng)關(guān)系[4],當不變式以及前置條件和后置條件均看成橫切關(guān)注點,AOP就可以很容易地完成它們與其他功能模塊之間的相互分離,使得開發(fā)人員可以在獨立的編織器模塊中實現(xiàn)和編寫這些模塊的功能,并以較為靈活的方式調(diào)用它們[5]。AOP的這些特性正好可以彌補合同編程的缺陷,所以,在面向?qū)ο笤O(shè)計中使用AOP技術(shù)來支持合同設(shè)計是一個增強軟件系統(tǒng)可靠性的新方法[6-7]。

    但是,作為一種形式化的方法,基于AOP的契約很難執(zhí)行。此外,若用手動方法將基于AOP的契約轉(zhuǎn)換為可執(zhí)行程序會導(dǎo)致性能下降和難以維護等問題。

    JML作為Java的注釋語言同樣允許規(guī)范,而且相關(guān)工具也很成熟。因此,本文分別討論了兩種語言,提出了一種基于AOP的契約定義的方法,并且給出了實例,本文還提出了一種將高抽象層次的基于AOP的契約規(guī)范翻譯為低抽象層次的JML規(guī)范的策略。目標是使用現(xiàn)有的基于JML的工具來驗證基于AOP的契約代碼。

    1 國內(nèi)外相關(guān)工作的比較分析

    對于面向方面編程和JML契約有很多研究者進行了研究,Rebêlo[8]曾在一篇論文中提過一種使用AspectJ來實現(xiàn)JML的方法,他提到使用AspectJ來實現(xiàn)一個新的JML編譯器,它生成一個符合檢測的字節(jié)碼,同時使用Java SE和Java ME應(yīng)用程序。并進行了比較研究來證明該編譯器生成的最終代碼的質(zhì)量,將代碼的大小與現(xiàn)有JML編譯器生成的代碼進行比較。此外,還評估了在Java應(yīng)用程序中實現(xiàn)JML斷言所需的額外代碼量。結(jié)果表明,該編譯器生成的代碼大小的開銷非常小,這對Java ME應(yīng)用程序至關(guān)重要。而本文的工作是用AOP來定義契約合同,然后根據(jù)定義的基于AOP的契約與JML契約之間的映射關(guān)系來介紹一種進行基于AOP的契約與JML契約相互轉(zhuǎn)換的模型策略。

    Smith[9]介紹了一種將橫切特征表示為邏輯不變量,然后生成由手動編寫的方面得到的代碼的方法,并舉了各種例子說明了不變方法。該方法的關(guān)鍵思想是利用不變量捕獲方面的意圖。方面編織是通過在基本代碼的適當位置生成和插入代碼片段來保持不變的過程。在這種方法中,切入點規(guī)范是從不變量派生出來的,它描述了可能破壞不變量的一組代碼點。對于代碼中的每一個這樣的中斷點,維護代碼的規(guī)范是從不變式中派生出來的。與本文研究不同的是本文直接用AOP語言來描述契約合同,而不是進行方面編織。

    Carr[10]提出了一種通過自動代碼將靜態(tài)分析結(jié)果應(yīng)用于現(xiàn)有代碼的新工具(code contracts bot,CCBot),CCBot使用方法前置條件,后置條件和對象不變量來檢測代碼,這些不變量在運行時或靜態(tài)使用靜態(tài)合同檢查器檢測故障。程序員需要執(zhí)行的唯一配置是為CCBot提供她想要檢測的代碼的文件路徑。這使程序員可以輕松地采用基于契約的靜態(tài)分析。如果原始代碼確實如此,CCBot的代碼檢測版本可以保證編譯。此保證意味著程序員可以立即部署或測試已檢測的代碼,無需額外的手動操作。插入的契約可以檢測常見錯誤,例如空指針解引用和超出范圍的數(shù)組訪問。本文研究的是將基于AOP契約轉(zhuǎn)換為JML契約,然后通過jmldoc來生成帶有JML注釋的文檔,從而實現(xiàn)將JML注釋自動插入到Java代碼中。

    徐倩穎[11]提出了面向方面編程領(lǐng)域的一種新型設(shè)計模式:方面橋模式,該模式解決了構(gòu)件與行為模式間的耦合問題,體現(xiàn)了“高層分離,低層耦合”的原則。在該模式中,行為模式是通過抽象化方面來表現(xiàn)的,主要是對接口進行模塊化。而本文的研究是對契約進行模塊化,利用AOP語言來定義基于AOP的契約,從而實現(xiàn)契約的重用。

    2 基于AOP的契約定義

    2.1 AOP-DbC的對應(yīng)關(guān)系

    契約的基本內(nèi)容包括:

    前置謂詞:描述一個模塊對調(diào)用該模塊的人員提出的要求,調(diào)用此模塊之前必須滿足該模塊的前提條件。

    合法的輸入:輸入的格式和取值是合法的。

    期望的輸出:返回給用戶的結(jié)果。

    后置謂詞:不管某類操作的執(zhí)行過程如何,在其終結(jié)之后必須滿足后置條件

    不變式:在執(zhí)行某個操作之后變量保持不變。

    圖1所展示的是契約式開發(fā)的一般邏輯。

    DbC與AOP機制提供的語言結(jié)構(gòu),諸如連接點、切入點以及通知等有著直接的對應(yīng)關(guān)系,使用before通知檢查前置條件,必須在執(zhí)行某個切入點確定的方法之前被檢查,而使用after通知檢查后置條件,必須在方法執(zhí)行之后進行檢查。同時使用before和after通知或者使用around通知檢查不變式,必須在方法執(zhí)行前后進行檢查。當前的研究領(lǐng)域不是偏重于下層的編碼細節(jié),就是偏重于并不是為AOP專門設(shè)計的對象約束語言(object constraint language,OCL)等契約語言,所以,目前并沒有給出一個絕對的AOP-DbC的對應(yīng)關(guān)系。本文圖2給出了AOP和DbC之間的一個對應(yīng)關(guān)系。

    圖1契約式開發(fā)的流程圖Fig.1 Flowchart of contract development

    圖2 AOP與DbC的對應(yīng)關(guān)系Fig.2 Corresponding relationship between AOP and DbC

    將非功能代碼(即非斷言所需的代碼)與業(yè)務(wù)邏輯代碼兩者混合起來,這種使用斷言機制支持契約的一種方法,會造成代碼糾纏。如果目的是為了分離關(guān)注點,從而達到靈活而透明的特點,那么面向方面編程則是最佳選擇[12]。前置謂詞、后置謂詞和不變式常出現(xiàn)于應(yīng)用程序的各個模塊中,在某種程度上與應(yīng)用程序代碼相混合,可以看作是橫切關(guān)注點的表現(xiàn)。AOP的目標就是讓開發(fā)人員可以在獨立的模塊中單獨編寫這些功能,然后自然地應(yīng)用它們。

    AOP可以將橫切關(guān)注點模塊化[13],而且DbC的實現(xiàn)也是橫切的。JML無法編寫單個前置和后置條件,并將其應(yīng)用于特定類型的多種方法,只能在每個方法中單獨添加,而這種前置或后置條件通常必須在幾種方法中重復(fù)和分散。

    另一方面,目前存在的用于靜態(tài)分析的工具通常都需要很多程序員工作[14]。在大型代碼庫中,靜態(tài)分析工具會產(chǎn)生數(shù)千個警告,期望用戶查看如此龐大的列表并手動對每個警告進行更改是不現(xiàn)實的[15]。減少警告數(shù)量的一種方法是添加注釋,通常,注釋可能會禁用某些消息,指定程序的預(yù)期行為,或啟用/禁用某些代碼的分析。這些手動注釋在小例子中是可管理的,但是從完全未注釋的代碼庫開始時則不適用于大型代碼庫。自動插入合同而不是顯示警告列表,有兩個可用性優(yōu)勢,可以減少程序員所需的工作量。1)程序員可以使用熟悉的工具查看上下文的合同。2)接受或測試其代碼的修改版本,無需任何手動步驟。

    2.2 前置條件的AOP定義

    用before通知與方法的前置謂詞相對應(yīng),圖3是前置謂詞的定義。

    圖3前置條件的定義Fig.3 Definition of preconditions

    在圖3中,pointcut表示方法的切入點,用來指定所選連接點中的關(guān)注,args表示方法調(diào)用的參數(shù),如果不滿足前置條件,程序拋出異常。

    2.3 后置條件的AOP定義

    用after通知與方法的后置謂詞相對應(yīng),圖4是后置謂詞的定義。

    圖4后置條件的定義Fig.4 Definition of postconditions

    在圖4中,pointcut表示方法的切入點,用來指定所選連接點中的關(guān)注,target表示目標對象,如果不滿足后置條件,拋出異常。

    2.4 不變量的AOP定義

    采用around通知對應(yīng)不變量,圖5是不變量的定義。

    在圖5中,pointcut表示方法的切入點,用來指定所選連接點中的關(guān)注,target表示目標對象,args表示方法調(diào)用的參數(shù),如果不滿足不變量,程序便會拋出異常。

    圖5不變量的定義Fig.5 Definition of invariants

    2.5 實例

    AOP有著將橫切關(guān)注點模塊化的特點,而契約的約束條件如前置條件、后置條件、不變量約束可以看作橫切關(guān)注點,因此AOP可以將這些約束條件封裝成方面,與業(yè)務(wù)邏輯代碼分離。然后使用連接點、切入點來指定即將檢查的契約代碼的具體位置,并在相應(yīng)的before或者after以及around通知中定義契約的內(nèi)容。以邊界判斷為例,圖6是用AOP的方式實現(xiàn)邊界判斷的契約檢查。

    從圖6可以看出,在PointBoundsPreCondition方面中,聲明了一個before通知,用于修改類Point的setX方法的行為。before通知可以應(yīng)用于每個連接點,args關(guān)鍵字表示方法調(diào)用的參數(shù)。在PointBoundsPostCondition方面中,聲明了一個normal after通知,該通知修改類Point的setX方法的行為。after通知可以應(yīng)用于每個連接點,target和args關(guān)鍵字表示目標對象和方法調(diào)用的參數(shù)。在PointBoundsInvariant方面中,它聲明了一個around通知來修改類Point的setX方法的行為。在每個連接點之前和之后檢查不變量,target和args關(guān)鍵字表示目標對象和方法調(diào)用的參數(shù)。如果x大于MIN_X,小于MAX_X,則執(zhí)行語句proceed(p,x);另一方面,在else子句中,通知直接調(diào)用setX方法。一般情況下,一旦契約不能被滿足,程序就會拋出異常或直接退出程序。

    圖6邊界判斷的基于AOP的契約檢查Fig.6 AOP-based contract checking for boundary determination

    3 AOP契約到JML契約的轉(zhuǎn)換方法

    3.1 JML語法

    JML是一種通用規(guī)范建模語言,是面向Java的行為接口規(guī)范語言(behavior interface specification language,BISL)。它主要用于描述基于Java的調(diào)用模型的使用行為和詳細的模型設(shè)計。

    JML規(guī)范是基于埃菲爾的DbC的思想。調(diào)用方有義務(wù)確保方法的先決條件是正確的,如果先決條件為false,則調(diào)用方與其被調(diào)用方之間的契約將不再有效。JML遵循BISL的形式化語義,繼承DbC的可執(zhí)行能力。

    除了DbC中定義的前置條件和后置條件以及不變量外,JML還有許多其他類型的約束,這些約束增強了JML的驗證和調(diào)試機制。圖7顯示了含有JML注釋的具體Java代碼,JML注釋通過/*@和@*/來表示。

    圖7 JML注釋的模板Fig.7 Template for JML annotations

    目前,許多JML工具已經(jīng)成熟,如運行時斷言、jmlUnit和JMLAutoTest。使用這些 工具,JML規(guī)范可以轉(zhuǎn)換為可執(zhí)行代碼,然后利用運行時斷言進行檢查。除此之外,不僅能利用JML工具自動生成測試框架,還可以自動生成測試用例。

    3.2 轉(zhuǎn)換策略

    基于AOP的契約定義將前置條件、后置條件以及不變量封裝,有助于重用,但也有一定的缺陷性。而將基于AOP的契約定義轉(zhuǎn)換為JML契約,自動生成注釋加入到每個方法之內(nèi),可以減少程序員的工作量,本文提出了一種兩者之間轉(zhuǎn)換的模型策略,如圖8所示。

    從圖8中可以看出,本文是將基于AOP的契約與JML契約的轉(zhuǎn)換實現(xiàn)為一個插件工具(虛線框部分),該插件利用Java的反射機制來調(diào)用翻譯器進行兩種契約之間的轉(zhuǎn)換,而插件的用戶界面是用Window Builder和Java Swing實現(xiàn)的。

    圖8基于AOP的契約和JML契約轉(zhuǎn)換的模型Fig.8 Model of conversion between AOP-based contract and JML contract

    3.3 從基于AOP的契約類型到JML類型的映射

    3.3.1 基本數(shù)據(jù)類型基于AOP的契約與JML契約之間最基本的映射是數(shù)據(jù)類型之間的映射。由于JML是針對Java定制的,而AOP與Java的實現(xiàn)相同。因此,在基本數(shù)據(jù)類型上,AOP與JML有著直接的對應(yīng)關(guān)系,兩種語言都主要包括int(整型)、double(雙精度浮點型)、boolean(布爾型)、char(字符串型)等基本數(shù)據(jù)類型。

    3.3.2 運算符對于比較運算符,AOP和JML同樣對應(yīng)的都是Java類型,主要包括:==、!=、<、>、<=、>=等。但是二者在邏輯運算符上稍有不同,AOP和JML兩種語言在邏輯運算符上的映射關(guān)系如表1所示。

    表1邏輯運算符Tab.1 Logical operators

    3.3.3 集合類型Java最核心的3種集合類型分別是set(集)、list(列表)、map(映射)。JML定義了對應(yīng)的模型種類來表示各種不同的Java類的集合,分為對象集合和值集合,都實現(xiàn)了JMLCollection接口。對象集合中元素是對象的引用,并不關(guān)心對象的值。對象集合分為JMLObjectSet,JMLObjectBag,JMLObjectSequence 3種。值集合分為JMLValueSet,JMLValueBag,JMLValueSeque-nce 3種,值集合中的元素存儲的是對象的值。集合類型的對應(yīng)關(guān)系如表2所示。

    表2集合類型的映射Tab.2 Mapping of collection types

    3.3.4 約束規(guī)范的映射基于AOP的契約與JML契約在前置條件和后置條件以及不變量約束上均存在著一定的映射關(guān)系,使得2種契約之間的轉(zhuǎn)換成為可能,2種契約的元素之間的對應(yīng)關(guān)系如表3所示。

    表3約束規(guī)范的元素之間的映射Tab.3 Mapping between elements of constraint specification

    4 結(jié)論

    基于AOP的契約可以將方法的前置條件、后置條件以及類不變式封裝,實現(xiàn)契約的模塊化處理,解決代碼糾纏問題。它與JML相似,但是各有優(yōu)缺點,JML具有更多的驗證特性。

    本文分析了兩種不同抽象層次的規(guī)范語言:基于AOP的契約和JML契約。提出了一種基于AOP的契約與JML契約之間的轉(zhuǎn)換策略,并給出了基于AOP的契約與JML契約轉(zhuǎn)換之間的映射關(guān)系,使約束規(guī)范能夠更具體地指導(dǎo)后續(xù)的軟件開發(fā)。作為未來的工作,希望構(gòu)建一個框架來支持基于AOP的契約到JML契約的自動化轉(zhuǎn)換。

    猜你喜歡
    前置條件連接點后置
    房屋建筑和市政基礎(chǔ)設(shè)施工程施工招標投標管理辦法研究
    寫真地理(2020年21期)2020-09-06 14:12:26
    基于A3航攝儀的小基高比影像連接點精提取技術(shù)研究
    非正交五軸聯(lián)動數(shù)控機床后置處理算法開發(fā)
    人工智能技術(shù)構(gòu)筑智能政府的前置條件研究
    論“自動投案”的司法適用
    基于彈性厚粘膠層的結(jié)構(gòu)性連接點響應(yīng)建模和預(yù)測
    汽車文摘(2016年6期)2016-12-07 00:23:38
    沉淀后置生物處理組合工藝的工程應(yīng)用
    Review of Research on the Prevention of HPV Infection and Cervical Cancer
    基于相關(guān)性篩選原理的公共連接點諧波畸變量的分層量化
    電測與儀表(2015年3期)2015-04-09 11:37:22
    顏學海:把握投資創(chuàng)新與模式創(chuàng)新的連接點
    人妻制服诱惑在线中文字幕| 国产精品不卡视频一区二区| 嘟嘟电影网在线观看| 国产精品久久久久久av不卡| 日本av免费视频播放| 新久久久久国产一级毛片| 色视频在线一区二区三区| 国产有黄有色有爽视频| 国产无遮挡羞羞视频在线观看| 国产欧美另类精品又又久久亚洲欧美| 久久久久久久久久成人| av女优亚洲男人天堂| 亚洲av.av天堂| 国产av一区二区精品久久| 午夜老司机福利剧场| 久久久午夜欧美精品| 赤兔流量卡办理| 男男h啪啪无遮挡| 一区二区三区精品91| 亚洲三级黄色毛片| 美女福利国产在线| a级毛片在线看网站| 青春草视频在线免费观看| 丁香六月天网| 伊人久久国产一区二区| 三上悠亚av全集在线观看| 晚上一个人看的免费电影| 三上悠亚av全集在线观看| 精品99又大又爽又粗少妇毛片| 亚洲精品成人av观看孕妇| 国产片特级美女逼逼视频| 插阴视频在线观看视频| 美女内射精品一级片tv| 日本av手机在线免费观看| 青青草视频在线视频观看| 亚洲av电影在线观看一区二区三区| 日本vs欧美在线观看视频| 免费观看a级毛片全部| 永久免费av网站大全| 99国产综合亚洲精品| 亚洲精品一二三| 91成人精品电影| av黄色大香蕉| 亚洲精品中文字幕在线视频| 久久久久国产精品人妻一区二区| 亚洲国产精品成人久久小说| 日韩亚洲欧美综合| 99久国产av精品国产电影| 91精品伊人久久大香线蕉| 黑人欧美特级aaaaaa片| 欧美国产精品一级二级三级| 日韩中文字幕视频在线看片| 免费播放大片免费观看视频在线观看| 欧美日韩视频精品一区| 街头女战士在线观看网站| av网站免费在线观看视频| 亚洲av日韩在线播放| 美女脱内裤让男人舔精品视频| 精品熟女少妇av免费看| 波野结衣二区三区在线| 国产一区二区三区综合在线观看 | 亚洲欧美日韩卡通动漫| 成人漫画全彩无遮挡| 欧美性感艳星| 日韩成人av中文字幕在线观看| 丰满迷人的少妇在线观看| 天美传媒精品一区二区| 久久久久久久精品精品| 国产成人91sexporn| 国产一区二区在线观看av| 日韩不卡一区二区三区视频在线| 欧美精品一区二区免费开放| 欧美bdsm另类| 精品国产乱码久久久久久小说| 亚洲欧美成人综合另类久久久| 人妻一区二区av| 亚洲丝袜综合中文字幕| 欧美97在线视频| 免费少妇av软件| 久久久国产欧美日韩av| 黄色欧美视频在线观看| 男人添女人高潮全过程视频| 亚洲人成网站在线观看播放| 午夜视频国产福利| 精品一品国产午夜福利视频| 赤兔流量卡办理| 国产一区二区三区综合在线观看 | 亚洲少妇的诱惑av| 熟妇人妻不卡中文字幕| 在线亚洲精品国产二区图片欧美 | 婷婷色麻豆天堂久久| 男女啪啪激烈高潮av片| 超色免费av| 黄片无遮挡物在线观看| 精品国产乱码久久久久久小说| 日韩不卡一区二区三区视频在线| 亚洲色图 男人天堂 中文字幕 | 国产欧美亚洲国产| 99精国产麻豆久久婷婷| 99精国产麻豆久久婷婷| 满18在线观看网站| 肉色欧美久久久久久久蜜桃| 男女边摸边吃奶| 日韩av不卡免费在线播放| 国产午夜精品久久久久久一区二区三区| 国产精品无大码| 极品人妻少妇av视频| 免费不卡的大黄色大毛片视频在线观看| 亚洲精品乱久久久久久| 一级a做视频免费观看| 久久青草综合色| 亚洲国产最新在线播放| 嫩草影院入口| 久久国内精品自在自线图片| 国内精品宾馆在线| 亚洲av免费高清在线观看| 一级黄片播放器| 国产欧美日韩一区二区三区在线 | 草草在线视频免费看| 99热网站在线观看| 久久人人爽人人爽人人片va| 国产精品欧美亚洲77777| 午夜久久久在线观看| 亚洲国产精品一区三区| 日韩强制内射视频| 久久青草综合色| 一区二区三区免费毛片| 老司机亚洲免费影院| 亚洲精品日本国产第一区| 麻豆精品久久久久久蜜桃| 美女视频免费永久观看网站| 乱人伦中国视频| 天天影视国产精品| 秋霞伦理黄片| 精品少妇黑人巨大在线播放| 久久久久国产网址| 黄色配什么色好看| 夜夜爽夜夜爽视频| 另类精品久久| 久久精品久久精品一区二区三区| 欧美bdsm另类| 三级国产精品欧美在线观看| 欧美+日韩+精品| 新久久久久国产一级毛片| 五月天丁香电影| 久久 成人 亚洲| 日本vs欧美在线观看视频| 91久久精品电影网| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 亚洲熟女精品中文字幕| 日本-黄色视频高清免费观看| 国产毛片在线视频| 日本91视频免费播放| 国产淫语在线视频| 色5月婷婷丁香| 插逼视频在线观看| 视频在线观看一区二区三区| 99热国产这里只有精品6| 777米奇影视久久| 久久ye,这里只有精品| 一区二区三区免费毛片| 欧美精品亚洲一区二区| 999精品在线视频| 又黄又爽又刺激的免费视频.| 亚洲精品一二三| 夫妻性生交免费视频一级片| 欧美日韩一区二区视频在线观看视频在线| 欧美精品一区二区大全| 免费观看a级毛片全部| 中文精品一卡2卡3卡4更新| 国产一区亚洲一区在线观看| 成人国产av品久久久| 女性被躁到高潮视频| 成年人午夜在线观看视频| 啦啦啦啦在线视频资源| 夜夜爽夜夜爽视频| 国产一区二区三区综合在线观看 | .国产精品久久| 日韩av在线免费看完整版不卡| 视频区图区小说| 亚洲国产精品一区三区| 国产精品久久久久成人av| 久久精品久久久久久久性| 精品久久久噜噜| 精品人妻熟女毛片av久久网站| 亚洲精品aⅴ在线观看| 亚洲欧美成人综合另类久久久| 日本猛色少妇xxxxx猛交久久| 美女福利国产在线| 亚洲欧美日韩另类电影网站| 极品少妇高潮喷水抽搐| 熟女av电影| 日本-黄色视频高清免费观看| 免费高清在线观看视频在线观看| 国产成人免费观看mmmm| 欧美少妇被猛烈插入视频| 国产在视频线精品| 999精品在线视频| 秋霞伦理黄片| 全区人妻精品视频| 国产 一区精品| 极品人妻少妇av视频| 欧美bdsm另类| 一级a做视频免费观看| 精品久久久精品久久久| 91在线精品国自产拍蜜月| 一二三四中文在线观看免费高清| 久久午夜综合久久蜜桃| 春色校园在线视频观看| 超碰97精品在线观看| 国产亚洲精品第一综合不卡 | 天天影视国产精品| 久久久久久久久久久免费av| 只有这里有精品99| 日韩三级伦理在线观看| 男男h啪啪无遮挡| 国产精品久久久久久精品古装| 久久久欧美国产精品| 午夜福利在线观看免费完整高清在| 欧美bdsm另类| 一级毛片电影观看| 久久国产亚洲av麻豆专区| 亚洲综合精品二区| 嘟嘟电影网在线观看| av视频免费观看在线观看| 99视频精品全部免费 在线| 国产 一区精品| 国产精品女同一区二区软件| 国产精品一区www在线观看| 亚洲国产精品国产精品| 不卡视频在线观看欧美| 国产女主播在线喷水免费视频网站| 少妇人妻 视频| 欧美日韩视频高清一区二区三区二| 97精品久久久久久久久久精品| 久久久a久久爽久久v久久| 欧美日本中文国产一区发布| 我的老师免费观看完整版| 免费播放大片免费观看视频在线观看| 丰满迷人的少妇在线观看| 最近中文字幕高清免费大全6| 亚洲内射少妇av| 蜜臀久久99精品久久宅男| 日本欧美视频一区| 久久久久人妻精品一区果冻| 秋霞在线观看毛片| av福利片在线| 亚洲国产av影院在线观看| 免费av中文字幕在线| 色婷婷久久久亚洲欧美| 老熟女久久久| 欧美人与善性xxx| 母亲3免费完整高清在线观看 | 在现免费观看毛片| 亚洲成色77777| 欧美精品高潮呻吟av久久| 色94色欧美一区二区| 国产极品粉嫩免费观看在线 | av女优亚洲男人天堂| 免费黄网站久久成人精品| 久久av网站| 国产极品天堂在线| 少妇的逼好多水| 美女cb高潮喷水在线观看| 老熟女久久久| 国产精品.久久久| 如日韩欧美国产精品一区二区三区 | 国产一级毛片在线| 日韩在线高清观看一区二区三区| 亚洲欧美色中文字幕在线| 欧美一级a爱片免费观看看| 色网站视频免费| 亚洲欧洲国产日韩| 欧美性感艳星| 韩国av在线不卡| 免费黄色在线免费观看| 狂野欧美白嫩少妇大欣赏| 日韩一区二区三区影片| 热re99久久精品国产66热6| 国产精品一二三区在线看| 国产一级毛片在线| 亚洲精品456在线播放app| 丰满饥渴人妻一区二区三| 国产爽快片一区二区三区| 国产免费又黄又爽又色| 狂野欧美激情性bbbbbb| 看非洲黑人一级黄片| 国产国拍精品亚洲av在线观看| 99九九线精品视频在线观看视频| a 毛片基地| 欧美激情 高清一区二区三区| 欧美日韩精品成人综合77777| 国产亚洲精品久久久com| 蜜桃在线观看..| 日本wwww免费看| 丝袜脚勾引网站| 人人妻人人澡人人爽人人夜夜| 亚洲内射少妇av| 国产欧美日韩一区二区三区在线 | av播播在线观看一区| 日日摸夜夜添夜夜爱| 亚洲精品一区蜜桃| 99视频精品全部免费 在线| av在线观看视频网站免费| 久久久国产精品麻豆| 草草在线视频免费看| 嫩草影院入口| tube8黄色片| 三级国产精品欧美在线观看| 午夜久久久在线观看| 亚洲国产精品成人久久小说| 欧美一级a爱片免费观看看| 成人毛片a级毛片在线播放| 国产成人91sexporn| 亚洲精品国产av成人精品| 精品人妻一区二区三区麻豆| 国产成人精品福利久久| 美女主播在线视频| 少妇猛男粗大的猛烈进出视频| 丝瓜视频免费看黄片| 国产av码专区亚洲av| 一本—道久久a久久精品蜜桃钙片| 亚洲av免费高清在线观看| 亚洲三级黄色毛片| 久久久亚洲精品成人影院| 夫妻午夜视频| 丰满饥渴人妻一区二区三| 在线精品无人区一区二区三| av免费观看日本| 国语对白做爰xxxⅹ性视频网站| 高清在线视频一区二区三区| 男的添女的下面高潮视频| 精品一区二区免费观看| 日韩免费高清中文字幕av| 日本欧美视频一区| 大话2 男鬼变身卡| 91久久精品国产一区二区三区| 97精品久久久久久久久久精品| 成人午夜精彩视频在线观看| av在线观看视频网站免费| 一级二级三级毛片免费看| 麻豆精品久久久久久蜜桃| 夜夜爽夜夜爽视频| 欧美精品人与动牲交sv欧美| 18禁在线播放成人免费| 久热久热在线精品观看| 赤兔流量卡办理| 日本色播在线视频| 美女内射精品一级片tv| 精品亚洲乱码少妇综合久久| 亚洲av日韩在线播放| 男女国产视频网站| 国产精品一区www在线观看| 男女无遮挡免费网站观看| 免费高清在线观看视频在线观看| 亚洲欧美日韩卡通动漫| 亚洲少妇的诱惑av| 91久久精品电影网| 男女国产视频网站| 自线自在国产av| 永久免费av网站大全| 男女高潮啪啪啪动态图| 国产欧美日韩一区二区三区在线 | 国产国语露脸激情在线看| 毛片一级片免费看久久久久| 亚洲第一av免费看| 亚洲av中文av极速乱| 9色porny在线观看| 99热这里只有精品一区| 99精国产麻豆久久婷婷| 国产精品人妻久久久影院| 久久人人爽人人片av| 日韩视频在线欧美| 久久久午夜欧美精品| 亚洲av电影在线观看一区二区三区| 高清毛片免费看| 国产成人精品无人区| av在线播放精品| 欧美精品高潮呻吟av久久| 亚洲精品久久久久久婷婷小说| 综合色丁香网| 涩涩av久久男人的天堂| 成年美女黄网站色视频大全免费 | 女的被弄到高潮叫床怎么办| 亚洲性久久影院| 亚洲一级一片aⅴ在线观看| 51国产日韩欧美| 少妇高潮的动态图| 九九久久精品国产亚洲av麻豆| av不卡在线播放| 亚洲性久久影院| 极品人妻少妇av视频| 午夜激情av网站| 女性生殖器流出的白浆| 亚洲内射少妇av| 亚洲成人一二三区av| 国产av码专区亚洲av| 91久久精品国产一区二区三区| 高清毛片免费看| 精品人妻偷拍中文字幕| 久久人人爽av亚洲精品天堂| 一级爰片在线观看| 91国产中文字幕| 中文字幕精品免费在线观看视频 | 国产色婷婷99| 18在线观看网站| 91精品伊人久久大香线蕉| 午夜福利视频在线观看免费| 国产黄色免费在线视频| 亚洲欧美日韩卡通动漫| 日韩电影二区| 国产一区二区在线观看日韩| 国产在视频线精品| 亚洲国产精品999| 亚洲精品乱久久久久久| 国产无遮挡羞羞视频在线观看| 黑丝袜美女国产一区| 精品久久国产蜜桃| 午夜精品国产一区二区电影| 91久久精品电影网| 热re99久久国产66热| av视频免费观看在线观看| 国产一区二区在线观看日韩| 精品国产国语对白av| 在线播放无遮挡| 日韩伦理黄色片| 国产 精品1| 99精国产麻豆久久婷婷| 中文字幕最新亚洲高清| 乱码一卡2卡4卡精品| 只有这里有精品99| 王馨瑶露胸无遮挡在线观看| 国产淫语在线视频| av免费观看日本| 2021少妇久久久久久久久久久| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 黑人猛操日本美女一级片| 欧美日韩亚洲高清精品| 男女免费视频国产| av卡一久久| 中国美白少妇内射xxxbb| 亚洲精品乱久久久久久| 亚洲av不卡在线观看| 欧美精品人与动牲交sv欧美| 在线观看免费高清a一片| 午夜免费观看性视频| 最新的欧美精品一区二区| av卡一久久| h视频一区二区三区| 69精品国产乱码久久久| 国产片特级美女逼逼视频| 国产免费现黄频在线看| 在线观看国产h片| 成人综合一区亚洲| 亚洲av成人精品一二三区| 日韩一区二区三区影片| 夜夜看夜夜爽夜夜摸| 黄片播放在线免费| 一级毛片aaaaaa免费看小| 日韩不卡一区二区三区视频在线| 欧美97在线视频| 黄片无遮挡物在线观看| 亚洲四区av| 国产精品一区二区三区四区免费观看| 精品一区在线观看国产| 九九爱精品视频在线观看| 国产极品天堂在线| 曰老女人黄片| 伦理电影大哥的女人| 中文字幕最新亚洲高清| 在线观看一区二区三区激情| 国产 一区精品| 国产精品99久久99久久久不卡 | 久久久午夜欧美精品| 国产片特级美女逼逼视频| 全区人妻精品视频| 91精品国产国语对白视频| 中国美白少妇内射xxxbb| 大片电影免费在线观看免费| 亚洲精品乱码久久久v下载方式| 免费人妻精品一区二区三区视频| 性色avwww在线观看| 欧美+日韩+精品| 黑人猛操日本美女一级片| 91成人精品电影| 国产精品无大码| 少妇 在线观看| 美女大奶头黄色视频| 国产免费一区二区三区四区乱码| 在线精品无人区一区二区三| 国产精品欧美亚洲77777| 少妇精品久久久久久久| www.色视频.com| 欧美日韩亚洲高清精品| 久久免费观看电影| 免费日韩欧美在线观看| 波野结衣二区三区在线| 亚洲情色 制服丝袜| 日韩视频在线欧美| 国产精品国产三级国产av玫瑰| 国产一级毛片在线| 18在线观看网站| 少妇 在线观看| 日本-黄色视频高清免费观看| 久久午夜福利片| 日韩熟女老妇一区二区性免费视频| 欧美少妇被猛烈插入视频| 亚洲av成人精品一区久久| 我的女老师完整版在线观看| 九九爱精品视频在线观看| 国产一区二区三区av在线| 日韩 亚洲 欧美在线| 美女脱内裤让男人舔精品视频| 亚洲高清免费不卡视频| 亚洲,欧美,日韩| 久久午夜综合久久蜜桃| 成人午夜精彩视频在线观看| 免费久久久久久久精品成人欧美视频 | 两个人的视频大全免费| 一区二区三区免费毛片| 免费看光身美女| 青春草亚洲视频在线观看| 成人午夜精彩视频在线观看| 国产成人精品婷婷| 精品视频人人做人人爽| av又黄又爽大尺度在线免费看| 男人爽女人下面视频在线观看| 男女免费视频国产| 大码成人一级视频| 国产日韩欧美亚洲二区| 视频区图区小说| 亚洲精品国产av蜜桃| 日韩伦理黄色片| 狠狠精品人妻久久久久久综合| 3wmmmm亚洲av在线观看| 欧美3d第一页| 亚洲av中文av极速乱| 精品人妻熟女av久视频| 交换朋友夫妻互换小说| 免费观看的影片在线观看| 国产av精品麻豆| 午夜91福利影院| 人体艺术视频欧美日本| 久久韩国三级中文字幕| 亚洲久久久国产精品| 丰满迷人的少妇在线观看| 色5月婷婷丁香| 免费大片18禁| 午夜视频国产福利| 国产男女内射视频| 日韩精品免费视频一区二区三区 | 国产女主播在线喷水免费视频网站| 国产精品久久久久久精品电影小说| 免费观看av网站的网址| 午夜福利影视在线免费观看| 精品熟女少妇av免费看| 日韩亚洲欧美综合| 美女脱内裤让男人舔精品视频| 一级毛片我不卡| 成人亚洲精品一区在线观看| 精品卡一卡二卡四卡免费| .国产精品久久| 一本久久精品| 国产av精品麻豆| 日本欧美国产在线视频| 亚洲第一区二区三区不卡| av不卡在线播放| 亚洲第一区二区三区不卡| 国产精品久久久久久精品电影小说| 交换朋友夫妻互换小说| 最近的中文字幕免费完整| 国产精品 国内视频| 九色亚洲精品在线播放| 亚洲精品视频女| 日韩 亚洲 欧美在线| 久久99精品国语久久久| 久久精品久久久久久久性| 26uuu在线亚洲综合色| 97在线人人人人妻| 亚洲av.av天堂| 精品久久久噜噜| 免费av中文字幕在线| 国产成人午夜福利电影在线观看| 美女xxoo啪啪120秒动态图| 亚洲久久久国产精品| 高清不卡的av网站| 久久久久国产网址| 国产成人免费无遮挡视频| 性高湖久久久久久久久免费观看| 国产精品久久久久久av不卡| 国产av精品麻豆| 在现免费观看毛片| 国产免费一级a男人的天堂| 欧美xxxx性猛交bbbb| 视频在线观看一区二区三区| 麻豆精品久久久久久蜜桃| 只有这里有精品99| 国产69精品久久久久777片| 男人操女人黄网站| 九九爱精品视频在线观看| 99久久中文字幕三级久久日本| 青春草视频在线免费观看| 亚洲精品国产色婷婷电影| 人妻一区二区av| 亚洲,一卡二卡三卡| 亚洲成色77777| 国产亚洲精品久久久com| av网站免费在线观看视频| 亚洲欧美日韩另类电影网站| 一区在线观看完整版| 国产深夜福利视频在线观看| 国产精品国产三级国产av玫瑰| h视频一区二区三区| 男女国产视频网站| 日本黄色日本黄色录像|