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

    一種基于非面向?qū)ο笳Z言的星載軟件構(gòu)件技術(shù)

    2015-02-24 02:32:29張亞航郭堅于俊慧
    中國空間科學(xué)技術(shù) 2015年4期
    關(guān)鍵詞:面向?qū)ο?/a>型號代碼

    張亞航 郭堅 于俊慧

    (北京空間飛行器總體設(shè)計部,北京 100094)

    ?

    一種基于非面向?qū)ο笳Z言的星載軟件構(gòu)件技術(shù)

    張亞航 郭堅 于俊慧

    (北京空間飛行器總體設(shè)計部,北京 100094)

    為了進一步提高星載軟件復(fù)用程度和解決航天器軟件開發(fā)效率低下的問題,對星載軟件特性和軟件構(gòu)件技術(shù)進行了分析和研究;對星載軟件構(gòu)件進行了定義,提出了一種基于非面向?qū)ο笳Z言的、適用于星載軟件開發(fā)和應(yīng)用環(huán)境的星載軟件構(gòu)件模型。基于該模型開發(fā)的星載軟件構(gòu)件,具備獨立性、完整性、可組裝性和功能性。除此之外,對基于這種模型的星載軟件構(gòu)件設(shè)計、開發(fā)和使用方法進行了介紹,可以為采用非面向?qū)ο笳Z言進行星載軟件構(gòu)件開發(fā)提供參考。在多個型號中對該技術(shù)展開實踐,實踐結(jié)果表明:提出的星載軟件構(gòu)件設(shè)計方法能夠?qū)⑿禽d軟件開發(fā)效率提高2~5倍。

    開發(fā)效率;構(gòu)件模型;非面向?qū)ο笳Z言;復(fù)用;星載軟件;航天器

    1 引言

    隨著我國航天事業(yè)的突飛猛進,航天器數(shù)量急劇增加,同時航天器星務(wù)軟件兼顧智能化、自主故障[1]等功能,軟件結(jié)構(gòu)越來越復(fù)雜。軟件復(fù)用技術(shù)日益成為星載軟件系統(tǒng)的規(guī)模和航天器軟件制造成本的瓶頸。

    國內(nèi)研究者認識到了基于構(gòu)件的復(fù)用技術(shù)是軟件開發(fā)的趨勢,也提出了航天器“軟件工廠”的概念[2]。然而這些研究主要停留在概念層面,沒有明確提出星載軟件構(gòu)件應(yīng)該具備的特性和形態(tài),也沒有提出開發(fā)準(zhǔn)則。航天領(lǐng)域?qū)?gòu)件的認識并不相同,有的研究者認為構(gòu)件與可復(fù)用模塊等同[3],有的研究者仍然從結(jié)構(gòu)化編程的角度理解構(gòu)件,認為構(gòu)件是一個或多個可復(fù)用的函數(shù)[4-5]。隨著對航天器綜合電子軟件任務(wù)的分析,函數(shù)形式的復(fù)用難以實現(xiàn)功能級別的封裝與復(fù)用。而面向?qū)ο蟮睦碚摚梢詫崿F(xiàn)數(shù)據(jù)與邏輯的封裝。本文認為星載軟件構(gòu)件的設(shè)計思想仍然應(yīng)該參考面向?qū)ο蠓椒ㄕ摚⒕邆浞庋b、多態(tài)等特性,這與軟件工業(yè)界主流的構(gòu)件技術(shù)思路一致[6]。

    然而軟件工業(yè)界的軟件構(gòu)件技術(shù),例如SUN的JavaBean系列標(biāo)準(zhǔn),OMG的CORBA系列標(biāo)準(zhǔn)和微軟的COM系列標(biāo)準(zhǔn),雖然相對完善和成熟,但由于受到以下條件限制,不能直接應(yīng)用于航天器綜合電子系統(tǒng):

    1)語言環(huán)境約束:現(xiàn)有的軟件構(gòu)件設(shè)計方法往往基于面向?qū)ο笳Z言,而星載軟件鑒于任務(wù)特點和頻繁操作硬件等要求,往往采用匯編或C語言等非面向?qū)ο笳Z言進行開發(fā)[3-4]。

    2)可靠性約束:航天領(lǐng)域要求星載軟件具備高可靠性,其遵循的編程規(guī)范存在特殊要求,例如不允許內(nèi)存動態(tài)開辟和回收操作。

    3)資源約束:星載軟件運行環(huán)境空間受限,而Java和COM等構(gòu)件技術(shù),往往需要額外的運行環(huán)境確保構(gòu)件的運行[4]。

    與此同時,學(xué)術(shù)界對非面向?qū)ο笳Z言(主要是C語言和匯編語言)構(gòu)件技術(shù)的研究中,或者其構(gòu)件模型仍然采用結(jié)構(gòu)化設(shè)計思想,以函數(shù)為顆粒[7],或者需要底層運行環(huán)境支持[8-9],或者需要內(nèi)存動態(tài)開辟[10],無法滿足航天器軟件高可靠性要求。

    為此,本文提出星載軟件構(gòu)件定義,明確其應(yīng)具備的特性和對外接口形態(tài),具備封裝、多態(tài)等特性,并進一步提出采用非面向?qū)ο笳Z言實現(xiàn)星載軟件構(gòu)件的設(shè)計和使用方法,用于指導(dǎo)采用非面向?qū)ο笳Z言進行星載軟件構(gòu)件設(shè)計、開發(fā)、組裝和使用。最后,對提出的構(gòu)件模型和開發(fā)方法在多個型號展開了工程驗證。

    2 星載軟件構(gòu)件模型定義及設(shè)計規(guī)則

    不同的文獻,對于軟件構(gòu)件往往有不同的定義[11-13],如1995年,Ian.Oraham給出的構(gòu)件定義如下:構(gòu)件(Component)是指一個對象(接口規(guī)范或二進制代碼),它被用于復(fù)用,接口被明確定義;而Clemens Szyperski認為,一般來說,構(gòu)件(Component)是面向軟件體系架構(gòu)的可復(fù)用軟件模塊,其作為可復(fù)用的軟件組成成份,可被用來構(gòu)造其他軟件。這里,根據(jù)星載軟件運行特點和需求,參考主流軟件構(gòu)件模型,對星載軟件構(gòu)件進行自我定義,建立星載軟件構(gòu)件模型。

    2.1 星載軟件構(gòu)件定義

    由于在軟件工程領(lǐng)域,對構(gòu)件的定義并無統(tǒng)一的標(biāo)準(zhǔn),綜合工業(yè)界對軟件構(gòu)件的定義和星載軟件的特點,本文提出如下定義:

    定義1 星載軟件構(gòu)件(本文中有時也將其簡稱為軟件構(gòu)件或構(gòu)件),指的是一個可獨立發(fā)布,并可以由第三方進行組裝的功能模塊,它滿足一定的航天器軟件需求,并通過接口提供服務(wù)。它應(yīng)具備四個基本屬性:

    1)獨立性:構(gòu)件編譯時,需與其他構(gòu)件分離或程序分離,除了基本編譯環(huán)境,不能依賴構(gòu)件以外的數(shù)據(jù)或代碼,完成獨立編譯。

    2)完整性:構(gòu)件發(fā)布時,構(gòu)件使用方不能訪問構(gòu)件內(nèi)部細節(jié),且不可拆分。

    3)組裝性:構(gòu)件實例對外提供可見接口,構(gòu)件用戶能夠根據(jù)既定規(guī)則將構(gòu)件進行組裝。

    4)功能性:必須具備具體的、明確的一個或多個功能,能夠被用戶調(diào)用,并在預(yù)定的運行環(huán)境下正確運行。

    為了滿足以上定義,本文將星載軟件構(gòu)件分為兩類。一類稱為靜態(tài)構(gòu)件,運行前不需要實例化,以類似于庫函數(shù)的狀態(tài)存在,本文中不作詳細討論;另一類稱為動態(tài)構(gòu)件,運行前需要進行實例化,是本文討論的重點。在本文中所說的構(gòu)件,除了特殊說明外,都指動態(tài)構(gòu)件。

    2.2 星載軟件構(gòu)件模型

    圖1 星載軟件構(gòu)件模型結(jié)構(gòu) Fig.1 On-board software component model structure

    如圖1所示,典型的星載軟件模型由對外接口、實現(xiàn)體和規(guī)約三個要素組成。其中,對外接口是構(gòu)件向用戶提供服務(wù)的惟一渠道;實現(xiàn)體為具有一定功能的源程序片段,實現(xiàn)對外接口所提供的服務(wù);規(guī)約作為對構(gòu)件的描述,是構(gòu)件使用說明書。其中,對外接口和規(guī)約對外可見,被用戶調(diào)用或被閱讀;實現(xiàn)體對外不可見,從而保證構(gòu)件的信息隱藏和獨立性。

    為了精確描述星載軟件構(gòu)件模型,本文采用BNF范式的擴展范式EBNF[14]對構(gòu)件模型進行描述:

    “< >”表示待描述的語法成分,“::=”表示語法成分定義,“|”表示“或者”關(guān)系,“{ }”表示重復(fù)1到多次,“[ ]”表示可選項,“( )”表示括號內(nèi)的成分優(yōu)先。

    則星載軟件構(gòu)件模型滿足以下EBNF表達式:

    1)<星載軟件構(gòu)件> ::= (<代碼體> | <子構(gòu)件結(jié)構(gòu)>) <對外接口> <構(gòu)件規(guī)約>

    2)<對外接口> ::= <主結(jié)構(gòu)體> <初始化接口> [<配置接口>]

    3)<構(gòu)件規(guī)約> ::= <構(gòu)件基本信息> <接口信息> <環(huán)境信息> <非功能特性>

    4)<子構(gòu)件結(jié)構(gòu)> ::= {<子構(gòu)件>}

    下面分別對構(gòu)件三要素進行詳細描述:

    要素一:對外接口,封裝在.h文件中,對外可見,包括主結(jié)構(gòu)體、初始化接口、配置接口。

    1)主結(jié)構(gòu)體:規(guī)定了構(gòu)件對象的結(jié)構(gòu),封裝了以下方面的信息。

    ——構(gòu)件屬性:包括變量和本構(gòu)件所包含的子構(gòu)件。

    ——構(gòu)件功能接口:提供構(gòu)件所有對外公開的服務(wù),由用戶調(diào)用,以函數(shù)指針的形式存在。

    2)初始化接口:在任何構(gòu)件運行之前,必須先對主結(jié)構(gòu)體中的各變量賦予初值,即初始化;初始化接口就是提供給構(gòu)件用戶的操作渠道。

    3)配置接口(可選):配置接口是可選的對外接口,主要包括兩種:與內(nèi)存配置相關(guān)的配置接口,以及構(gòu)件代碼動態(tài)編譯的相關(guān)配置接口。

    要素二:實現(xiàn)體,具有一定功能的源程序片段,實現(xiàn)對外接口所提供的服務(wù),對外不可見。構(gòu)件編寫完成后,將源文件編譯成二進制文件發(fā)布。實現(xiàn)體主要包括:

    1)初始化接口的函數(shù)體;

    2)功能接口的函數(shù)體;

    3)其他變量和代碼片段。

    要素三:規(guī)約。

    規(guī)約是對構(gòu)件的描述,在實現(xiàn)中以.h文件中的注釋形式存在。

    3 星載軟件構(gòu)件編寫規(guī)則

    基于本文第2.1節(jié)和第2.2節(jié)所述的星載軟件構(gòu)件定義和基本要素,本節(jié)以C語言為例,對基于C語言的綜合電子軟件構(gòu)件的具體實施規(guī)則進行詳細描述。

    (1)構(gòu)件實體設(shè)計

    1)對于某個C語言星載軟件構(gòu)件Component來說,其由一個實現(xiàn)體文件(例如Component.c)和對外接口文件(例如Component.h)組成;

    2)構(gòu)件初始化函數(shù)命名規(guī)則:Component.c中的初始化函數(shù)名稱應(yīng)當(dāng)為ComponentInit(),其中Component表示構(gòu)件名稱。

    (2)對外接口設(shè)計

    構(gòu)件所有可見信息都封裝在對外接口文件中,對外接口文件包含本構(gòu)件所有對外接口和構(gòu)件規(guī)約,具體設(shè)計為:

    1)對外接口文件必須聲明本構(gòu)件的主結(jié)構(gòu)體,主結(jié)構(gòu)體規(guī)定了構(gòu)件對象的結(jié)構(gòu),從主結(jié)構(gòu)體可以實例化出多個構(gòu)件對象;

    2)對外接口文件必須聲明本構(gòu)件所包含的其他所有子構(gòu)件SubComponent_1,…,SubComponent_n;

    3)對外接口文件必須聲明本構(gòu)件的初始化接口;

    4)Component.h文件可能聲明本構(gòu)件的配置接口,其中包括兩類配置接口:

    ——內(nèi)存分配配置接口:有些構(gòu)件對象,在運行時需要分配額外的內(nèi)存空間,但是在某些特定的航天星載軟件運行環(huán)境中,操作系統(tǒng)無法提供動態(tài)內(nèi)存分配功能。此時,通過在構(gòu)件主結(jié)構(gòu)體中定義數(shù)組的形式進行內(nèi)存預(yù)分配。

    ——選擇編譯配置接口:為了實現(xiàn)構(gòu)件的通用性,構(gòu)件往往會實現(xiàn)相關(guān)功能的最大包絡(luò)。但是在具體工程中,構(gòu)件用戶根據(jù)自身需求,可能只用到該構(gòu)件提供的部分功能。此時為了降低代碼冗余,構(gòu)件頭文件可以以宏定義、選擇編譯的形式對有效代碼進行選擇編譯。

    (3)構(gòu)件實現(xiàn)體的設(shè)計

    構(gòu)件的實現(xiàn)體,一般情況下對用戶不可見;實現(xiàn)體中的內(nèi)容在編寫時以代碼塊或函數(shù)體等形式存在,包括初始化接口的函數(shù)體、功能接口的函數(shù)體,還有其他一些必備的代碼:

    1)初始化接口的函數(shù)體實現(xiàn),以ComponentInit(參數(shù)1,參數(shù)2,……)函數(shù)形式存在。本函數(shù)實現(xiàn)對本構(gòu)件運行時初始化,必須實現(xiàn)以下功能:

    ——本構(gòu)件對象所有屬性初始化;

    ——本構(gòu)件所包含的所有子構(gòu)件初始化(如果有子構(gòu)件,則同樣的,子構(gòu)件初始化包括當(dāng)前所述的三個功能);

    ——將本構(gòu)件主結(jié)構(gòu)體所聲明的功能接口與所對應(yīng)的功能函數(shù)掛接。

    2)函數(shù)體:除了靜態(tài)構(gòu)件和初始化函數(shù),其他所有的函數(shù)體,其第一個參數(shù)必須是指向當(dāng)前構(gòu)件實例的指針,例如ComponentFun(struct Component*this_obj,參數(shù)1,……)。

    3)信息隱藏:構(gòu)件實現(xiàn)體的任何函數(shù)和全局變量,都需聲明為對外不可見。

    (4)構(gòu)件規(guī)約設(shè)計

    構(gòu)件規(guī)約作為星載軟件構(gòu)件的使用說明書,由構(gòu)件設(shè)計者提供,向構(gòu)件用戶提供本構(gòu)件能夠使用的一切說明信息。用戶將根據(jù)這些信息進行構(gòu)件的選擇和使用,其至少需包括:

    1)構(gòu)件基本信息:包括構(gòu)件的作者、版本、構(gòu)件名稱、發(fā)布日期等信息。

    2)構(gòu)件接口信息:包括接口提供的功能、接口名稱、接口參數(shù)。

    3)構(gòu)件環(huán)境信息:包括構(gòu)件的使用場景、依賴的軟件環(huán)境、局限性等信息。

    4)非功能特性:通常情況下包含該構(gòu)件的性能及可用性描述。

    (5)構(gòu)件發(fā)布

    1)所有子構(gòu)件的文件(包括二進制文件和對外接口文件)與Component文件共同進行編譯,形成完整的構(gòu)件;

    2)構(gòu)件可以向下包含子構(gòu)件,不同的構(gòu)件可以包含相同的子構(gòu)件,但是不得出現(xiàn)構(gòu)件包含環(huán),如A包含B,B包含C,C包含A;

    3)用戶使用時,只有構(gòu)件規(guī)約、構(gòu)件頭文件和編譯后的二進制文件,構(gòu)件實現(xiàn)體不向用戶提供。

    4 星載軟件構(gòu)件的組裝和連接

    構(gòu)件組裝的任務(wù)是在系統(tǒng)框架下,集成已選取的構(gòu)件形成整個系統(tǒng),是基于構(gòu)件軟件開發(fā)的核心過程。

    4.1 直接連接關(guān)系(包含與被包含關(guān)系)

    圖2 構(gòu)件A和B之間關(guān)系 Fig.2 Relationship between A and B

    本文定義的構(gòu)件與構(gòu)件的直接關(guān)系,只有包含與被包含關(guān)系。這使得構(gòu)件與構(gòu)件的關(guān)系簡潔明了,并保證了構(gòu)件對用戶的獨立性和完整性。

    如果某個星載軟件構(gòu)件A存在對另外構(gòu)件B的服務(wù)存在直接調(diào)用,根據(jù)本文第3.1節(jié)中星載軟件構(gòu)件獨立性原則,構(gòu)件A必須采用包含子構(gòu)件的方式,實現(xiàn)對被依賴構(gòu)件B所提供服務(wù)的調(diào)用。構(gòu)件B將作為構(gòu)件A的一部分(子構(gòu)件)發(fā)布。構(gòu)件A和構(gòu)件B采用統(tǒng)一建模語言UML描述,其靜態(tài)關(guān)系如圖2所示。

    因此,一個基于軟件構(gòu)件的系統(tǒng)或構(gòu)件的生產(chǎn)過程,實際上是對已有構(gòu)件的選取、包含和使用。

    4.2 間接連接關(guān)系(構(gòu)件連接子)

    圖3 構(gòu)件A、B、C之間關(guān)系 Fig.3 Relationship among component A, B and C

    但是,在一些設(shè)計場景下,包含與被包含關(guān)系不能完全體現(xiàn)構(gòu)件之間的關(guān)系。考慮一種設(shè)計場景:構(gòu)件A能夠?qū)ζ渌活悵M足所需特定結(jié)構(gòu)的任意構(gòu)件對象提供相對通用的服務(wù)(例如排序操作)。構(gòu)件B和構(gòu)件C都能滿足這類特定結(jié)構(gòu)(例如具備優(yōu)先級和比較能力)。用戶或上層構(gòu)件應(yīng)用程序希望使用構(gòu)件A的對象a所提供的服務(wù)QuickSort對構(gòu)件B和構(gòu)件C的對象進行操作。

    此時,構(gòu)件A、B、C之間的采用統(tǒng)一建模語言UML描述,其靜態(tài)關(guān)系如圖3所示。

    但是作為構(gòu)件提供方,如果任意使用構(gòu)件A提供服務(wù)的其他構(gòu)件,都必須與A作為一個整體發(fā)布,存在以下問題:

    1)構(gòu)件A本身難以獨立,因為可能存在許多不同的構(gòu)件對象都需要排序服務(wù),A無法與所有的這些對象都作為整體發(fā)布。

    2)根據(jù)構(gòu)件獨立性原則,顯然在構(gòu)件A發(fā)布之后新發(fā)布的其他構(gòu)件將無法再使用A的服務(wù)。

    3)難以對多個不同類型的構(gòu)件對象同時進行共同操作。

    因此,必須提出一種手段,使得構(gòu)件A、B、C三者之間不存在包含關(guān)系,能夠分別獨立發(fā)布,又能夠相互調(diào)用彼此的服務(wù)。由此,本文引入構(gòu)件連接子的概念。

    定義2 星載軟件構(gòu)件連接子(本文中有時也將其簡稱為構(gòu)件連接子或連接子)指的是一種結(jié)構(gòu),用于描述兩個或多個相互獨立的構(gòu)件之間的數(shù)據(jù)結(jié)構(gòu)關(guān)系。連接子沒有對應(yīng)的實現(xiàn)體。

    仍然考慮上述場景:通過引入第三方構(gòu)件連接子X規(guī)定該特定結(jié)構(gòu)。構(gòu)件A在發(fā)布的時候,同時發(fā)布一種結(jié)構(gòu)連接子X(具備優(yōu)先級priority屬性并通過GetPriority獲取和比較方法Compare函數(shù)),并宣稱任意具備X結(jié)構(gòu)的構(gòu)件,都能夠采用構(gòu)件A所提供的服務(wù),對連接子X的描述如下:

    Connector X

    {

    Interface1: Compare()

    Interface2: GetPriority()

    }

    構(gòu)件B和C的提供方在編寫B(tài)和C的時候,無需知道構(gòu)件A的具體結(jié)構(gòu),只需要包含連接子X結(jié)構(gòu),使得構(gòu)件B和C具備連接子X的形態(tài)。即可令構(gòu)件B和構(gòu)件C的對象采用構(gòu)件A的服務(wù)。

    當(dāng)構(gòu)件B和C類型的某個對象需要構(gòu)件A的對象所提供的服務(wù)時,雖然A、B和C相互獨立,即不知道其他兩方的任何信息,但是由于他們都知道連接子X的信息,因此可以通過X形成橋梁完成三者的相互左右。典型的步驟如下:

    圖4 加入連接子X構(gòu)件A、B、C之間關(guān)系 Fig.4 Relationship among componentA, B, C with connector X

    步驟一:分別聲明構(gòu)件A的實例a,構(gòu)件B的實例b,構(gòu)件C的實例c。

    步驟二:將b抽象化成連接子類型的x1。

    步驟三:將c抽象化成連接子類型的x2。

    步驟四:a對抽象后的連接子元素x1和x2進行操作或提供服務(wù)。

    步驟五:完成服務(wù)后,根據(jù)反射機制將x1和x2還原成原有構(gòu)件類型。

    此時,構(gòu)件A、B、C和連接子X之間的關(guān)系如圖4所示。注意,圖4中某個B的對象只能包含一個X類型數(shù)據(jù),對C來說也是如此。構(gòu)件A對連接子X是依賴關(guān)系。通過構(gòu)件連接子,可以使得構(gòu)件之間建立聯(lián)系,進而將軟件構(gòu)件組裝成復(fù)雜的軟件系統(tǒng),同時各個構(gòu)件又能夠保持各自的獨立性。

    5 應(yīng)用效果

    本方法已經(jīng)在部分型號任務(wù)得到了初步驗證。由于工作量和成本限制,難以將同一型號采用不同的手段開發(fā)4遍。為了能夠?qū)?gòu)件應(yīng)用情況進行分析,本文選取同一產(chǎn)品類型的,包含相同功能項4個的型號任務(wù),且這4個任務(wù)由同一團隊開發(fā),分別記為任務(wù)甲、乙、丙、丁。

    其中任務(wù)甲采用傳統(tǒng)的手工代碼編寫方式實現(xiàn)軟件,任務(wù)乙繼承甲軟件體系結(jié)構(gòu),部分功能采用構(gòu)件化設(shè)計。任務(wù)丙和任務(wù)丁在更大范圍進行了構(gòu)件化設(shè)計和應(yīng)用。本節(jié)對星載軟件構(gòu)件設(shè)計和組裝方法在多個型號研制中的試驗情況進行分析,并對比型號軟件在應(yīng)用構(gòu)件化設(shè)計方法前后的開發(fā)效率和資源消耗情況。相關(guān)數(shù)據(jù)如表1所示。

    表1 星載軟件構(gòu)件應(yīng)用相關(guān)數(shù)據(jù)

    5.1 構(gòu)件化開發(fā)技術(shù)對型號研制效率的影響分析

    圖5 多個型號任務(wù)中構(gòu)件應(yīng)用規(guī)模與開發(fā)效率關(guān)系 Fig.5 Relationship between component utilization and software develop efficiency in Missions

    隨著軟件構(gòu)件化程度的提高,一般來說研制效率會得到提升。本節(jié)將對構(gòu)件技術(shù)相對型號軟件研制帶來的效率提升實際效果進行分析和說明。

    多個型號任務(wù)中構(gòu)件應(yīng)用規(guī)模與開發(fā)效率關(guān)系如圖5所示??梢钥闯?,隨著型號中構(gòu)件復(fù)用程度的上升,型號開發(fā)的效率越來越高。見效最為明顯的是任務(wù)甲到乙。從乙到丁開始,隨著構(gòu)件功能覆蓋度增加,型號開發(fā)效率在仍在不斷提高。根據(jù)第2.2節(jié)中的介紹,型號軟件開發(fā)時,研制人員需要對需求進行細致的分析,從而選擇合適的軟件構(gòu)件,這部分的時間無法省略,因此從乙到丁效率提高趨勢會逐步減緩。

    如果認為以上型號功能大致在同一等級,則顯然,隨著構(gòu)件化技術(shù)的深入應(yīng)用,軟件研制速度得到極大提高。

    5.2 構(gòu)件化開發(fā)技術(shù)對型號代碼量分析

    圖6 復(fù)用構(gòu)件數(shù)量和代碼總行數(shù)趨勢 Fig.6 Relationship between component utilization and code linage

    由于構(gòu)件采用了通用化設(shè)計,有研究者擔(dān)心通用設(shè)計將帶來代碼量的提升,進而提高衛(wèi)星資源(例如PROM)占用度,這里將對實際型號代碼量進行統(tǒng)計和分析。

    具備類似功能的型號應(yīng)用構(gòu)件數(shù)量和代碼總行數(shù)趨勢如圖6所示??梢钥闯?,隨著型號對軟件構(gòu)件復(fù)用個數(shù)的增加,整星綜合電子或數(shù)管應(yīng)用軟件的總代碼行數(shù)不但沒有上升,反而呈下降趨勢,以任務(wù)丙最為明顯。這是因為構(gòu)件代碼經(jīng)過多次復(fù)用,往往代碼結(jié)構(gòu)經(jīng)過了多次優(yōu)化,比較精煉,另外在型號內(nèi)部構(gòu)件可以派生多個實例,以實現(xiàn)相同功能(例如需要若干個遙測虛擬信道,只需要聲明多個遙測虛擬信道構(gòu)件實例即可)。

    6 結(jié)束語

    本文提出了一種基于非面向?qū)ο笳Z言的星載軟件構(gòu)件設(shè)計方法,通過以下手段解決了星載軟件運行環(huán)境和使用要求對軟件構(gòu)件的需求:

    1)本文提出的星載軟件構(gòu)件模型和設(shè)計方法完全基于非面向?qū)ο笳Z言,但是具備主流構(gòu)件封裝性、獨立性、可組裝(連接)等特點。

    2)結(jié)合構(gòu)件主結(jié)構(gòu)體和配置接口,使得構(gòu)件能夠通過聲明主結(jié)構(gòu)體的方式派生構(gòu)件實例,形成構(gòu)件實例運行內(nèi)存,避免了對內(nèi)存的動態(tài)開辟和回收;同時主結(jié)構(gòu)體與實現(xiàn)體的函數(shù)指針調(diào)用方式,可以通過在軌修改函數(shù)指針指向地址,從而輕易實現(xiàn)對構(gòu)件實例的在軌維護。

    3)本文提出的星載軟件構(gòu)件設(shè)計方法,完全基于現(xiàn)有的星載軟件開發(fā)和運行環(huán)境,無需安裝額外的運行環(huán)境。

    根據(jù)本文的方法開發(fā)出了若干星載軟件構(gòu)件,在多個型號任務(wù)中展開了應(yīng)用,并且對應(yīng)用效果進行了統(tǒng)計和分析。通過分析可以看到,本文提出的星載軟件構(gòu)件設(shè)計和實現(xiàn)方法具備以下優(yōu)點:

    1)星載軟件構(gòu)件的可組裝性特點,使得大量的功能通過構(gòu)件組裝的形式實現(xiàn)。用戶在使用時無需知道構(gòu)件的內(nèi)部結(jié)構(gòu),且只需要根據(jù)規(guī)約獲得構(gòu)件信息,大大提高了軟件開發(fā)效率。

    2)星載軟件構(gòu)件的獨立性,保證了構(gòu)件代碼以構(gòu)件為粒度完整的復(fù)用,被復(fù)用的構(gòu)件無需進行構(gòu)件內(nèi)部功能測試,大大提高了代碼可靠性,提高了軟件質(zhì)量。

    [1] 陳志明, 劉海穎, 葉偉松.“天巡一號”微小衛(wèi)星星務(wù)故障管理設(shè)計[J]. 中國空間科學(xué)技術(shù), 2014,34(4): 79-83.

    CHEN ZHIMING, LIU HAIYING, YE WEISONG. Fault management design of NHTX-1 SAT service system[J]. Chinese Space Science and Technology, 2014, 34(4):79-83.

    [2] GUO JIAN,ZHENG XINHUA,ZHANG YAHANG. Produce space software from software factory[C].64thInternational Astronautical Congress,Beijing,2013.

    [3] 郭堅, 葉志玲, 陸嵐. 星載軟件復(fù)用技術(shù)探討[J]. 計算機測量與控制, 2007, 15(4):541-546.

    GUO JIAN, YE ZHILING, LU LAN. Discussion on technology for onboard software reuse[J]. Computer Measurement & Control, 2007, 15(4):541-546.

    [4] 顧斌, 杜建偉, 楊春河. 構(gòu)件技術(shù)在航天器控制軟件開發(fā)中的應(yīng)用研究[C]. 2006中國科協(xié)年會,北京,2006.

    GU BIN, DU JIANWEI, YANG CHUNHE. Research of component in spacecraft control software[C]. 2006 China Science Association Conference,Beijing,2006.

    [5] 何熊文, 孫勇. 一種衛(wèi)星數(shù)管中心計算機軟件的工程實現(xiàn)[J]. 航天器工程, 2007, 16(5):47-53.

    HE XIONGWEN, SUN YONG. Engineering realization of software in central terminal unit of satellite data management system[J]. Spacecraft Engineering,2007, 16(5):47-53.

    [6] HAFEDH MILI,FATMA MILI,ALI MILI.Reusing software: issue and research direction[J].IEEE Transactions on Software Engineering, 1995, 21(6):528-535.

    [7] 黃奉孝, 高艷華, 張學(xué)軍. 基于嵌入式構(gòu)件的編程語言融合技術(shù)研究[J]. 計算機工程與設(shè)計, 2012, 33(11):4138-4141.

    HUANG FENGXIAO, GAO YANHUA, ZHANG XUEJUN. Research on programming language′s syncretic technology based on embedded component[J]. Computer Engineering and Design, 2012, 33(11) : 4138-4141.

    [8] MARION POLL F. Object-oriented approach to fast display of electrophysiological data under MS-WINDOWS[J]. Neurosci Methods, 1995, 63:197-204.

    [9] MICROSOFT. Advanced COM Interop .NET framework developer′s guide[S]. Microsoft Corporation, 2003. http:∥www.msdn.microsoft.com.

    [10] 梅巖, 王力生. 基于構(gòu)件的嵌入式操作系統(tǒng)開發(fā)平臺的設(shè)計[J]. 計算機工程, 2006, 32(11):97-99.

    MEI YAN, WANG LISHENG, Design of component-based embedded operating system development platform[J]. Computer Engineering,2006,32(11):97-99.

    [11] SZYPERSKI C, GRUNTZ D, MURER S. Component software: beyond object-oriented programming[M].2nd ed.Beijing:Publishing House of Electronics Industry,2004.

    [12] AOYAMA M. Component-based software engineering: Can it change the way of software development[C]∥ Proceedings of the International Conference on Software Engineering, 1998(2):111-120.

    [13] BRUCE ECKEL, CHUCK ALLISON. Thinking in C++[M].Beijing:China Machine Press,2004.

    [14] WIRTH N. What can we do about the unnecessary diversity of notation for syntactic definition [J]. Communications of the ACM,1977, 20(11): 822-823.

    張亞航 1985年生,2010年獲北京大學(xué)軟件工程專業(yè)碩士學(xué)位,工程師。研究方向為星載軟件設(shè)計、綜合電子、空間信息安全。

    (編輯:楊嬋)

    Research of On-board Software Components Based on Non-object Oriented Language

    ZHANG Yahang GUO Jian YU Junhui

    (Beijing Institute of Spacecraft System Engineering, Beijing 100094)

    In order to further improve the reusability of the on-board software and to solve the problem of the on-board software inefficient development, the characteristics of the spacecraft software and the software component technology were analyzed.Then a definition of the on-board software component was given, and an on-board software component model suitable for spacecraft was proposed based on the non-object oriented language. The on-board software components are independent, integrate, assemble and functional. Besides, the method for the on-board software component design, develop and implement was described. It can be the guide of the on-board software component development based on the non-object oriented language. Some examples were given, in which the software systems were developed according the proposed method.The results show that spacecraft software component development methods are effective, and the spacecraft software development efficiency can be increased by 200%~500%.

    Develop efficiency;Component model;Non-object oriented language;Reusability;On-board software;Spacecraft

    總裝備部預(yù)先研究(513200702)資助項目

    2014-11-19。收修改稿日期:2015-03-31

    10.3780/j.issn.1000-758X.2015.04.006

    猜你喜歡
    面向?qū)ο?/a>型號代碼
    “三化”在型號研制中的應(yīng)用研究
    型號產(chǎn)品配套管理模式探索與實踐
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    面向?qū)ο蟮挠嬎銠C網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
    電子測試(2018年15期)2018-09-26 06:01:34
    面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
    不同型號CTC/TDCS設(shè)備的互聯(lián)互通
    面向?qū)ο骔eb開發(fā)編程語言的的評估方法
    国产一区二区亚洲精品在线观看| 高清日韩中文字幕在线| 好看av亚洲va欧美ⅴa在| 淫妇啪啪啪对白视频| 国内精品久久久久精免费| 亚洲国产日韩欧美精品在线观看| 成人精品一区二区免费| 99热精品在线国产| 午夜日韩欧美国产| 日日摸夜夜添夜夜添小说| 精品久久久久久久久久免费视频| 成年女人毛片免费观看观看9| 久久久色成人| 一边摸一边抽搐一进一小说| 少妇裸体淫交视频免费看高清| 国产av不卡久久| 三级国产精品欧美在线观看| 亚洲精品日韩av片在线观看| 91麻豆精品激情在线观看国产| 变态另类丝袜制服| 国内毛片毛片毛片毛片毛片| 18禁裸乳无遮挡免费网站照片| 简卡轻食公司| 欧美黄色淫秽网站| 一本精品99久久精品77| 国产色爽女视频免费观看| 日本一本二区三区精品| 国产探花在线观看一区二区| 日本一本二区三区精品| 久久精品国产亚洲av天美| 久久久国产成人精品二区| 亚洲不卡免费看| 老女人水多毛片| 别揉我奶头 嗯啊视频| 91麻豆av在线| 丰满人妻熟妇乱又伦精品不卡| 乱码一卡2卡4卡精品| 亚洲在线观看片| 老女人水多毛片| 18+在线观看网站| 白带黄色成豆腐渣| 搡老熟女国产l中国老女人| 一卡2卡三卡四卡精品乱码亚洲| 白带黄色成豆腐渣| 国产主播在线观看一区二区| 欧美在线一区亚洲| 亚洲天堂国产精品一区在线| 成年女人看的毛片在线观看| 国产成人福利小说| 欧美xxxx性猛交bbbb| 窝窝影院91人妻| 两个人的视频大全免费| 丰满乱子伦码专区| 免费看日本二区| 国产伦在线观看视频一区| 午夜福利在线在线| 免费看美女性在线毛片视频| 国产精品久久电影中文字幕| 亚洲中文字幕日韩| 成年女人永久免费观看视频| 国产成人影院久久av| 亚洲一区高清亚洲精品| 日日摸夜夜添夜夜添小说| 欧美激情国产日韩精品一区| 国产精品98久久久久久宅男小说| 国产精品久久久久久久电影| 午夜免费成人在线视频| 国产精品一及| av视频在线观看入口| 神马国产精品三级电影在线观看| 12—13女人毛片做爰片一| 亚洲国产精品999在线| 一进一出好大好爽视频| 天堂动漫精品| 欧美成人性av电影在线观看| 亚洲狠狠婷婷综合久久图片| 在线观看66精品国产| 国产免费一级a男人的天堂| 国内精品美女久久久久久| 午夜影院日韩av| 黄片小视频在线播放| 亚洲熟妇熟女久久| 亚洲七黄色美女视频| 18禁黄网站禁片午夜丰满| 在线看三级毛片| 欧美另类亚洲清纯唯美| 日本一本二区三区精品| 国产精品不卡视频一区二区 | 色噜噜av男人的天堂激情| 欧美黑人欧美精品刺激| a级毛片免费高清观看在线播放| 中国美女看黄片| 久久精品国产99精品国产亚洲性色| 性欧美人与动物交配| 国产精品一区二区免费欧美| 久久久久国产精品人妻aⅴ院| 两个人视频免费观看高清| 精品人妻视频免费看| 欧美一区二区亚洲| 五月玫瑰六月丁香| 看免费av毛片| 国产精品电影一区二区三区| 成年版毛片免费区| 午夜福利在线在线| 精品人妻视频免费看| 精品久久久久久久久亚洲 | 免费看a级黄色片| 高清日韩中文字幕在线| 有码 亚洲区| 最近最新免费中文字幕在线| 热99re8久久精品国产| 男女那种视频在线观看| 小说图片视频综合网站| 一区二区三区激情视频| 村上凉子中文字幕在线| АⅤ资源中文在线天堂| 日韩高清综合在线| 成年女人毛片免费观看观看9| 又黄又爽又刺激的免费视频.| 伦理电影大哥的女人| 亚洲人成网站高清观看| 少妇高潮的动态图| 日本黄色视频三级网站网址| 午夜福利在线在线| 欧美精品国产亚洲| 欧美zozozo另类| 亚洲人成伊人成综合网2020| 精品人妻一区二区三区麻豆 | 五月伊人婷婷丁香| 国产精品日韩av在线免费观看| 免费人成视频x8x8入口观看| av女优亚洲男人天堂| 国产乱人伦免费视频| 色在线成人网| 国产黄色小视频在线观看| 日韩有码中文字幕| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | av天堂中文字幕网| 深夜a级毛片| 制服丝袜大香蕉在线| 国产精品美女特级片免费视频播放器| 真实男女啪啪啪动态图| 国产精品乱码一区二三区的特点| 久久精品人妻少妇| 国产精品免费一区二区三区在线| 99国产综合亚洲精品| 在线免费观看不下载黄p国产 | 国产精品一区二区免费欧美| 日韩精品中文字幕看吧| 国产男靠女视频免费网站| 变态另类丝袜制服| 中亚洲国语对白在线视频| 色视频www国产| 亚洲一区二区三区不卡视频| 99久久久亚洲精品蜜臀av| 国产精品免费一区二区三区在线| 嫩草影院新地址| 一进一出抽搐动态| av在线老鸭窝| 91狼人影院| 国产精品综合久久久久久久免费| 国产高清激情床上av| 美女xxoo啪啪120秒动态图 | 精品一区二区三区人妻视频| 色吧在线观看| www.www免费av| 中文字幕免费在线视频6| 国产伦在线观看视频一区| 午夜福利在线在线| 亚洲内射少妇av| 亚洲欧美日韩高清专用| 亚洲欧美日韩高清在线视频| 国产一区二区三区视频了| 他把我摸到了高潮在线观看| 两个人视频免费观看高清| 日韩 亚洲 欧美在线| 欧美潮喷喷水| 动漫黄色视频在线观看| 欧美bdsm另类| 天美传媒精品一区二区| 一级黄片播放器| 亚洲三级黄色毛片| 国语自产精品视频在线第100页| 午夜福利18| 欧美一区二区亚洲| 午夜激情欧美在线| 成人一区二区视频在线观看| 国产一级毛片七仙女欲春2| 国产精品一及| 亚洲精品影视一区二区三区av| 国产69精品久久久久777片| 少妇的逼水好多| 亚洲 欧美 日韩 在线 免费| 男女下面进入的视频免费午夜| 有码 亚洲区| aaaaa片日本免费| 国产色婷婷99| av在线蜜桃| 国产精品免费一区二区三区在线| 午夜免费激情av| 精品国内亚洲2022精品成人| 国产毛片a区久久久久| 1000部很黄的大片| 久久中文看片网| 一个人观看的视频www高清免费观看| 国产亚洲欧美98| 9191精品国产免费久久| 免费看a级黄色片| 舔av片在线| 日日干狠狠操夜夜爽| 成人国产综合亚洲| 一级黄色大片毛片| 亚洲自拍偷在线| 美女高潮喷水抽搐中文字幕| 亚洲真实伦在线观看| 亚洲性夜色夜夜综合| x7x7x7水蜜桃| 国产在线男女| 国产精品一区二区性色av| 亚洲国产欧洲综合997久久,| 欧美乱妇无乱码| 天堂网av新在线| 一进一出抽搐gif免费好疼| 欧美精品国产亚洲| www.www免费av| 99热这里只有精品一区| 午夜视频国产福利| 亚洲 国产 在线| 久久午夜福利片| 国产精品不卡视频一区二区 | 亚洲av不卡在线观看| 99久久久亚洲精品蜜臀av| 亚洲国产精品成人综合色| 亚洲av中文字字幕乱码综合| 久久久久久久久久黄片| 欧美极品一区二区三区四区| 午夜影院日韩av| 亚洲欧美日韩高清专用| 欧美区成人在线视频| 超碰av人人做人人爽久久| 欧美一级a爱片免费观看看| 五月伊人婷婷丁香| 欧美丝袜亚洲另类 | 久久精品影院6| 亚洲人成网站在线播| 成人国产一区最新在线观看| 男插女下体视频免费在线播放| 成人永久免费在线观看视频| 噜噜噜噜噜久久久久久91| 老女人水多毛片| av国产免费在线观看| 99精品久久久久人妻精品| 亚洲经典国产精华液单 | 国产白丝娇喘喷水9色精品| 国产亚洲欧美在线一区二区| 怎么达到女性高潮| 国产精品一及| 亚洲第一电影网av| 最近最新免费中文字幕在线| 国产v大片淫在线免费观看| 国产精品综合久久久久久久免费| 毛片女人毛片| 日本成人三级电影网站| 亚洲国产精品成人综合色| 99久久99久久久精品蜜桃| 男女床上黄色一级片免费看| 又爽又黄a免费视频| 久久国产乱子免费精品| 国产日本99.免费观看| 国产午夜福利久久久久久| 亚洲国产精品成人综合色| 国产精品不卡视频一区二区 | 亚洲一区二区三区不卡视频| or卡值多少钱| 麻豆一二三区av精品| 高清日韩中文字幕在线| www.熟女人妻精品国产| 无遮挡黄片免费观看| 好男人在线观看高清免费视频| 波野结衣二区三区在线| 丝袜美腿在线中文| 日韩精品中文字幕看吧| 搡老妇女老女人老熟妇| 国产亚洲精品av在线| 亚洲熟妇熟女久久| 看免费av毛片| 国产欧美日韩精品亚洲av| 日本三级黄在线观看| 亚洲成人精品中文字幕电影| 最新在线观看一区二区三区| 人人妻人人澡欧美一区二区| 在线看三级毛片| 一进一出抽搐gif免费好疼| 最后的刺客免费高清国语| 伊人久久精品亚洲午夜| 欧美性感艳星| 色5月婷婷丁香| 精品久久久久久久久av| 国产精品电影一区二区三区| 亚洲熟妇熟女久久| 日日夜夜操网爽| 亚洲av免费在线观看| 国产精品久久电影中文字幕| 欧美bdsm另类| 亚洲人成网站在线播| 无遮挡黄片免费观看| 中文字幕精品亚洲无线码一区| 我的老师免费观看完整版| 在线观看午夜福利视频| 国产老妇女一区| 免费搜索国产男女视频| 白带黄色成豆腐渣| 男女视频在线观看网站免费| 老熟妇乱子伦视频在线观看| 免费人成视频x8x8入口观看| 免费无遮挡裸体视频| 精品免费久久久久久久清纯| 国产精品乱码一区二三区的特点| 51午夜福利影视在线观看| 欧美高清成人免费视频www| 免费高清视频大片| 精品国内亚洲2022精品成人| 九色成人免费人妻av| 观看免费一级毛片| 欧美黑人欧美精品刺激| 国产大屁股一区二区在线视频| 最新中文字幕久久久久| 成熟少妇高潮喷水视频| 国内揄拍国产精品人妻在线| 99热这里只有精品一区| 婷婷六月久久综合丁香| 久久久久精品国产欧美久久久| 精品久久久久久久久亚洲 | 人妻制服诱惑在线中文字幕| 成人午夜高清在线视频| 成年版毛片免费区| 亚洲五月天丁香| 激情在线观看视频在线高清| 嫩草影院入口| 小说图片视频综合网站| 男人的好看免费观看在线视频| 亚洲av二区三区四区| а√天堂www在线а√下载| 欧美激情国产日韩精品一区| 亚洲七黄色美女视频| 国产免费男女视频| а√天堂www在线а√下载| 亚洲,欧美,日韩| 乱人视频在线观看| 特级一级黄色大片| 女人十人毛片免费观看3o分钟| 久久精品国产亚洲av涩爱 | 全区人妻精品视频| 久久午夜亚洲精品久久| 欧美日韩黄片免| 亚洲欧美清纯卡通| 国产免费一级a男人的天堂| 久久九九热精品免费| 午夜福利在线观看免费完整高清在 | 男人狂女人下面高潮的视频| 日韩欧美精品v在线| 99久久精品国产亚洲精品| av天堂在线播放| 日本撒尿小便嘘嘘汇集6| 国内少妇人妻偷人精品xxx网站| 国产淫片久久久久久久久 | 一区二区三区免费毛片| 成人特级黄色片久久久久久久| 俺也久久电影网| 一区二区三区激情视频| 最后的刺客免费高清国语| 欧美乱色亚洲激情| 国产黄a三级三级三级人| 如何舔出高潮| 欧美一区二区精品小视频在线| 99国产精品一区二区蜜桃av| 国产在视频线在精品| 亚洲成人久久性| 久久亚洲真实| 天堂影院成人在线观看| 午夜福利视频1000在线观看| 99热精品在线国产| av中文乱码字幕在线| 亚洲精华国产精华精| 免费av观看视频| 色吧在线观看| 特大巨黑吊av在线直播| 久久久久亚洲av毛片大全| 18禁裸乳无遮挡免费网站照片| 日韩国内少妇激情av| 午夜福利免费观看在线| 夜夜躁狠狠躁天天躁| 搡女人真爽免费视频火全软件 | 日日摸夜夜添夜夜添av毛片 | 亚洲av日韩精品久久久久久密| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 最近视频中文字幕2019在线8| 高潮久久久久久久久久久不卡| 99久久精品热视频| 中文字幕免费在线视频6| 五月伊人婷婷丁香| 久久久国产成人精品二区| 国产三级中文精品| 美女cb高潮喷水在线观看| 看十八女毛片水多多多| 99国产综合亚洲精品| 午夜精品一区二区三区免费看| 草草在线视频免费看| 国产69精品久久久久777片| 不卡一级毛片| 免费搜索国产男女视频| 日日夜夜操网爽| 高清日韩中文字幕在线| 性欧美人与动物交配| 好男人电影高清在线观看| 天天躁日日操中文字幕| 免费看光身美女| 国产国拍精品亚洲av在线观看| 亚洲精品乱码久久久v下载方式| 村上凉子中文字幕在线| 国产真实乱freesex| 亚洲精品一卡2卡三卡4卡5卡| 亚洲av一区综合| 国产精品野战在线观看| 国产精品免费一区二区三区在线| 国产aⅴ精品一区二区三区波| 91av网一区二区| 欧洲精品卡2卡3卡4卡5卡区| www.色视频.com| 亚洲av成人精品一区久久| 有码 亚洲区| 国产亚洲精品av在线| а√天堂www在线а√下载| 亚洲经典国产精华液单 | 91午夜精品亚洲一区二区三区 | 免费看光身美女| 夜夜爽天天搞| 亚洲精品在线美女| 99热6这里只有精品| 国产真实伦视频高清在线观看 | 国产精品1区2区在线观看.| 高清毛片免费观看视频网站| 欧美日韩黄片免| 午夜激情福利司机影院| 少妇被粗大猛烈的视频| 又黄又爽又刺激的免费视频.| 色哟哟·www| 亚洲一区二区三区不卡视频| 69av精品久久久久久| 国产老妇女一区| 国产真实乱freesex| 亚洲真实伦在线观看| 欧美日韩亚洲国产一区二区在线观看| 免费一级毛片在线播放高清视频| 国产精品爽爽va在线观看网站| 亚洲va日本ⅴa欧美va伊人久久| 亚洲精华国产精华精| 日本黄大片高清| bbb黄色大片| 搡老岳熟女国产| 色尼玛亚洲综合影院| 免费高清视频大片| 国产成+人综合+亚洲专区| 欧美最黄视频在线播放免费| 国内毛片毛片毛片毛片毛片| 三级男女做爰猛烈吃奶摸视频| 亚洲最大成人手机在线| 1000部很黄的大片| 久久精品国产99精品国产亚洲性色| 久久婷婷人人爽人人干人人爱| 高潮久久久久久久久久久不卡| 中文字幕熟女人妻在线| 亚洲经典国产精华液单 | 国产av在哪里看| 91麻豆av在线| 欧美黑人欧美精品刺激| 日日摸夜夜添夜夜添av毛片 | 亚洲第一电影网av| 国产一区二区在线av高清观看| 内射极品少妇av片p| 18美女黄网站色大片免费观看| 两个人的视频大全免费| 久久草成人影院| 免费电影在线观看免费观看| 99久久99久久久精品蜜桃| 免费人成视频x8x8入口观看| 亚洲成人久久性| 久久久国产成人精品二区| 国产欧美日韩一区二区三| 丁香六月欧美| 日韩av在线大香蕉| 一进一出抽搐gif免费好疼| 国产成人欧美在线观看| 美女黄网站色视频| 日韩欧美在线乱码| 亚洲五月天丁香| 国内少妇人妻偷人精品xxx网站| 国产v大片淫在线免费观看| 丰满人妻一区二区三区视频av| 亚洲中文日韩欧美视频| 欧美成人a在线观看| 两个人的视频大全免费| 91麻豆av在线| 长腿黑丝高跟| 少妇熟女aⅴ在线视频| 久久九九热精品免费| 国产三级在线视频| 老女人水多毛片| 亚洲狠狠婷婷综合久久图片| 三级男女做爰猛烈吃奶摸视频| 可以在线观看的亚洲视频| 日韩中字成人| 成人一区二区视频在线观看| 亚洲av熟女| 午夜福利在线观看免费完整高清在 | 欧美区成人在线视频| 少妇人妻精品综合一区二区 | 欧美黄色淫秽网站| 97超视频在线观看视频| 成人永久免费在线观看视频| 久久性视频一级片| 深夜a级毛片| 国产成人a区在线观看| 欧美性感艳星| 欧美三级亚洲精品| 性欧美人与动物交配| 99热只有精品国产| 欧美绝顶高潮抽搐喷水| 国产精品嫩草影院av在线观看 | 美女黄网站色视频| 国产成+人综合+亚洲专区| 高清毛片免费观看视频网站| 日本与韩国留学比较| 国产aⅴ精品一区二区三区波| 听说在线观看完整版免费高清| 国产精品亚洲一级av第二区| 老司机午夜十八禁免费视频| 宅男免费午夜| 久久久久久久久久成人| 国产精品嫩草影院av在线观看 | 国内精品久久久久精免费| 亚洲,欧美精品.| 别揉我奶头 嗯啊视频| 国产高清视频在线播放一区| 天天躁日日操中文字幕| 亚洲av二区三区四区| 亚洲中文字幕日韩| 91在线精品国自产拍蜜月| 国产探花极品一区二区| 我要搜黄色片| 国产午夜精品论理片| 成年女人永久免费观看视频| 欧美日本视频| 日本免费a在线| 一个人看视频在线观看www免费| 91在线精品国自产拍蜜月| 国内精品一区二区在线观看| 欧美黑人巨大hd| 亚洲成人免费电影在线观看| 可以在线观看的亚洲视频| 久久这里只有精品中国| 国产精品不卡视频一区二区 | av福利片在线观看| 色视频www国产| 欧美黑人欧美精品刺激| 国产毛片a区久久久久| 狂野欧美白嫩少妇大欣赏| 精品一区二区免费观看| 国产伦一二天堂av在线观看| 亚洲最大成人手机在线| 少妇丰满av| 真人做人爱边吃奶动态| 欧美成人一区二区免费高清观看| 欧美日本亚洲视频在线播放| 国产色婷婷99| 老鸭窝网址在线观看| 午夜福利在线在线| 亚洲在线自拍视频| 欧美在线一区亚洲| 国产精品影院久久| 最近最新中文字幕大全电影3| 欧美日韩乱码在线| ponron亚洲| 中文字幕人妻熟人妻熟丝袜美| 美女xxoo啪啪120秒动态图 | 中出人妻视频一区二区| 成年女人永久免费观看视频| 在线观看免费视频日本深夜| 桃色一区二区三区在线观看| 亚洲自偷自拍三级| 伦理电影大哥的女人| 免费在线观看亚洲国产| 宅男免费午夜| 欧美激情久久久久久爽电影| bbb黄色大片| 日韩欧美三级三区| 欧美不卡视频在线免费观看| 国产日本99.免费观看| 亚洲熟妇中文字幕五十中出| 国语自产精品视频在线第100页| 成年免费大片在线观看| 国产黄a三级三级三级人| 日本成人三级电影网站| 老司机午夜福利在线观看视频| 国产精品日韩av在线免费观看| 日韩中文字幕欧美一区二区| 老司机福利观看| 最近视频中文字幕2019在线8| 国产精品一区二区性色av| 亚洲第一电影网av| 国产黄色小视频在线观看| 精品人妻偷拍中文字幕| 久久人妻av系列| 免费搜索国产男女视频| 色在线成人网|