freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ttcn3編譯技術(shù)研究與實(shí)現(xiàn)碩士畢業(yè)論文-在線(xiàn)瀏覽

2024-08-08 09:52本頁(yè)面
  

【正文】 研究IPv6網(wǎng)絡(luò)協(xié)議測(cè)試技術(shù)的意義隨著Internet的飛速發(fā)展,原有的IPv4[1]協(xié)議集逐漸顯露出其IP地址匱乏、存在網(wǎng)絡(luò)安全漏洞、不能適應(yīng)面向流的應(yīng)用數(shù)據(jù)傳輸?shù)娜秉c(diǎn)。IPv6的出現(xiàn)使網(wǎng)絡(luò)層內(nèi)部的相關(guān)協(xié)議及網(wǎng)絡(luò)層以上的協(xié)議,如與路徑信息交換和網(wǎng)絡(luò)管理相關(guān)的傳送層協(xié)議等也需要做相應(yīng)的適應(yīng)性改造。網(wǎng)絡(luò)設(shè)計(jì)與運(yùn)行實(shí)踐表明,由于多方面原因,即使是同一協(xié)議或協(xié)議集的實(shí)現(xiàn)并不一定完全符合相關(guān)的協(xié)議,也不一定能夠正確地交換信息,因此需要對(duì)協(xié)議進(jìn)行是否符合相關(guān)標(biāo)準(zhǔn)的測(cè)試(Conformance Test)。為此,從上世紀(jì)80年代初期,國(guó)際上就開(kāi)展了對(duì)網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)進(jìn)行測(cè)試的技術(shù)研究。我國(guó)網(wǎng)絡(luò)建設(shè)的發(fā)展需要大量的網(wǎng)絡(luò)產(chǎn)品,特別是路由器和交換機(jī)產(chǎn)品,而過(guò)去由于我國(guó)自身缺少檢測(cè)手段,對(duì)外國(guó)產(chǎn)品只能全盤(pán)接受。因此,研究相關(guān)測(cè)試技術(shù)、獨(dú)立開(kāi)發(fā)我國(guó)的網(wǎng)絡(luò)產(chǎn)品測(cè)試系統(tǒng)和建立我國(guó)的網(wǎng)絡(luò)產(chǎn)品測(cè)試中心,就具有十分重要的意義。為了實(shí)現(xiàn)從IPv4向IPv6網(wǎng)絡(luò)的過(guò)渡,路由器對(duì)IPv6的支持大體上采用兩種模式:一種是IPv6 over IPv4的模式,另一種是無(wú)IPv4的獨(dú)立IPv6模式。這種模式的優(yōu)點(diǎn)是IPv6網(wǎng)絡(luò)的實(shí)現(xiàn)可以依托現(xiàn)有的IPv4網(wǎng)絡(luò)進(jìn)行,其典型代表是IETF的“6 bone Project” [4]。因此,對(duì)IPv6路由器的測(cè)試也基于上述兩種模式進(jìn)行,即基于IPv4平臺(tái)的包裝測(cè)試(Encapsulation Test)和直接在IPv6平臺(tái)上進(jìn)行測(cè)試。后者是由我國(guó)學(xué)者在英國(guó)工作期間提出來(lái),經(jīng)英國(guó)ISO對(duì)口工作組建議,被ISO接納為測(cè)試網(wǎng)絡(luò)中繼系統(tǒng)的標(biāo)準(zhǔn)測(cè)試法之一[7]。國(guó)內(nèi)對(duì)路由器的測(cè)試工作近年才進(jìn)行,包括清華大學(xué)[8]、中科大IPv6小組[9]、北京郵電大學(xué)的IPv6研究小組[10]、中山大學(xué)IPv6學(xué)生實(shí)驗(yàn)網(wǎng)[11]、蘭州大學(xué)IPv6實(shí)驗(yàn)床[12]等,多數(shù)采用基于IPv4的“包裝”測(cè)試。LTM實(shí)現(xiàn)簡(jiǎn)單,但一次只能測(cè)試到單個(gè)端口的相關(guān)協(xié)議實(shí)現(xiàn),因此測(cè)試能力不強(qiáng)。該測(cè)試法要求兩個(gè)測(cè)試器各自觀察一個(gè)路由器端口,因此從測(cè)試器1發(fā)出的測(cè)試控制數(shù)據(jù)經(jīng)被測(cè)路由器轉(zhuǎn)發(fā)到另一端口,再到達(dá)測(cè)試器2。由于在同一測(cè)試過(guò)程中涉及被測(cè)路由器的兩個(gè)端口,因而能夠測(cè)試模擬路由器一對(duì)端口工作狀態(tài)和外部行為的情況??紤]到路由器的端口數(shù)通常大于2,采用TTM僅能夠?qū)σ粚?duì)端口進(jìn)行受控測(cè)試;而采用多個(gè)雙端口測(cè)試器對(duì)路由器分別進(jìn)行測(cè)試,現(xiàn)有的測(cè)試技術(shù)中尚缺少:① 多個(gè)測(cè)試器間的協(xié)調(diào)與同步機(jī)制。② 現(xiàn)有的測(cè)試控制數(shù)據(jù)描述語(yǔ)言TTCN3不具備描述測(cè)試并行性,特別是并發(fā)特征的能力。被測(cè)路由器被測(cè)路由器中繼中繼測(cè)試器2測(cè)試器1測(cè)試器2圖11 回繞測(cè)試法示意圖說(shuō)明:測(cè)試器1和測(cè)試器2在物理上可以設(shè)計(jì)在一個(gè)系統(tǒng)之中。實(shí)驗(yàn)室首先提出了多端口同步并行穿越測(cè)試法 (MSPTTM – Multiport Synchronized Parallel – Transverse Test Method)并定義了并發(fā)多端口測(cè)試定義語(yǔ)言(CMPTDL Concurrent MultiPort Test Definition Language) [1315]。由于相關(guān)的測(cè)試系統(tǒng)具有完整的并行測(cè)試和并發(fā)測(cè)試的同步與協(xié)調(diào)機(jī)制,因而能夠?qū)崿F(xiàn)對(duì)路由器的多個(gè)端口的輸入數(shù)據(jù)的并發(fā)特征的模擬和各類(lèi)數(shù)據(jù)到達(dá)率的模擬,從而使多端口并發(fā)測(cè)試系統(tǒng)能夠完整地模擬多端口路由器的實(shí)際工作的外部環(huán)境。CMPTDL的核心功能是描述端口對(duì)的并行測(cè)試進(jìn)程間的任務(wù)指派、協(xié)調(diào)和同步,相關(guān)的單對(duì)端口的測(cè)試控制數(shù)據(jù)將借用增強(qiáng)后的TTCN3來(lái)描述。responsesCoordination mands amp。 responsesTest Data amp。 responsesTest Data amp。CMPTS具有如圖13左邊所示的兩級(jí)結(jié)構(gòu),上級(jí)為并發(fā)多端口測(cè)試管理器(CMPTM –Concurrent MultiPort Test Manager)處理并行測(cè)試同步與協(xié)調(diào)問(wèn)題;下級(jí)多個(gè)TPT分別處理一對(duì)端口的測(cè)試問(wèn)題。CMPTM 與TPT之間通過(guò)局域網(wǎng)進(jìn)行通信。經(jīng)過(guò)查新,至今尚未見(jiàn)國(guó)內(nèi)、外有類(lèi)似的研究工作報(bào)道。CMPTS是測(cè)試過(guò)程控制器,由CMPTM控制可執(zhí)行測(cè)試控制數(shù)據(jù)(MTET Multiple Testthread Executable Test)的多線(xiàn)程運(yùn)行來(lái)實(shí)現(xiàn)并行測(cè)試過(guò)程的同步與協(xié)調(diào)。測(cè)試支撐工具的任務(wù)是將用某種語(yǔ)言描述的抽象測(cè)試數(shù)據(jù)(Abstract Tests)轉(zhuǎn)變?yōu)榭蓤?zhí)行的測(cè)試數(shù)據(jù)(Executable Tests)。其中CMPTDL編譯的結(jié)果包括與并行測(cè)試相關(guān)部分的C代碼和TTCN3測(cè)試數(shù)據(jù)兩部分,本文不涉及CMPTDL編譯程序,筆者的工作是關(guān)于TTCN3/C編譯程序的設(shè)計(jì)與實(shí)現(xiàn)。TTCN是ISO定義的“樹(shù)表結(jié)合的標(biāo)記語(yǔ)言”,它是用樹(shù)表結(jié)構(gòu)來(lái)描述測(cè)試集和測(cè)試?yán)陌胄问交Z(yǔ)言。這一轉(zhuǎn)換過(guò)程通??捎蓛深?lèi)程序來(lái)完成:TTCN3編譯器(Compiler)和TTCN3解釋器(Interpreter)。解釋方式的優(yōu)點(diǎn)是:因?yàn)槊看螠y(cè)試都要重新掃描和解釋用TTCN3描述的測(cè)試控制數(shù)據(jù),因此修改和調(diào)試測(cè)試控制數(shù)據(jù)較為方便。 筆者及其同事在分析了現(xiàn)代高速路由器的測(cè)試需要的基礎(chǔ)上,在存儲(chǔ)空間的占用量和“可執(zhí)行代碼”修改的方便性,與測(cè)試實(shí)時(shí)性要求的矛盾中,選擇了“縮短聯(lián)機(jī)處理時(shí)間”優(yōu)先的策略,采用對(duì)TTCN3描述的測(cè)試控制數(shù)據(jù)進(jìn)行編譯的技術(shù)路線(xiàn)。在完成本論文相關(guān)的研究與開(kāi)發(fā)工作中,筆者的工作涉及以下幾個(gè)方面:1) 研究TTCN3核心語(yǔ)言,掌握其語(yǔ)法和語(yǔ)義規(guī)則。2) 研究編譯原理和技術(shù),結(jié)合TTCN3的特點(diǎn),與王文娟同學(xué)一道完成了TTCN3/C編譯程序的總體設(shè)計(jì)。4) 研究語(yǔ)法分析技術(shù),以王文娟同學(xué)為主,利用YACC工具共同實(shí)現(xiàn)了語(yǔ)法分析器。本論文研究工作的主要特點(diǎn)在于:1) 在國(guó)內(nèi)外對(duì)TTCN/TTCN3描述的抽象測(cè)試集(ATS – Abstract Test Suite)大多采用解釋方式執(zhí)行的情況下,本論文探索性地采用編譯方式來(lái)執(zhí)行,更加適應(yīng)對(duì)高速路由設(shè)備進(jìn)行測(cè)試,特別是并發(fā)和性能測(cè)試的需要。3) 在國(guó)內(nèi)首次探索關(guān)于TTCN3語(yǔ)言的編譯技術(shù)。TTCN3在第一版TTCN的基礎(chǔ)上增加了許多新的功能和特點(diǎn)[21],因此該編譯器的設(shè)計(jì)與開(kāi)發(fā)仍有較大的價(jià)值。第3章討論TTCN3/C編譯程序的詞法、語(yǔ)法和語(yǔ)義分析技術(shù),以及相關(guān)程序的設(shè)計(jì)。第4章詳細(xì)討論了代碼生成的設(shè)計(jì),重點(diǎn)在于其基本思路和各類(lèi)語(yǔ)法結(jié)構(gòu)的實(shí)現(xiàn)。最后,第6章在對(duì)論文工作進(jìn)行總結(jié)的基礎(chǔ)上,對(duì)后續(xù)研究工作進(jìn)行了分析和展望。TTCN以其友好的表格形式、判決系統(tǒng)和一致性匹配機(jī)制逐漸成為了協(xié)議一致性測(cè)試的規(guī)范語(yǔ)言,并廣泛應(yīng)用于各大標(biāo)準(zhǔn)化組織和工業(yè)領(lǐng)域。由于TTCN2仍然是基于OSI(Open Systems Interconnection)一致性測(cè)試設(shè)計(jì)開(kāi)發(fā),因而不能應(yīng)用于其它類(lèi)型的測(cè)試,如互操作性測(cè)試、健壯性測(cè)試、回歸測(cè)試、系統(tǒng)測(cè)試和集成測(cè)試等,和更廣泛的技術(shù)領(lǐng)域。最初的TTCN3標(biāo)準(zhǔn)分3個(gè)部分:核心語(yǔ)言(Core Language)[16]、類(lèi)似于TTCN的表格表示形式(Tabular Presentation Format,TFT)[25]、基于MSC(Message Sequence Chart)的圖形化表示形式(Graphical Presentation Format,GFT)[26]。TTCN3使用靈活、功能強(qiáng)大,能通過(guò)各種通信接口應(yīng)用于不同的測(cè)試系統(tǒng),它在TTCN2的基礎(chǔ)上增加了許多新的功能[21],比如:① 不同的表示形式。③ 同步和異步通信操作。⑤ 數(shù)據(jù)和簽名模板具有功能強(qiáng)大的匹配機(jī)制。⑦ 測(cè)試判決的制定和處理。⑨ (如IDL[30]、UML[31])的聯(lián)合使用。一些研究機(jī)構(gòu)把用TTCN描述的測(cè)試集轉(zhuǎn)換為各自的測(cè)試描述語(yǔ)言的形式, 再轉(zhuǎn)換為可執(zhí)行測(cè)試集。TDL通過(guò)編譯而ITL則采用解釋的形式來(lái)執(zhí)行測(cè)試集。比如國(guó)際上有的研究機(jī)構(gòu)曾對(duì)TTCN的直接解釋執(zhí)行做了嘗試 [33,34];國(guó)內(nèi)對(duì)TTCN的支撐工具開(kāi)發(fā)得比較成功和完善的是中科院成都計(jì)算機(jī)應(yīng)用研究所在開(kāi)發(fā)OSI第4類(lèi)傳送層協(xié)議測(cè)試系統(tǒng)時(shí)所開(kāi)發(fā)的TTCN編譯器 [20]。例如testing_tech[18]公司開(kāi)發(fā)出的 TTthree系列工具,實(shí)現(xiàn)了對(duì)TTCN-3到C語(yǔ)言的編譯以及TTCN3到JAVA語(yǔ)言的編譯;OpenTTCN Oy[35]公司開(kāi)發(fā)的 OpenTTCN 測(cè)試儀工具中的 TTCN-3編譯器;國(guó)內(nèi)的TTCN3支撐工具的開(kāi)發(fā)多為T(mén)TCN3解釋器[33]。第一個(gè)步驟是將TTCN3描述的測(cè)試控制數(shù)據(jù)編譯成某種程序設(shè)計(jì)語(yǔ)言的表達(dá)形式,第二步再利用該程序設(shè)計(jì)語(yǔ)言的編譯程序編譯成可執(zhí)行測(cè)試數(shù)據(jù)。首先,它可以利用現(xiàn)有的程序設(shè)計(jì)語(yǔ)言的編譯程序?qū)崿F(xiàn)向機(jī)器代碼的轉(zhuǎn)換功能,因而不必與機(jī)器代碼打交道,將研究的重點(diǎn)放在TTCN3和高級(jí)語(yǔ)言的轉(zhuǎn)換上。最后,由于大眾化的程序設(shè)計(jì)語(yǔ)言都具有較好的可移植性,因此TTCN3編譯程序和編譯中間代碼都便于在多種平臺(tái)之間移植。TTCN3測(cè)試?yán)?jīng)過(guò)編譯生成完整的C程序文件,再用通用的C編譯器及相關(guān)鏈接、裝載工具,生成最終可執(zhí)行的程序。從IPv6路由器測(cè)試的需要和開(kāi)發(fā)周期上的考慮,我們界定第一版的TTCN3/C編譯程序只支持TTCN3功能的一個(gè)子集。對(duì)于錯(cuò)誤處理,在詞法和語(yǔ)法分析階段,我們簡(jiǎn)單地報(bào)告出錯(cuò)地點(diǎn),然后停止編譯。 TTCN3/C編譯程序的階段編譯器[3638]是將一種語(yǔ)言翻譯為另一種語(yǔ)言的計(jì)算機(jī)程序。編譯程序的工作一般可以分為五個(gè)主要階段:詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼產(chǎn)生、目標(biāo)代碼生成[36]。編譯程序中一般還應(yīng)包括“表格管理”和“出錯(cuò)處理”兩部分內(nèi)容。根據(jù)需要,編譯程序還可能包括對(duì)生成的代碼進(jìn)行優(yōu)化的過(guò)程。圖21為典型編譯程序的編譯階段和功能劃分示意圖[36]。具體實(shí)現(xiàn)時(shí),考慮到源語(yǔ)言的差異、設(shè)計(jì)要求以及實(shí)際處理的方便性和合理性等因素,往往很難一次完成全部的編譯工作,而需要從頭到尾對(duì)源程序或源程序的中間結(jié)果進(jìn)行多次掃描,每一次掃描僅完成部分加工處理,并生成中間結(jié)果或目標(biāo)程序。編譯器掃描遍數(shù)的確定主要是在時(shí)間和空間效率上進(jìn)行權(quán)衡[37],此外也涉及算法復(fù)雜度的問(wèn)題,因此在一遍掃描過(guò)程中,可能會(huì)處理圖21中的多個(gè)階段功能。如圖22所示,第一遍掃描讀入TTCN3源程序,并對(duì)其進(jìn)行詞法分析、語(yǔ)法分析和語(yǔ)義分析,其輸出為語(yǔ)法樹(shù)和符號(hào)表。筆者的研究重點(diǎn)是第二遍掃描,即C代碼生成方面的工作。這個(gè)階段的主要任務(wù)是從左到右逐個(gè)字符地讀入TTCN3源程序,產(chǎn)生單詞符號(hào)序列,以提交給語(yǔ)法分析使用 [38]。編譯技術(shù)發(fā)展到現(xiàn)在,詞法分析已經(jīng)非常成熟,并有了很多通用的工具,因?yàn)樵~法分析通常與編譯程序的源語(yǔ)言和目標(biāo)語(yǔ)言無(wú)關(guān)。 用LEX構(gòu)造詞法分析器最具代表性的詞法分析器生成工具是LEX[3942]系列,本編譯器采用其中的FLEX[42]版本。經(jīng)過(guò)LEX工具的編譯,將該LEX語(yǔ)言的程序轉(zhuǎn)換為一個(gè)C宿主語(yǔ)言的程序yylex。FLEX的通用性、可靠性和以C為宿主語(yǔ)言等特點(diǎn)是我們選擇的主要原因。它們決定了TTCN3的詞法構(gòu)成,并區(qū)分了換行符和其它的空白字符;轉(zhuǎn)換規(guī)則部分定義了單詞識(shí)別的即時(shí)處理,通常是返回一個(gè)代表該類(lèi)單詞的ID值,包括TTCN3的136個(gè)保留字和24類(lèi)終結(jié)符;輔助過(guò)程部分定義了一些輔助的C程序段,供詞法分析器或編譯程序調(diào)用。這些單詞符號(hào)可以被分為各種類(lèi)型,如保留字、名字、數(shù)值、元字符等。例如,讀入以下一小段TTCN3程序:module Architecture { import from DataTypes recursive all。 } }}詞法分析器的打印輸出為:1: reserved word: module1: ID, name= Architecture1: {2: reserved word: import2: reserved word: from2: ID, name= DataTypes2: reserved word: recursive2: reserved word: all2: 。11: }12: }13: }14: EOF以上輸出信息包括單詞符號(hào)在源程序中的行位置、單詞符號(hào)的類(lèi)型、單詞符號(hào)的屬性等三部分。詞法分析的輔助任務(wù)之一是使編譯器能將發(fā)現(xiàn)的錯(cuò)誤信息與源程序的出錯(cuò)位置聯(lián)系起來(lái),在本編譯器中詞法分析就要負(fù)責(zé)記錄遇到的換行符的個(gè)數(shù),以便將行號(hào)與出錯(cuò)信息聯(lián)系起來(lái)。 語(yǔ)法分析 語(yǔ)法分析簡(jiǎn)介語(yǔ)法分析是編譯過(guò)程的第二個(gè)階段,是編譯程序的核心部分。語(yǔ)法分析技術(shù)同樣非常成熟,有很多通用的工具。 用YACC工具構(gòu)造語(yǔ)法分析器最具代表性的語(yǔ)法分析器生成工具是YACC[4349]系列,本編譯器采用其中的BISON[48,49]版本。經(jīng)過(guò)YACC工具的編譯,將該YACC語(yǔ)言的程序轉(zhuǎn)換為一個(gè)C宿主語(yǔ)言的程序yyparse。YACC同樣以C語(yǔ)言為宿主語(yǔ)言。依據(jù)TTCN3的BNF來(lái)編寫(xiě)YACC需要的語(yǔ)法規(guī)則是語(yǔ)法分析實(shí)現(xiàn)的主要工作。LEX和YACC的關(guān)系[38]如圖33所示。其中某些沖突問(wèn)題致使語(yǔ)法分析器不能正確地分析TTCN3語(yǔ)法。 沖突問(wèn)題簡(jiǎn)介YACC的沖突有兩類(lèi):移進(jìn)/規(guī)約沖突和規(guī)約/規(guī)約沖突[50,51]。例如,下面語(yǔ)法中存在一個(gè)移進(jìn)/規(guī)約沖突:e : ‘X’ | e + e。采用規(guī)約選項(xiàng),使得語(yǔ)法分析程序使用第一個(gè)分析;而采用移進(jìn)選項(xiàng)則使用第二個(gè)。例如:prog : proga | progb 。progb : ‘X’ 。除非另有說(shuō)明,否則YACC將按下面的兩條規(guī)則來(lái)處理語(yǔ)法分析中遇到的沖突 [50,51]: 移進(jìn)/規(guī)約沖突的解決是移進(jìn)優(yōu)先。但是用這兩種默認(rèn)的方法,YACC生成的語(yǔ)法分析器并不能完全正確地分析TTCN3的語(yǔ)法現(xiàn)象。1) 合并同一規(guī)則語(yǔ)句中連續(xù)的兩個(gè)或多個(gè)有相同的可移進(jìn)字符的可選項(xiàng)。經(jīng)測(cè)試,該沖突致使語(yǔ)法分析器無(wú)法識(shí)別ELSE語(yǔ)句。optElseIf
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1