《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > MDA建模的AOP擴展策略及其比較
MDA建模的AOP擴展策略及其比較
來源:微型機與應用2011年第24期
余金山
(華僑大學 計算機學院, 福建 泉州362011)
摘要: 對于MDA橫切于核心業務邏輯的關注點對封裝的破壞的問題,本文給出把AOP引入到MDA的擴展策略和主要方法,并對不同的擴展策略進行了比較。
Abstract:
Key words :

摘  要: 對于MDA橫切于核心業務邏輯的關注點對封裝的破壞的問題,本文給出把AOP引入到MDA的擴展策略和主要方法,并對不同的擴展策略進行了比較。
關鍵詞: 模型驅動架構面向方面; 擴展; 元模型; 統一建模語言

 MDA是一種以模型為中心的軟件開發新方法[1,2]。但是,MDA仍然不能有效地處理橫切“關注點”問題。
 近來MDA和AOSD兩者的融合和相互支持已成為具有重要的理論意義和實用價值的研究課題[1]。其中的主要研究方向之一是:采用主流開發框架MDA,在MDA的建模過程中引入AOP 的概念和思想,建立通用的具有面向方面特性的PIM。
 如何把面向方面的概念和思想引入到MDA中,可以采取多種不同的擴展策略。
1 MDA引入AOP的擴展策略
 在MDA的建模過程中引入面向方面的思想和概念,其中最重要的是如何表示面向方面AOP的概念和思想以及表達方式。
    下面給出兩種有代表性的擴展策略及其實現方法:基于MOF的擴展和基于UML 2.0 Profile的擴展,這是當前的主流。
1.1 基于MOF的擴展策略
    在MDA中,MOF位于MOF四層模型的最高層。MOF體系是開放的,因而可以對它添加新的描述UML的元類型,以擴展新的功能和應用。圖1給出了這種擴展的示意。    但是,這種擴展策略要做的工作較多也較為困難,必須對UML的核心語義十分熟悉。目前所做的研究還很少?;贛OF的AOP擴展也稱為“重量級”的擴展。參考文獻[2]比較全面地介紹了一種通用的支持AOP 的MOF 2.0元模型。

    MOF擴展策略以MDA作為不同的AOP擴充方案之間的集成元素,自動或半自動地把在某開發階段建立的模型轉換成下一階段的模型,直到最終實現為止。首先建立AO術語的被廣泛接受的本體,基于這些本體的共同元素和它們之間的關系建立通用的支持AOP的MOF元模型。其擴展方法和過程可描述如下:
 第一步是確定出各種不同的AOP擴充方案所共享的概念,并根據概念的目的把它們分組成包,以提高可理解性。然后,建立包與包之間的關系。由此,可以建立三個主要的包:(1)Entities包,描述分解單元和它們之間的關系的實體;(2)JoinpointModel包,包含允許注入行為對應用程序的執行進行干預的關注點的包;(3)CompositionRules包,它有兩個子包,SymmetricRules描述對稱規則, AsymmetricRules描述不對稱規則。這三個包可以從UML 2.0元模型的內核和CommomBehaviors包的元素進行特化。
    實體:UML2.0 BehaviouredClassifiers的特化。
 JoinpointModel:連接點是對應用程序的運行進行干預以執行一個方面行為(AspectJ中的advice)。所以,每個實體由一個可以隱式附上方面行為的Hook集組成。在UML2.0中,這些Hooks是基本單元的Behaviors。
 CompositionRules:SymmetricRules用以通過若干實體(也稱為子模塊)的組合產生一個更大的實體。AsymmetricRules用于說明任何在連接點(hooks)上應用aspects。
 這樣建立的通用元模型可以精細化為更加具體的模型,例如CBSD(Component-Based Software Development)與AOSD的集成模型CAM、Theme/UML模型。CAM與Theme/UML模型之間還可以實現相互轉換。
1.2 基于UML 2.0 Profile擴展策略
    這種擴展策略的基礎是: UML2.0 Profile提供了很好的擴展機制。圖2是其示意圖。

 

 

1.2.1 擴展方法和擴展機制
 UML2.0是建模語言的核心,其本身就是可擴展的。基于UML Profile的擴展策略實際上是一種 基于UML 2.0的擴展。基于UML 2.0的擴展策略有兩種方法:
 (1) First-Class擴展。它允許增加、修改具有相應功能的元類就能使得UML 2.0具有描述AOP特性的建模能力。這種擴展增加了UML 2.0語言的復雜性和應用建模的困難性,還涉及到 MOF的修改,對已有的標準化造成了破壞,因而其缺點是明顯的。
 (2) Profiles方式。它是一種通過建立面向方面PIM的PIM-AOP Profile的方式。Profiles擴展無需改動已有的元模型,也不改變現有的語法和語義,而是通過UML Profiles的構造型、標記值和約束等擴展機制來擴展 UML 2.0的建模能力。這種方法易于理解,不破壞現有標準,還可以充分利用現有的相關工具。
 因此,通常選擇后一種擴展方法。它利用了UML 2.0 Profiles提供的三種擴展機制:  
 (1) 構造型
 該機制利用一個已存在的模型元素來定義一種新的模型元素。新模型元素是已有模型元素的子類,通過泛化繼承已有的元模型類,并添加額外的語義來實現擴展。
 (2) 標記值
 標記值用于指定模型元素的性質,由標記字符串和值字符串組成,是對特性的顯式定義。任何模型元素都可以應用標記值來增加新的語義。標記值也可用來提供附加信息以有效提高模型的質量。
 (3) 約束
 約束用于對模型元素提供語義條件或限制。它用大括弧內的字符串表達式來表示。約束可應用于一個或多個元素上,可以附加在依賴、注釋等元素上以表示約束和關系。因此可以用來對模型元素進行語義上的限制。
1.2.2 Profiles擴展方式實例
   (1) 方面aspcet的表示。方面是AOP最主要的概念,在建模過程中應該把它作為一個獨立的、封閉的并且可以擁有自定義的結構成員的實體來定義。Aspect可以通過UML Profiles的構造型的擴展來實現。如圖3所示。

 在定義Aspect構造型時需要:(1)指出新定義的構造型是基于哪個元素的;(2)改變或增加新的語義。
 標記isPrivileged用于決定aspect是否能訪問被其橫切的類的私有屬性。
 標記aspectInstantiationType用來決定aspect實例化的方式。它可定義基于連接點中對象實例化的、基于連接點中的控制流的和在整個應用程序中只創建一個aspect對象的等幾種方式。
 利用方面aspect既可以擴展出新的方面aspect或者抽象方面abstractaspect,也可以通過實現接口方面Iaspect來構造方面aspect。
 (2) 切入點pointcut的表示。切入點、連接點的定義必須包含靜態語義和動態行為語義兩個方面。切入點、連接點的AOP動態行為語義是指干預應用的運行以執行方面aspect的行為。動態行為語義的描述和擴展通常選用在AOP中具有代表性的AspectJ中的advice。
 切入點的表述可通過UML Profiles的構造型的擴展得到構造型pointcut。并可(也必須)為pointcut添加約束,使其只能用于構造型aspect。
 (3) 通知advice、連接點joinpoint。與切入點相關的通知advice和連接點joinpoint仍然可以通過UML Profiles的構造型的擴展來實現。
 用于描述動態行為語義的AspectJ advice實際上就是UML 2.0的Behaviors。對構造型advice可以且必須添加約束,使其只能用于構造型pointcut。并且可以實現通知的五種執行方式:
?、?before通知:在連接點joinpoint執行之前執行before advice。但不能阻止連接點前的執行;
 ② after通知:在連接點joinpoint執行之后執行after advice;
 ③ around通知:包圍一個連接點的通知,例如方法調用。Aroud通知在方法調用前后完成自定義的行為,并負責選擇繼續執行連接點或通過自己的返回值或拋出異常來中斷執行。
 ④ AfterThrowingAdvice通知:在方法拋出異常時執行的通知。
?、?AfterReturningAdvice通知:在連接點正常完成后執行的通知。
 連接點有兩種類型:類連接點和方法連接點。
   類連接點構造型classjoinpoint的擴展實現可以也需要添加約束,使其只能用于切入點pointcut。并且可以實現通配符的條件比較。同樣,方法連接點構造型methodjoinpoint的擴展實現也需要添加約束,使其只能用于切入點pointcut。
 方法連接點methodjoinpoint是專門針對方法的。方法所具有的修飾符、返回值、方法名、參數、參數個數以及異常等的表述,都可以在此基礎上,將方法連接點methodjoinpoint分解為修飾符構造型modifierJ、返回值構造型returnJ、參數構造型argsJ以及異常構造型exceptionJ。對modifierJ、returnJ、argsJ也都可以添加約束,使得它們只能用在方法連接點構造型methodjoinpoint和類連接點構造型classjoinpoint中。
 此外,AOP中對連接點的動態捕獲(控制流程中類方法執行中涉及的連接點以及對類的字段進行處理、類初始化、對象初始化等涉及的所有連接點)和靜態捕獲(捕獲在指定類或者方面中的程序體中的所有連接點以及滿足一定條件的連接點),以及用于表示橫切關注點引發的行為順序等機制,都可以通過UML 2.0 Profile的擴展來獲得。
2 擴展策略的比較和相關研究
    相對來說,使用UML 2.0 Profile的最大好處是可以獲得大多數UML2.0工具的支持,建模人員可以容易地使用UML2.0 Profile擴展機制在MDA中引入面向方面的建模[9,13]。從理論上來說,可以創建無限個特征文件Profile。因而,只要遵循UML 2.0規范,任何的建模人員都可以創建滿足自己需要的任何特征文件。通過Profile 的擴展機制建立UML2.0 PIM-AOP Profile模型規范的方式具有較強的通用性,例如當AOP的語法增加或變動時,可以容易地在該PIM模型規范中實現。
 但是,在進行軟件開發時使用UML2.0 Profile擴展,必須首先利用面向方面技術將核心業務邏輯和橫切關注點分離,然后建立實現系統核心關注點的功能PIM 和橫切關注點的方面PIM,接下來還要根據選定的具體技術平臺利用相關的平臺變換規則分別將功能PIM和方面PIM變換為功能PSM和方面PSM。最后還需利用特定方面平臺的編織技術將這兩部分編織在一起形成最終代碼[1]。
 與UML Profile的擴展策略相比較,MOF擴展可以充分利用和表達元模型的語義,其抽象級更高,因而靈活性也更高。但它工作困難、現有的支持工具較少。
 支持AOP的MOF元模型具有更強的表達能力,而且獨立于任何的標記,同時還能為除MDA以外的其他建模標準(如XMI、QVT等)所使用。
 支持AOP的MOF元模型的優點是: (1)有助于不同的AOP擴充方案建立元模型; (2)通過一個簡單的元模型能夠方便地確定不同的AOP擴充方案的異同; (3)能夠實現模型之間的水平變換,即不同的AOP擴充方案之間的轉換; (4)有利于轉換工具的開發。
 MOF擴展可以遵循MDA方法,使用預定義的轉換,從元模型生成目標模型所有可能的元素。另一方面,利用這種方法,可以生成多個目標模型,獲取相同系統的不同實現方案。
 此外,基于各種特定的MOF元模型建立的任何模型,以及任何使用經擴展的通用的支持AOP的MOF元模型構建的任何模型,都可以直接通過XMI標準序列化為XML。
 一些試圖擴展UML元模型以支持AOP的相關工作有:
 參考文獻[3]根據AspectJ 和AspectC++中元素的語義,通過繼承相應UML 中元素的方法擴展了UML 的元模型。類圖中的切入點可以從方面中分離出來,這樣可以清晰地表示在這個切入點處的多個橫切關系;順序圖中新添加的通知發出焦點可以方便地表達行為橫切。但所采用的方法是非形式化的,而且其實現和應用都較麻煩和困難。
 參考文獻[4]基于AspectJ語法語義和XMI擴展UML元模型,并實現了面向方面的重要概念。但該方法缺乏對基于面向方面的動態行為和特征的支持。
 這些基于UML元模型的擴展都非常接近于諸如AspectJ的原始AOSD方法,且不支持更高級的功能,如對稱組合。
 其他的一些對基于UML Profile擴展的研究工作有:參考文獻[5]給出了面向方面設計的通用UML Profile的構造。提出了用UML 中的collaboration template、 Feature和Association模型元素的擴展構造型。但是工作并沒有最終完成,而且寄希望于通過不同的方案來完成。此外,它仍然不支持諸如對稱組合規則等高級概念,其實用性也有待于在不同的方案中進行檢驗。參考文獻[6]提出了用于AspectJ的設計標記。參考文獻[7]提出一個原始的AspectJ profile,其中,advice和pointcut是基于operation的構造型,aspect與核心業務模塊之間的關系表達為依賴關系。參考文獻[6]、[7]給出的擴展策略的共同缺點是過分依賴于特定的技術。
   還有一些略有不同的擴展策略:(1)基于UML profile的擴展,同時又可通過MOF擴展引入新的元模型的方法;(2)在UML模型中引入構造型aspect;(3)不需要擴展UML,利用狀態圖和類圖為不同的關注點進行建模。但這些方法均不完善且存在較多的缺點[8]。
   以模型為中心的軟件開發新方法MDA有其獨特的絕對優勢,面向方面技術可以對MDA進行補充,以解決MDA難以處理的橫切關注點的問題。將面向方面的MDA用于復雜軟件系統的開發可以大大提高軟件的可重用性和可維護性,降低開發成本。將這兩種重要的軟件開發方法結合起來有望成為未來軟件開發的發展趨勢。但是如何將兩者很好地結合起來還有許多問題需要進一步深入研究和解決。
參考文獻
[1] 劉敬勇,張立臣,陳成.基于面向方面MDA的軟件開發方法[J]. 計算機工程與設計,2009,30(17):4077-4080.
[2] FUENTES L,SANCHEZ P. A generic MOF metamodel for  aspect-oriented modeling [C]. Proceedings of the Fourth  Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD/MOMPES’06), Potsdam, IEEE Computer Society, 2006:113-124.
[3] 郭東亮,張立臣.基于擴展UML 的面向方面的建模 [J]. 計算機工程,2006,32(19):100-102.
[4] 吳剛,郝克剛,葛瑋.基于UML的面向方面建模研究[J]. 計算機應用與軟件,2007,24(11):95-97.
[5] ALDAWUD O, ELRAD T, BADER A. Uml profile for aspect oriented software development[C]. In Proc.of 3rd Int. Workshop on AOM,AOSD 2003, Boston, USA, 2003(3).
[6] STEIN D, HANENBERG S, UNLAND R. A UML-based aspect-oriented design notation for AspectJ[C]. In Proc. of  AOSD’02, Enschede, The Netherlands, 2002(4):106-112.
[7] STEIN D,HANENBERG S, UNLAND R.Designing aspect-oriented crosscutting in UML[C].In Proceedings of the AOM with UML workshop at AOSD 2002.
[8] YAN H, KNIESEL G, CREMERS A. A metamodel and  modeling notation for AspectJ[C]. In Proceedings of the AOM  workshop at AOSD 2004.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          免费亚洲视频| 国产精品永久| 欧美电影电视剧在线观看| 亚洲欧美成人一区二区在线电影| 亚洲欧美在线另类| 久久久久国产精品厨房| 亚洲电影在线观看| 在线观看av不卡| 欧美在线一区二区| 一本色道久久综合亚洲91| 在线免费精品视频| 国产欧美一区二区三区国产幕精品| 亚洲影院色无极综合| 老司机午夜精品视频在线观看| 亚洲国产一区二区三区在线播| 亚洲一二三四区| 黄色成人在线观看| 久久久亚洲国产天美传媒修理工| 国产精品欧美在线| 精品999成人| 久久精品一级爱片| 国产精品久久久久久av下载红粉| 国产精品私房写真福利视频| 在线中文字幕一区| 欧美色道久久88综合亚洲精品| 国产精品免费视频xxxx| 一本不卡影院| 欧美日韩视频在线观看一区二区三区| 欧美黄色网络| 亚洲精品在线电影| 六十路精品视频| 国产精品午夜春色av| 亚洲福利小视频| 亚洲视频自拍偷拍| 亚洲综合日韩在线| 欧美专区在线| 亚洲欧美国产一区二区三区| 伊人精品久久久久7777| 欧美亚州在线观看| 极品av少妇一区二区| 欧美激情日韩| 国产精品中文字幕在线观看| 欧美韩日一区二区三区| 黑人一区二区三区四区五区| 亚洲五月六月| 欧美日韩成人在线播放| 欧美激情第9页| 欧美电影免费网站| 欧美日韩精品国产| 亚洲桃花岛网站| 国产精品国产三级国产普通话99| 国产精品免费一区豆花| 国产伦精品免费视频| 国产一区二区三区自拍| 激情亚洲一区二区三区四区| 欧美一级电影久久| 久久天堂精品| 欧美三级网页| 欧美成人一区二免费视频软件| 国产精品国产三级国产普通话蜜臀| 亚洲黄色片网站| 欧美大片免费观看在线观看网站推荐| 国产精品wwwwww| 国产精品乱码一区二区三区| 狠狠久久综合婷婷不卡| 亚洲高清免费视频| 欧美人交a欧美精品| 欧美三级电影大全| 国产精品久在线观看| 欧美日韩国产成人在线91| 欧美中日韩免费视频| 夜夜嗨av一区二区三区四区| 欧美91视频| 欧美一级在线亚洲天堂| 一区二区三区.www| 国产亚洲精品综合一区91| 欧美国产日韩精品| 中文精品视频| 亚洲综合色丁香婷婷六月图片| 国产亚洲欧美日韩一区二区| 午夜精品视频在线观看| 中国成人黄色视屏| 亚洲综合色激情五月| 欧美日精品一区视频| 亚欧成人在线| 日韩一区二区免费高清| 亚洲欧美电影院| 欧美日韩精品一区| 国产又爽又黄的激情精品视频| 午夜精品久久久久久99热软件| 国产视频一区免费看| 欧美日韩国产探花| 麻豆九一精品爱看视频在线观看免费| 欧美人与性禽动交情品| 91久久久一线二线三线品牌| 日韩亚洲视频| 国产伦精品一区二区三区免费迷| 欧美日韩福利在线观看| 亚洲第一在线| 国产美女在线精品免费观看| 国产精品网站一区| 国产精品vip| 最近中文字幕mv在线一区二区三区四区| 妖精成人www高清在线观看| 黄色一区二区三区四区| 日韩视频精品在线观看| 国产精品都在这里| 欧美福利一区| 性欧美在线看片a免费观看| 国产精品家教| 国产精品看片资源| 亚洲精品国产拍免费91在线| 在线观看中文字幕亚洲| 亚洲福利视频在线| 久久久www成人免费无遮挡大片| 欧美日韩调教| 亚洲欧洲精品成人久久奇米网| 亚洲午夜伦理| 久久国产成人| 欧美午夜在线视频| 在线看片欧美| 午夜视黄欧洲亚洲| 亚洲一区二区三区在线| 欧美大尺度在线观看| 国产麻豆成人精品| 欧美精品在线观看一区二区| 亚洲免费影院| 久久久精品日韩| 欧美xx视频| 国产欧美一区二区精品性色| 欧美制服丝袜第一页| 欧美一区二区三区四区在线观看| 国产精品香蕉在线观看| 美女精品视频一区| 国产精品99一区| 久久精品国产精品亚洲精品| 午夜在线播放视频欧美| 一区二区三区三区在线| 在线午夜精品自拍| 久久久久88色偷偷免费| 国产日韩欧美电影在线观看| 欧美伊人久久久久久久久影院| 亚洲一区二区欧美| 欧美精品一卡二卡| 国户精品久久久久久久久久久不卡| 日韩视频一区二区在线观看| 欧美激情一区二区三区不卡| 久久免费一区| 亚洲精品一区二| 国产精品成av人在线视午夜片| 这里只有视频精品| 欧美日韩国产123区| 91久久久久久久久久久久久| 亚洲国产成人在线播放| 欧美午夜视频| 永久免费视频成人| 欧美freesex8一10精品| 国产欧美欧美| 黄色精品一二区| 国产亚洲午夜高清国产拍精品| 欧美色精品天天在线观看视频| 国产精品嫩草影院一区二区| 国产精自产拍久久久久久| 亚洲永久免费精品| 在线视频你懂得一区二区三区| 亚洲国产一区视频| 国产精品高精视频免费| 国产亚洲一区在线播放| 日韩午夜免费| 91久久精品美女高潮| 久久精品视频导航| 国产视频在线观看一区| 午夜欧美精品| 欧美激情一区二区三区在线视频观看| 亚洲人成人一区二区三区| 久久综合色播五月| 裸体一区二区三区| 国产亚洲精品久| 欧美大片在线观看一区| 极品少妇一区二区三区精品视频| 一本到高清视频免费精品| 国产视频一区在线观看| 亚洲国产成人精品久久| 欧美日韩在线播放一区| 欧美丝袜一区二区| 国内精品久久久久久久影视蜜臀| 欧美在线啊v一区| 久久久www免费人成黑人精品| 国产精品美女午夜av| 国产精品免费一区二区三区观看| 亚洲国产婷婷香蕉久久久久久| 在线观看一区二区视频| 伊人精品成人久久综合软件| 亚洲大胆av| 欧美一区二区三区视频在线观看| 99ri日韩精品视频| 国产精品久久久亚洲一区| 狠狠色丁香婷婷综合影院| 免费久久99精品国产自在现线| 欧美视频一区| 久久精品国产99国产精品澳门| 伊人久久大香线蕉av超碰演员| 亚洲一区视频| 亚洲激情在线观看| 亚洲小视频在线观看| 亚洲人成网站777色婷婷| 亚洲黑丝在线| 亚洲精品男同| 一区二区不卡在线视频 午夜欧美不卡'| 久久久久久久久久久久久9999| 欧美成人蜜桃| 国产精品成人一区二区网站软件| 久久亚洲私人国产精品va媚药| 国产精品日韩精品欧美精品| 久久久.com| aaa亚洲精品一二三区| 宅男在线国产精品| 国产欧美日韩激情| 一区在线电影| 亚洲欧美日韩在线综合| 在线视频欧美日韩| 久久国产精品一区二区三区四区| 久久亚洲精品中文字幕冲田杏梨| 久久爱www| 国内自拍视频一区二区三区| 欧美日韩国产一区精品一区| 一区二区日韩精品| 欧美日韩一区二区在线视频| 国产精品系列在线播放| 黄色一区二区三区| 久久综合中文色婷婷| 欧美日韩一区二区视频在线观看| 一本一本久久a久久精品牛牛影视| 欧美极品色图| 亚洲福利视频一区二区| 欧美日韩一区二区在线观看视频| 久久午夜视频| 狠狠色丁香久久婷婷综合丁香| 欧美伦理在线观看| 国产性色一区二区| 韩国精品在线观看| 亚洲免费在线视频一区 二区| 国产精品久久久久久久久动漫| 欧美成人黄色小视频| 国产精品久久久久国产a级| 欧美激情一区二区三区在线视频| 影音先锋另类| 激情亚洲网站| 国产精品99久久久久久久vr| 国产欧美在线| 你懂的网址国产 欧美| 黄色一区二区在线观看| 一区二区精品在线| 欧美日韩一区二区在线观看视频| 亚洲六月丁香色婷婷综合久久| 欧美精品一区在线观看| 精品成人a区在线观看| 国产伦精品一区二区三区免费迷| 国内外成人免费激情在线视频网站| 国产精品v一区二区三区| 欧美精品一级| 欧美中在线观看| 91久久综合亚洲鲁鲁五月天| 久久国产精品免费一区| 校园激情久久| 亚洲视频一区在线观看| 国内在线观看一区二区三区| 欧美日韩国产一中文字不卡| 午夜亚洲福利在线老司机| 国产精品久久久久久五月尺| 女女同性女同一区二区三区91| 欧美激情日韩| 夜夜狂射影院欧美极品| 久久成人免费电影| 欧美日韩国产天堂| 亚洲欧美日韩国产综合精品二区| 欧美金8天国| 国产精品日韩一区二区| 在线观看欧美日本| 国精品一区二区三区| 欧美一级片久久久久久久| 欧美另类99xxxxx| 亚洲激情黄色| 久久精品一级爱片| 亚洲一区二区三区777| 美女视频网站黄色亚洲| 久久久亚洲国产天美传媒修理工| 一本大道久久a久久精二百| 一区二区在线看| 日韩网站在线看片你懂的| 欧美成人免费播放| 亚洲欧美日韩国产中文| 美国三级日本三级久久99| 亚洲免费视频网站| 国产午夜亚洲精品不卡| 91久久精品久久国产性色也91| 亚洲第一在线视频| 国产主播一区| 亚洲一区三区电影在线观看| 欧美视频不卡| 国产精品v欧美精品v日本精品动漫| 亚洲夜间福利| 久久久综合激的五月天| 免费观看在线综合| 午夜精品久久久久99热蜜桃导演| 韩国av一区二区三区四区| 国产亚洲人成a一在线v站| 尹人成人综合网| 久久久久在线| 国产精品午夜电影| 一区二区三区免费网站| 国产一区二区三区网站| 午夜天堂精品久久久久| 正在播放亚洲| 狠狠色狠狠色综合日日小说| 小黄鸭精品aⅴ导航网站入口| 亚洲欧洲日本一区二区三区| 久久精品99无色码中文字幕| 亚洲国产精品va在线观看黑人| 国产精品私人影院| 国产日韩欧美中文| 亚洲午夜激情网站| 国内精品视频在线播放| 欧美激情精品久久久久久黑人| 久久在线观看视频| 99视频在线精品国自产拍免费观看| 欧美精品一区二区三区很污很色的| 亚洲欧美日韩一区二区在线|