專利名稱:一種移動(dòng)無(wú)線網(wǎng)絡(luò)消息的解碼、調(diào)試、顯示裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是應(yīng)用于移動(dòng)無(wú)線網(wǎng)絡(luò)路測(cè)產(chǎn)品中的實(shí)體語(yǔ)法標(biāo)記語(yǔ)言CSN.l描述的 信令消息的解碼、調(diào)試、顯示裝置及其方法。
背景技術(shù):
移動(dòng)無(wú)線網(wǎng)絡(luò)路測(cè)系統(tǒng)是利用測(cè)試軟件、測(cè)試手機(jī)、掃頻儀、電子地圖、GPS及測(cè) 試車輛等工具對(duì)移動(dòng)無(wú)線網(wǎng)絡(luò)進(jìn)行規(guī)劃和優(yōu)化的系統(tǒng)。主要滿足網(wǎng)絡(luò)的小區(qū)站址選擇、 網(wǎng)絡(luò)日常優(yōu)化、射頻質(zhì)量評(píng)估等需要。在網(wǎng)絡(luò)的規(guī)劃和優(yōu)化中,測(cè)試手機(jī)將上報(bào)大量的信令消息,對(duì)網(wǎng)絡(luò)進(jìn)行規(guī)劃和優(yōu)化 的前提是對(duì)這些消息碼流進(jìn)行正確的解碼。這些消息以不同的語(yǔ)法格式所描述,其中 GSM L3消息都是采用實(shí)體語(yǔ)法標(biāo)記語(yǔ)言CSN.l (Concrete Syntax Notation 1)描述的, 這種語(yǔ)言是九十年代末由3GPP所引入的,它是用于描述邏輯比特流的含義的,比特流 是由比特位組成的流,每個(gè)比特位可以取值0或1, CSN.1定義了比特流的傳輸?shù)恼Z(yǔ)法, 但不描述其語(yǔ)義。在實(shí)際的傳輸中,采用的都是面向字節(jié)流的方式。字節(jié)流中的每個(gè)字節(jié)都由8個(gè)比 特組成,在計(jì)算機(jī)中一個(gè)字節(jié)被存儲(chǔ)為一個(gè)8位的無(wú)符號(hào)整數(shù),字節(jié)流通常被存儲(chǔ)為這 種8位無(wú)符號(hào)整數(shù)的數(shù)組,而CSN.1描述的基本單位是比特,其語(yǔ)法類似于高級(jí)程序設(shè) 計(jì)語(yǔ)言,通常是按多個(gè)連續(xù)比特組成的比特串來(lái)描述一個(gè)信息,而一個(gè)比特串可能從一 個(gè)字節(jié)的任意一個(gè)比特位開(kāi)始,也可能跨越多個(gè)字節(jié)的邊界,而且CSN.l描述的比特流 可以有任意的長(zhǎng)度,也不必正好是8的整數(shù)倍,這種描述和實(shí)際存儲(chǔ)之間的不一致,較 大影響了路測(cè)軟件中的GSM L3消息解碼模塊的開(kāi)發(fā)效率和質(zhì)量。CSN.l語(yǔ)法結(jié)構(gòu)本身也是比較復(fù)雜的,這將給解碼人員帶來(lái)理解上的困難,所以必 需將其基本語(yǔ)法在實(shí)際編解碼中的具體應(yīng)用方式做一定的歸納總結(jié)才能減少歧義確保解碼的有效性和正確性。基于以上分析,本發(fā)明分析總結(jié)了 3GPPTS 44.018和3GPPTS 44.060協(xié)議中所有以 CSN.1描述的消息,結(jié)合CSN.l基本語(yǔ)法規(guī)則對(duì)消息中的各種比特串進(jìn)行了分類,并在 此基礎(chǔ)上開(kāi)發(fā)出一種專用于CSN.1描述的消息的解碼、調(diào)試、顯示裝置及其方法。發(fā)明內(nèi)容本發(fā)明提供了一種移動(dòng)無(wú)線網(wǎng)絡(luò)消息的解碼、調(diào)試、顯示裝置及其方法,該裝置包 括解碼模塊201,提供一系列消息解碼模塊,解碼后的消息被保存到對(duì)應(yīng)的消息結(jié)構(gòu) 203中;顯示模塊204,將消息結(jié)構(gòu)格式化為含有消息語(yǔ)義的顯示字符串供界面顯示;調(diào) 試模塊202,為解碼模塊構(gòu)造測(cè)試碼流、輸出調(diào)試信息;解碼模塊201進(jìn)一步包括獲取 整型比特串模塊205,從消息字節(jié)流中獲取指定長(zhǎng)度的比特串將其轉(zhuǎn)換為無(wú)符號(hào)整型值; 獲取比特序列模塊206,從消息字節(jié)流中獲取指定長(zhǎng)度的比特串并將之保存為變長(zhǎng)的比特 數(shù)組;判斷填充比特模塊207,判斷消息字節(jié)流中當(dāng)前比特是L還是H,并將其比特值 轉(zhuǎn)為無(wú)符號(hào)整型值0/l;后移模塊208,從消息字節(jié)流當(dāng)前比特位后移指定的比特個(gè)數(shù);跳轉(zhuǎn)到指定比特位置模塊209和獲得當(dāng)前比特位置模塊210在消息字節(jié)流中任意設(shè)置和 獲取當(dāng)前的比特位置;比特位置轉(zhuǎn)字節(jié)位置模塊211和字節(jié)位置轉(zhuǎn)比特位置模塊212執(zhí) 行字節(jié)位置和比特位置的相互轉(zhuǎn)換;調(diào)試模塊202進(jìn)一步包括測(cè)試碼流編輯界面213, 為用戶提供了一個(gè)圖形化的碼流構(gòu)造、編輯界面,并將其轉(zhuǎn)換為字節(jié)數(shù)組進(jìn)行消息解碼、 顯示測(cè)試;解碼調(diào)試信息輸出模塊214,如果在獲取整型比特串模塊205、獲取比特序列 模塊206、判斷填充比特模塊207、后移模塊208之后緊接調(diào)用該模塊,則輸出調(diào)試診斷 信息;格式化消息字段輸出模塊215,內(nèi)嵌在格式化消息數(shù)據(jù)字段模塊216中,把格式化 的字段輸出到調(diào)試窗口進(jìn)行診斷;顯示模塊204進(jìn)一步包括格式化消息數(shù)據(jù)字段模塊 216,對(duì)消息結(jié)構(gòu)中的每一個(gè)字段調(diào)用該模塊,將消息字段附加協(xié)議特定的語(yǔ)義信息,并 控制其縮進(jìn)格式;獲取格式化后的消息顯示字符串模塊217,在消息內(nèi)各字段格式化后調(diào)用,獲取整條消息包含消息語(yǔ)義和值的顯示字符串。本發(fā)明有效地屏蔽了消息的邏輯描述與實(shí)際存儲(chǔ)之間的不一致性,提高了解碼工作 的效率和正確性。
圖1是根據(jù)本發(fā)明的路測(cè)系統(tǒng)結(jié)構(gòu)圖; 圖2是CSN.1消息解碼、調(diào)試、顯示裝置的結(jié)構(gòu)圖; 圖3是利用圖2所示的解碼、調(diào)試、顯示裝置進(jìn)行消息解碼的流程圖; 圖4是利用圖2所示的解碼、調(diào)試、顯示裝置進(jìn)行調(diào)試的流程圖; 圖5是利用圖2所示的解碼、調(diào)試、顯示裝置進(jìn)行顯示的流程圖。
具體實(shí)施方式
為了本發(fā)明的描述方便,這里首先簡(jiǎn)要描述一下實(shí)體語(yǔ)法標(biāo)記語(yǔ)言CSN.l的核心術(shù)語(yǔ)1、 比特串。比特串是由比特組成的規(guī)則序列,每個(gè)比特可以取0或1中的一個(gè)值, 符號(hào)"bit"表示l比特長(zhǎng)的串。2、 空串。空串是長(zhǎng)度為0的比特串。用符號(hào)"null"表示。3、 串聯(lián)。串聯(lián)用于表達(dá)長(zhǎng)度大于l比特的串。它的表示方式是簡(jiǎn)單地將符號(hào)0或1 放在其他0、 l符號(hào)的后面,中間可以包含空串。4、 選擇。選擇用于表達(dá)可替換的概念。符號(hào)"I"或"or"表示選擇的概念。串聯(lián) 的優(yōu)先級(jí)高于選擇。改變優(yōu)先級(jí)要使用花括號(hào)"{}"。5、 命名。CSN.l的定義能夠被命名,名字用一對(duì)尖括號(hào)"<>"限定。6、 定義。使用符號(hào)將CSN.l的描述串與一個(gè)命名相聯(lián)系。 一個(gè)命名被定義 了之后就可以在其他定義中引用。如果在同一個(gè)定義中引用了自己,這就形成的遞歸定 義,遞歸是CSN.l表達(dá)循環(huán)的一種方式。7、 備用比特串。備用比特是那些通常出現(xiàn)在比特串末尾沒(méi)有被使用的比特,它可以 留在以后作為擴(kuò)展。8、 填充比特。CSN.1可以L或H來(lái)代替0或1 ,CSN.l定義了一個(gè)8比特串00101011 (0x2B)用來(lái)作為填充使用,把一個(gè)比特流的某一位與由這個(gè)固定填充串按字節(jié)對(duì)齊無(wú)限 重復(fù)而形成的比特流的同一位置的比特值相比較,如果取值相同就是L,取值不同就是H。9、 標(biāo)簽??梢允褂脴?biāo)簽為一個(gè)比特串分配一個(gè)名字。它的形式為 <標(biāo)簽串聯(lián)比 特串或引用其他定義>。10、 指數(shù)。用來(lái)表示循環(huán)。它允許按固定次數(shù)重復(fù)一個(gè)比特串,表示為比特串(算術(shù)表達(dá)式)或比特串*算術(shù)表達(dá)式。如果使用(*)或**則表示無(wú)限循環(huán)。本發(fā)明在分析了 3GPPTS 44.018和3GPPTS 44.060協(xié)議中所有以CSN.l描述的消息 的結(jié)構(gòu)之后,結(jié)合語(yǔ)法對(duì)CSN.l描述的比特串進(jìn)行了如下的總結(jié)分類1、消息數(shù)據(jù)字段。這種類型的比特串通常被描述為〈標(biāo)簽:bit(算術(shù)表達(dá)式p的形式, 它對(duì)應(yīng)于消息中的一個(gè)數(shù)據(jù)字段,有其語(yǔ)義上的特殊含義,其語(yǔ)義解釋通常在協(xié)議的其 他地方有詳細(xì)的描述。這種消息數(shù)據(jù)字段根據(jù)其語(yǔ)義可以分為三種類型 一種是將整個(gè)比特串作為一個(gè)無(wú)符號(hào)的整數(shù)值對(duì)待,在后續(xù)的分析處理及顯示中都作為一個(gè)數(shù)存在,這時(shí)該比特串的長(zhǎng)度不會(huì)超過(guò)32位。另一種是將其就視為一個(gè)比特序列,其中的每一比特位都有自己的特殊含義,在后續(xù)的分析處理及顯示中會(huì)逐位處理,這時(shí)該比特串的長(zhǎng) 度沒(méi)有限制,而且在協(xié)議中有時(shí)被描述為定長(zhǎng)有時(shí)是直到具體解碼時(shí)才能確定的變長(zhǎng)(通 常為變長(zhǎng));還有一種是長(zhǎng)度僅僅只有1位,取值為L(zhǎng)或H的比特串,該位的取值是L 還是H代表了不同的語(yǔ)義。除了數(shù)據(jù)字段,其他的比特串都不屬于消息本身,在解碼完 成后都不被保存,只有數(shù)據(jù)字段將會(huì)在解碼時(shí)保存到特定的消息結(jié)構(gòu)中,以供后續(xù)的分 析處理及顯示。2、 備用比特串。這種類型的比特串通常用于一個(gè)更大的比特串的末尾,它通常用預(yù) 定義的符號(hào)〈spare padding>、 <implicit spare>、 <spare bi^或〈padding bits〉表示。這禾中比 特串有時(shí)是定長(zhǎng)的,但大多數(shù)時(shí)候都是變長(zhǎng)的,其長(zhǎng)度需要具體解碼時(shí)通過(guò)用包含它的 更大的比特串的長(zhǎng)度減去大比特串內(nèi)其他子串的長(zhǎng)度來(lái)得到。這種比特串需要跳過(guò),它 沒(méi)有任何實(shí)際含義。3、 控制比特串。這種類型的比特串可以作為CSN.l的邏輯流程控制條件,CSN.l 與高級(jí)程序設(shè)計(jì)語(yǔ)言一樣存在兩種邏輯流程控制 一種就是分支選擇;另一種就是循環(huán)、 遞歸。用于這種目的的比特串有兩種表示形式 一種是串聯(lián)的O、 l組成的常量比特串, 如"0"、 "1"、 "1011"這樣的固定比特串;另一種是填充比特L或H。用于分支選擇條件的控制比特串會(huì)出現(xiàn)在選擇操作符的前面或后面,用于循環(huán)控制的控制比特串將會(huì)出 現(xiàn)在循環(huán)或遞歸描述的前面或后面作為循環(huán)開(kāi)始和結(jié)束的條件。還有一種控制比特串是 作為前導(dǎo)同步串的,它位于另一個(gè)比特串前面,標(biāo)識(shí)特定的比特串的開(kāi)始,前導(dǎo)串通常 是一個(gè)常量比特串。4、 空比特串。這種類型的比特串通常用符號(hào)"null"或〈nostring〉,這種情況不需要 處理。本發(fā)明針對(duì)上述的比特串分類在本發(fā)明裝置的解碼模塊中提供了一系列的模塊,向 使用者屏蔽了底層低級(jí)的位操作,使使用者能將精力集中在協(xié)議的語(yǔ)法層面。1、 針對(duì)被視為無(wú)符號(hào)整型數(shù)的比特串,本發(fā)明裝置的解碼模塊提供了一個(gè)獲取整型 比特串的模塊205,該模塊接收一個(gè)小于32的正整數(shù)作為長(zhǎng)度參數(shù),從消息字節(jié)流的當(dāng) 前比特位置開(kāi)始向后連續(xù)提取由長(zhǎng)度參數(shù)所指定個(gè)數(shù)的比特位,將獲取到的比特串轉(zhuǎn)換 為一個(gè)無(wú)符號(hào)整數(shù)返回給使用者,同時(shí)當(dāng)前比特位置移動(dòng)到下一個(gè)比特串的開(kāi)始位置。 該模塊可用于提取被視為整數(shù)的消息數(shù)據(jù)字段比特串,也可以用于提取用于控制目的的 常量比特串。2、 針對(duì)被視為比特序列的比特串,本發(fā)明裝置的解碼模塊提供了一個(gè)獲取比特序列的模塊206,該模塊接收一個(gè)大小不受限制的正整數(shù)作為長(zhǎng)度參數(shù),從消息字節(jié)流的當(dāng)前 比特位置開(kāi)始向后連續(xù)提取由長(zhǎng)度參數(shù)所指定個(gè)數(shù)的比特位,考慮到后續(xù)對(duì)該比特串的 處理將是逐位進(jìn)行,而且比特串的長(zhǎng)度通常是在真正解碼時(shí)才能確定,所以該模塊會(huì)將 取得的比特串保存為變長(zhǎng)比特?cái)?shù)組的形式,即使用標(biāo)準(zhǔn)0++類型庫(kù)的嵌套容器 vector〈bitsetO〉來(lái)實(shí)現(xiàn),然后將該變長(zhǎng)比特?cái)?shù)組返回給使用者,同時(shí)當(dāng)前比特位置移動(dòng) 到下一個(gè)比特串的開(kāi)始位置。該模塊可用于提取被視為比特序列的消息數(shù)據(jù)字段比特串。3、 針對(duì)填充比特L/H,本發(fā)明裝置的解碼模塊提供了一個(gè)判斷填充比特模塊207, 該模塊不接受任何參數(shù),它會(huì)判斷消息字節(jié)流的當(dāng)前比特值是L還是H,并且返回該比 特值給用戶,同時(shí)將當(dāng)前比特位置向后移動(dòng)一位到下一個(gè)比特串的開(kāi)始位置。該模塊可 用于控制比特串和數(shù)據(jù)字段比特串中的填充比特的判斷和提取。4、 針對(duì)備用比特串,本發(fā)明裝置的解碼模塊提供了一個(gè)后移模塊208,該模塊接收 一個(gè)大小不受限制的正整數(shù)作為長(zhǎng)度參數(shù),從消息字節(jié)流的當(dāng)前比特位置開(kāi)始連續(xù)向后 移動(dòng)由長(zhǎng)度參數(shù)所指定個(gè)數(shù)的比特位,該模塊不返回任何值給使用者。5、 在具體解碼過(guò)程中有時(shí)需要定位到某一特定比特位置,或從某一位置向前回退、 向后跳轉(zhuǎn),因此本發(fā)明裝置的解碼模塊內(nèi)還提供了一對(duì)位置模塊, 一個(gè)是用于獲取當(dāng)前 比特位置的模塊210,它返回給使用者當(dāng)前比特距離消息字節(jié)流的開(kāi)始位置的比特串長(zhǎng) 度;另一個(gè)是用于設(shè)置當(dāng)前比特位置的模塊209,它接收一個(gè)表示比特位置的正整數(shù)作為 參數(shù),將字節(jié)流的當(dāng)前比特位置設(shè)置到參數(shù)指定的位置。6、 本發(fā)明裝置的解碼模塊內(nèi)還提供了一對(duì)位置轉(zhuǎn)換模塊, 一個(gè)是將比特位置轉(zhuǎn)換為 字節(jié)位置的模塊211;另一個(gè)是將字節(jié)位置轉(zhuǎn)換為比特位置的模塊212。這兩個(gè)模塊將為 一個(gè)消息由多個(gè)解碼人員合作解碼提供便利。7、 本發(fā)明裝置的解碼模塊內(nèi)部自行維護(hù)一個(gè)指示當(dāng)前比特位置的游標(biāo),無(wú)需使用者 干預(yù)。為了便于消息解碼的調(diào)試,本發(fā)明裝置結(jié)合解碼模塊也提供了一個(gè)調(diào)試模塊,這個(gè) 調(diào)試模塊分為兩部分, 一部分用于輸出調(diào)試信息;另一部分用于構(gòu)造測(cè)試碼流。為了在調(diào)試時(shí)向調(diào)試窗口或文件輸出調(diào)試信息,調(diào)試模塊提供了一個(gè)解碼調(diào)試信息 輸出模塊214,該模塊接收一個(gè)格式化字符串和一個(gè)可變參數(shù)(類似于C語(yǔ)言中的printf 函數(shù)的參數(shù))作為比特串的語(yǔ)義信息,根據(jù)所調(diào)用的解碼模塊的不同輸出不同的調(diào)試信 息1、如果在獲取整型比特串模塊之后調(diào)用該模塊214,則將輸出該比特串的語(yǔ)義信息、在比特流中的開(kāi)始位置、在字節(jié)流中的起始字節(jié)和字節(jié)內(nèi)偏移位置、比特串長(zhǎng)度、 二進(jìn)制值、十進(jìn)制值。2、 如果在獲取比特序列模塊之后調(diào)用該模塊214,則將輸出該比特串的語(yǔ)義信息、 在比特流中的開(kāi)始位置、在字節(jié)流中的起始字節(jié)和字節(jié)內(nèi)偏移位置、比特串長(zhǎng)度、二進(jìn) 制值。3、 如果在判斷填充比特模塊之后調(diào)用該模塊214,則將輸出該填充比特的語(yǔ)義信 息、在比特流中的開(kāi)始位置、在字節(jié)流中的起始字節(jié)和字節(jié)內(nèi)偏移位置、填充比特的值、 是L還是H、對(duì)應(yīng)于填充字節(jié)的第幾比特位、填充字節(jié)的二進(jìn)制值。4、 如果在后移模塊之后調(diào)用該模塊214,貝鵬輸出該比特串的語(yǔ)義信息、在比特流 中的開(kāi)始位置、在字節(jié)流中的起始字節(jié)和字節(jié)內(nèi)偏移位置、比特串長(zhǎng)度、二進(jìn)制值。調(diào)試模塊還提供了一個(gè)格式化消息字段輸出模塊,它嵌入到格式化消息數(shù)據(jù)字段模 塊內(nèi)部,在格式化消息數(shù)據(jù)字段時(shí)可以向調(diào)試窗口輸出格式化的結(jié)果字符串。本發(fā)明的裝置使用一個(gè)宏開(kāi)關(guān)來(lái)控制是否進(jìn)行調(diào)試信息的輸出,這里的調(diào)試信息包括 了獲取整型比特串模塊、獲取比特序列模塊、判斷填充比特模塊、后移模塊這些解碼模 塊的調(diào)試信息以及顯示模塊中的格式化消息數(shù)據(jù)字段的結(jié)果字符串。為了方便構(gòu)造測(cè)試碼流,并且能使解碼的測(cè)試過(guò)程能做到條件覆蓋和分支覆蓋的測(cè) 試要求,調(diào)試模塊提供了一個(gè)窗口化的圖形界面,即測(cè)試碼流編輯界面213,供使用者輸 入、修改碼流。該界面具有如下功能1、 接收二進(jìn)制或十六進(jìn)制的字符串輸入,將輸入的字符串轉(zhuǎn)換為8比特邊界對(duì)齊的 無(wú)符號(hào)整型字節(jié)數(shù)組,以該數(shù)組作為輸入調(diào)用消息解碼、測(cè)試和顯示模塊。2、 執(zhí)行十六進(jìn)制與二進(jìn)制字符串之間的相互轉(zhuǎn)換。3、 提供比特串的定位功能。4、 提供比特串的編輯功能。5、 提供比特串的替換功能。6、 提供比特串的插入功能。這個(gè)圖形化用戶界面將和調(diào)試模塊中的其它模塊配合使用,即依據(jù)調(diào)試信息的輸出 來(lái)調(diào)整二進(jìn)制碼流字符串,以達(dá)到測(cè)試中的條件覆蓋和分支覆蓋的目的。在路測(cè)軟件中消息解碼后還需要將消息的每個(gè)數(shù)據(jù)字段附加上特定的語(yǔ)義信息進(jìn)行 格式化顯示,并且消息將按照其數(shù)據(jù)字段的包含關(guān)系進(jìn)行階梯形縮進(jìn)顯示,因此本發(fā)明 裝置還提供了一個(gè)顯示模塊,該模塊包括格式化消息數(shù)據(jù)字段模塊216,對(duì)于消息的每一個(gè)數(shù)據(jù)字段都調(diào)用模塊216來(lái)為數(shù)據(jù)字段值附加特定的語(yǔ)義信息和縮進(jìn)格式,模塊216 接收一個(gè)縮進(jìn)等級(jí)作為輸入來(lái)控制縮進(jìn)格式,每一等級(jí)都比上一等級(jí)縮進(jìn)一個(gè)預(yù)先定義 的空格數(shù),同時(shí)還接收一個(gè)的格式化字符串作為語(yǔ)義和一個(gè)可變參數(shù)作為字段值(類似 于C語(yǔ)言中的printf函數(shù)的參數(shù)),并將消息字段的值和語(yǔ)義以及縮進(jìn)格式組合在一起為每個(gè)消息字段生成一個(gè)向最終用戶顯示的字符串,最后可以調(diào)用獲取格式化后的消息顯 示字符串模塊來(lái)得到整個(gè)消息各字段的語(yǔ)義與值的格式化字符串用于圖形用戶界面106顯示。以下結(jié)合附圖對(duì)本發(fā)明利用CSN.l解碼、調(diào)試、顯示裝置及其方法進(jìn)行消息解碼詳 細(xì)說(shuō)明。圖l是本發(fā)明涉及的路測(cè)系統(tǒng)結(jié)構(gòu)圖。該系統(tǒng)包括測(cè)試手機(jī)IOI、接口模塊102、消 息解析模塊103、消息分析模塊104、視圖、數(shù)據(jù)處理模塊105、圖形用戶界面106、 a 接口 107、 b接口 108、 c接口 109、 d接口 110、 e接口 111、 f接口 112和g接口 113。測(cè)試手機(jī)IOI,通過(guò)a接口 107上報(bào)信令消息,接口模塊102對(duì)收到信令消息進(jìn)行分 類解包,將消息內(nèi)容通過(guò)b接口 108上報(bào)給消息解析模塊103,該模塊會(huì)解析消息的字節(jié) 流,將消息的數(shù)據(jù)字段值保存到對(duì)應(yīng)的消息結(jié)構(gòu)中,本發(fā)明裝置的解碼模塊201和調(diào)試 模塊202是消息解析模塊103的核心子模塊,是解析模塊的引擎,在實(shí)際使用中無(wú)論消 息是否以實(shí)體語(yǔ)法標(biāo)記語(yǔ)言CSN.l描述都使用本發(fā)明的解碼模塊對(duì)消息的字節(jié)流進(jìn)行解 析,使用調(diào)試模塊對(duì)消息解析進(jìn)行調(diào)試。消息經(jīng)過(guò)解析后,通過(guò)c接口 109把保存了消 息字段值的消息結(jié)構(gòu)交給消息分析模塊104進(jìn)行分析、匯總統(tǒng)計(jì),分析結(jié)果及原消息結(jié) 構(gòu)將通過(guò)d接口 IIO交給視圖、數(shù)據(jù)處理模塊105進(jìn)行多種視圖的創(chuàng)建和進(jìn)一步分析處 理,然后將處理結(jié)果通過(guò)e接口 111交給用戶界面106顯示,本發(fā)明裝置提供的顯示模 塊204和調(diào)試模塊202組成了用戶界面模塊106的消息顯示子模塊,顯示模塊完成消息顯 示內(nèi)容的構(gòu)造,調(diào)試模塊對(duì)消息顯示過(guò)程進(jìn)行調(diào)試。在視圖、數(shù)據(jù)處理模塊中用戶可以主 動(dòng)發(fā)起各種手機(jī)業(yè)務(wù),各種手機(jī)命令將通過(guò)f接口 112下發(fā)給接口模塊,接口模塊再通 過(guò)g接口發(fā)送命令給測(cè)試手機(jī)令其執(zhí)行各種業(yè)務(wù),手機(jī)持續(xù)上報(bào)信令消息。圖2是根據(jù)本發(fā)明的用于實(shí)體語(yǔ)法標(biāo)記語(yǔ)言CSN.1描述的消息的解碼、調(diào)試、顯示 裝置的結(jié)構(gòu)圖。解碼模塊201包含一系列消息解碼模塊,解碼后的消息被保存到對(duì)應(yīng)的 消息結(jié)構(gòu)203中,顯示模塊204將消息結(jié)構(gòu)格式化為含有消息語(yǔ)義的顯示字符串供圖形 用戶界面106顯示,調(diào)試模塊202為解碼模塊和顯示模塊構(gòu)造測(cè)試碼流、輸出調(diào)試信息。 獲取整型比特串模塊205從消息字節(jié)流中獲取指定長(zhǎng)度的比特串將其轉(zhuǎn)換為無(wú)符號(hào)整型值,獲取比特序列模塊206從消息字節(jié)流中獲取指定長(zhǎng)度的比特串并將之保存為變長(zhǎng)的 比特?cái)?shù)組,判斷填充比特模塊207判斷消息字節(jié)流中當(dāng)前比特是L還是H,并將其比特 值轉(zhuǎn)為無(wú)符號(hào)整型值0/1,后移模塊208從消息字節(jié)流當(dāng)前比特位后移指定的比特個(gè)數(shù), 如果在以上四個(gè)模塊之后緊接調(diào)用解碼調(diào)試信息輸出模塊214,則輸出調(diào)試診斷信息。跳 轉(zhuǎn)到指定比特位置模塊209和獲得當(dāng)前比特位置模塊210在消息字節(jié)流中任意設(shè)置和獲 取當(dāng)前的比特位置,比特位置轉(zhuǎn)字節(jié)位置模塊211和字節(jié)位置轉(zhuǎn)比特位置模塊212執(zhí)行 字節(jié)位置和比特位置的相互轉(zhuǎn)換,對(duì)消息結(jié)構(gòu)中的每一個(gè)字段調(diào)用格式化消息數(shù)據(jù)字段 模塊216將消息字段值附加協(xié)議特定的語(yǔ)義信息,并加上縮進(jìn)格式控制,同時(shí)它還內(nèi)嵌 了調(diào)試模塊中的格式化消息字段輸出模塊215,可以把格式化的字段結(jié)果輸出到調(diào)試窗口 進(jìn)行診斷,獲取格式化后的消息顯示字符串模塊217在消息內(nèi)各字段格式化后調(diào)用,可 以獲取整條消息包含字段語(yǔ)義和值的顯示字符串,測(cè)試碼流編輯界面213為用戶提供了 一個(gè)圖形化的碼流構(gòu)造、編輯界面,并將其轉(zhuǎn)換為字節(jié)數(shù)組進(jìn)行消息解碼、顯示測(cè)試。圖3是利用本發(fā)明的裝置進(jìn)行消息解碼的流程圖。步驟301輸入一條消息完整的或 部份的字節(jié)數(shù)組,步驟302綜合使用比特位置與字節(jié)位置相互轉(zhuǎn)換模塊和跳轉(zhuǎn)到指定比 特位置模塊將當(dāng)前位置游標(biāo)定位到解碼開(kāi)始的比特位置。步驟303根據(jù)協(xié)議判斷當(dāng)前待 解的比特串的類型,如果是消息數(shù)據(jù)字段類型的比特串,就執(zhí)行步驟304根據(jù)消息字段 的語(yǔ)義描述判斷該字段值是否被視為無(wú)符號(hào)整數(shù),如果是就執(zhí)行步驟305調(diào)用獲取整型 比特串模塊,并根據(jù)協(xié)議傳入比特串長(zhǎng)度作為參數(shù),步驟306將得到的字段值保存到對(duì) 應(yīng)的消息結(jié)構(gòu)中。如果字段值不是無(wú)符號(hào)整數(shù),則執(zhí)行步驟307根據(jù)消息字段的語(yǔ)義判 斷該字段是否將被視為比特序列,如果是則執(zhí)行步驟308調(diào)用比特序列獲取模塊,并根 據(jù)協(xié)議傳入比特串長(zhǎng)度作為參數(shù),步驟309將步驟308返回的變長(zhǎng)比特?cái)?shù)組填入消息結(jié) 構(gòu)相應(yīng)的字段中。如果在步驟307中判斷出該字段是需要做L/H判斷的填充比特,則執(zhí) 行步驟310調(diào)用判斷填充比特模塊,將判斷結(jié)果經(jīng)步驟311填入消息結(jié)構(gòu)。步驟312根 據(jù)協(xié)議判斷當(dāng)前比特串是否是備用比特串,如果是就執(zhí)行步驟313計(jì)算備用比特串的長(zhǎng) 度,有時(shí)這類比特串的長(zhǎng)度在協(xié)議中已經(jīng)標(biāo)明為一個(gè)固定值,更多時(shí)候協(xié)議并不明確指 定它的長(zhǎng)度,這時(shí)釆用如下方式計(jì)算其長(zhǎng)度備用比特串總出現(xiàn)在某個(gè)消息字段的末尾, 在開(kāi)始解碼包含它的較大字段時(shí)調(diào)用獲取當(dāng)前比特位置模塊預(yù)先記下較大字段的開(kāi)始位 置,在解碼完較大字段內(nèi)的其他子字段后再次調(diào)用獲取當(dāng)前比特位置模塊記下字段結(jié)束 位置,用這個(gè)結(jié)束位置減去開(kāi)始位置得到大字段內(nèi)其他子字段的總長(zhǎng)度,再用大字段的 長(zhǎng)度減去它就得到備用比特串的長(zhǎng)度。步驟314調(diào)用后移模塊,向后移動(dòng)指定的比特位數(shù)。步驟315判斷當(dāng)前比特串是否是控制比特串,如果是就執(zhí)行步驟316判斷是否是填 充比特,如果是填充比特,則執(zhí)行步驟317調(diào)用判斷填充比特模塊。如果是常量比特串, 則執(zhí)行步驟318調(diào)用獲取整型比特串模塊,接著執(zhí)行步驟319來(lái)判斷是否是分支選擇比 特串,如果是則將獲取的比特串的值(L/H判斷結(jié)果或整數(shù)常量)作為if else語(yǔ)句或switch case語(yǔ)句的判斷條件,否則執(zhí)行步驟320判斷是否是循環(huán)控制比特串,如果是則將獲取 的比特串的值作為for循環(huán)或while循環(huán)語(yǔ)句的循環(huán)條件,否則該比特串是前導(dǎo)比特串, 執(zhí)行步驟323判斷前導(dǎo)比特串的值是否是協(xié)議規(guī)定的值,如果不是就直接轉(zhuǎn)到步驟327 解碼異常結(jié)束。在步驟305、 308、 310、 314、 317、 318之后都可以緊接步驟324,傳入 比特串的消息語(yǔ)義調(diào)用解碼調(diào)試信息輸出模塊,該模塊將向調(diào)試窗口或文件輸出解碼調(diào) 試信息,根據(jù)比特串類型的不同調(diào)試信息的輸出格式會(huì)不同。步驟325判斷后續(xù)是否還 有比特串,如果有則轉(zhuǎn)步驟303繼續(xù)處理,如果沒(méi)有就轉(zhuǎn)步驟326結(jié)束該消息的解碼。圖4是利用本發(fā)明裝置進(jìn)行調(diào)試的流程圖。步驟401解讀一個(gè)比特串的描述,步驟402 查看已經(jīng)輸出的調(diào)試信息,根據(jù)前一比特串的開(kāi)始位置和長(zhǎng)度確定當(dāng)前比特串在比特流 中的起始位置,在測(cè)試碼流編輯界面使用定位功能定位該位置。步驟403判斷該比特串是 否是消息的數(shù)據(jù)字段,如果是則執(zhí)行步驟404輸入滿足協(xié)議要求的比特字符串,如果不是 則執(zhí)行步驟405判斷該比特串是否為分支選擇控制字段,如果是則執(zhí)行步驟406査看已輸 出的調(diào)試信息確定已經(jīng)測(cè)試過(guò)哪些條件分支,從未測(cè)試的條件分支中選擇一條,根據(jù)協(xié) 議構(gòu)造滿足該選擇分支的條件控制比特串。如果不是條件控制比特串則執(zhí)行步驟407判斷 是否是循環(huán)控制比特串,如果是則執(zhí)行步驟408根據(jù)已經(jīng)輸出的調(diào)試信息和協(xié)議構(gòu)造循環(huán) 次數(shù)的控制條件比特串,重點(diǎn)應(yīng)該關(guān)注循環(huán)的邊界值的條件測(cè)試。如果比特串也不是循 環(huán)控制串,則執(zhí)行步驟409判斷是否是前導(dǎo)比特串,如果是,就執(zhí)行步驟410根據(jù)協(xié)議構(gòu) 造前導(dǎo)比特串。如果是備用比特串,步驟411構(gòu)造滿足協(xié)議長(zhǎng)度的任意內(nèi)容的比特字符串。 在構(gòu)造好比特字符串后,步驟412根據(jù)已經(jīng)輸出的調(diào)試信息確定當(dāng)前構(gòu)造的比特字符串是 新增到比特流中的,還是原比特流中已經(jīng)存在與該比特串起相同作用的串(即想對(duì)原比 特流做修改),如果是新增則步驟413使用界面的插入功能將新構(gòu)造的比特串插入到比特 流的指定位置,如果是要替換舊串則步驟414使用界面的替換功能,結(jié)合已經(jīng)輸出的調(diào)試 信息指定要替換的舊串的起止位置或開(kāi)始位置和長(zhǎng)度,用新串替換舊串。接著步驟415調(diào) 用測(cè)試碼流編輯界面的測(cè)試功能,將比特字符串轉(zhuǎn)換為二進(jìn)制字節(jié)流作為輸入進(jìn)行解碼 測(cè)試,步驟416會(huì)輸出當(dāng)前比特流的解碼測(cè)試的各種調(diào)試信息,根據(jù)這一輸出結(jié)果可以接 著構(gòu)造下一比特串或修改舊的比特串。這樣使構(gòu)造比特流和輸出解碼調(diào)試信息反復(fù)迭代進(jìn)行,就可以增量式的逐步構(gòu)造出一條消息的完整測(cè)試碼流,并且可以覆蓋所有條件分 支和各種測(cè)試用例。圖5是利用本發(fā)明裝置進(jìn)行顯示的流程圖。步驟501輸入一個(gè)消息字段值,步驟502根 據(jù)協(xié)議構(gòu)造該消息字段的語(yǔ)義描述字符串,步驟503根據(jù)字段間的包含關(guān)系確定該消息字 段的縮進(jìn)等級(jí),步驟504調(diào)用顯示模塊中的格式化消息數(shù)據(jù)字段模塊,以縮進(jìn)等級(jí)為縮進(jìn) 控制參數(shù),以語(yǔ)義字符串為格式化字符串,以字段值為格式化字符串的可變參數(shù)值(類 似于C語(yǔ)言中的printf函數(shù)參數(shù)),步驟505判斷是否還有其他需要格式化顯示的字段,如 果有再轉(zhuǎn)到步驟501處理,如果沒(méi)有就執(zhí)行步驟506調(diào)用獲取格式化后的消息顯示字符串 模塊來(lái)得到整條消息的格式化顯示字符串,該字符串包含了消息中每個(gè)字段的語(yǔ)義和值 以及縮進(jìn)格式,將直接在圖形用戶界面106進(jìn)行消息顯示。以上結(jié)合實(shí)例對(duì)本發(fā)明作了說(shuō)明,應(yīng)指出,本領(lǐng)域技術(shù)人員可以做出各種形式的和 細(xì)節(jié)上的改變,而不偏離由所附權(quán)利要求所確定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種移動(dòng)無(wú)線網(wǎng)絡(luò)消息的解碼、調(diào)試、顯示裝置,其特征在于包括解碼模塊(201),包含一系列消息解碼模塊,解碼后的消息被保存到對(duì)應(yīng)的消息結(jié)構(gòu)(203)中;顯示模塊(204),將消息結(jié)構(gòu)格式化為含有消息語(yǔ)義的顯示字符串供圖形用戶界面(106)顯示;調(diào)試模塊(202),為解碼模塊和顯示模塊構(gòu)造測(cè)試碼流、輸出調(diào)試信息;解碼模塊(201)進(jìn)一步包括獲取整型比特串模塊(205),從消息字節(jié)流中獲取指定長(zhǎng)度的比特串將其轉(zhuǎn)換為無(wú)符號(hào)整型值;獲取比特序列模塊(206),從消息字節(jié)流中獲取指定長(zhǎng)度的比特串并將之保存為變長(zhǎng)的比特?cái)?shù)組;判斷填充比特模塊(207),判斷消息字節(jié)流中當(dāng)前比特是L還是H,并將其比特值轉(zhuǎn)為無(wú)符號(hào)整型值0/1;后移模塊(208),從消息字節(jié)流當(dāng)前比特位后移指定的比特個(gè)數(shù);跳轉(zhuǎn)到指定比特位置模塊(209)和獲得當(dāng)前比特位置模塊(210)在消息字節(jié)流中任意設(shè)置和獲取當(dāng)前的比特位置;比特位置轉(zhuǎn)字節(jié)位置模塊(211)和字節(jié)位置轉(zhuǎn)比特位置模塊(212)執(zhí)行字節(jié)位置和比特位置的相互轉(zhuǎn)換;調(diào)試模塊(202)進(jìn)一步包括測(cè)試碼流編輯界面(213),為用戶提供了一個(gè)圖形化的碼流構(gòu)造、編輯界面,并將其轉(zhuǎn)換為字節(jié)數(shù)組進(jìn)行消息解碼、顯示測(cè)試;解碼調(diào)試信息輸出模塊(214),如果在獲取整型比特串模塊(205)、獲取比特序列模塊(206)、判斷填充比特模塊(207)、后移模塊(208)之后緊接調(diào)用該模塊,則輸出調(diào)試診斷信息;格式化消息字段輸出模塊(215),內(nèi)嵌在格式化消息數(shù)據(jù)字段模塊(216)中,把格式化的消息字段輸出到調(diào)試窗口進(jìn)行診斷;顯示模塊(204)進(jìn)一步包括格式化消息數(shù)據(jù)字段模塊(216),對(duì)消息結(jié)構(gòu)中的每一個(gè)字段調(diào)用該模塊,將消息字段附加協(xié)議特定的語(yǔ)義信息,并且可以控制其縮進(jìn)格式;獲取格式化后的消息顯示字符串模塊(217),在消息內(nèi)各字段格式化后調(diào)用,獲取整條消息包含消息語(yǔ)義和值的顯示字符串。
2. —種利用權(quán)利要求l所述的裝置進(jìn)行消息解碼的方法,其特征在于包括步驟-步驟(301)輸入一條消息完整的或部份的字節(jié)數(shù)組;步驟(302)綜合使用位置轉(zhuǎn)換函數(shù)和定位函數(shù)將當(dāng)前位置游標(biāo)定位到解碼開(kāi)始的比 特位置;步驟(303)根據(jù)協(xié)議判斷當(dāng)前待解的比特串的類型,如果是消息數(shù)據(jù)字段類型的比 特串,就執(zhí)行步驟(304);步驟(304)根據(jù)消息字段的語(yǔ)義描述判斷該字段是否被視為無(wú)符號(hào)整數(shù),如果是就 執(zhí)行步驟(305);步驟(305)調(diào)用獲取整型比特串模塊,并根據(jù)協(xié)議傳入比特串長(zhǎng)度作為參數(shù); 步驟(306)將得到的字段值保存到對(duì)應(yīng)的消息結(jié)構(gòu)中;步驟(307)根據(jù)消息字段的語(yǔ)義判斷該字段是否將被視為比特序列,如果是則執(zhí)行 步驟(308);如果在步驟(307)中判斷出該字段是L/H填充比特,則執(zhí)行步驟(310); 步驟(308)調(diào)用獲取比特序列模塊,并根據(jù)協(xié)議傳入比特串長(zhǎng)度作為參數(shù); 步驟(309)將返回的變長(zhǎng)比特?cái)?shù)組填入相應(yīng)的消息結(jié)構(gòu)中;步驟(310)調(diào)用判斷填充比特模塊,將判斷結(jié)果經(jīng)步驟(311)填入消息結(jié)構(gòu);步驟(312)根據(jù)協(xié)議判斷當(dāng)前比特串是否是備用比特串,如果是就執(zhí)行步驟(313);步驟(313)計(jì)算備用比特串的長(zhǎng)度,有時(shí)這類比特串的長(zhǎng)度在協(xié)議中己經(jīng)標(biāo)明為一 個(gè)固定值,更多時(shí)候協(xié)議并不明確指定它的長(zhǎng)度,由于它總出現(xiàn)在某個(gè)消息字段的末尾, 可以在開(kāi)始解碼包含它的較大字段時(shí)調(diào)用獲取當(dāng)前比特位置模塊預(yù)先記下較大字段的開(kāi) 始位置,在解碼完較大字段內(nèi)的其他子字段后再次調(diào)用獲取當(dāng)前比特位置模塊記下其位 置,用該位置減去開(kāi)始位置得到大字段內(nèi)其他子字段的總長(zhǎng)度,再用大字段的長(zhǎng)度減去 它就得到備用比特串的長(zhǎng)度;步驟(314)調(diào)用后移模塊,向后移動(dòng)指定的比特位數(shù);步驟(315)判斷當(dāng)前比特串是否是控制比特串,如果是就執(zhí)行步驟(316);步驟(316)判斷是否是填充比特,如果是填充比特,則執(zhí)行步驟(317);如果是常 量比特串,則執(zhí)行步驟(318);步驟(317)調(diào)用判斷填充比特模塊;步驟(318)調(diào)用獲取整型比特串模塊;步驟(319)判斷是否是分支選擇比特串,如果是則將獲取的比特串的值L/H或整數(shù) 常量作為if else語(yǔ)句或switch case語(yǔ)句的判斷條件,否則執(zhí)行步驟(320);步驟(320)判斷是否是循環(huán)控制比特串,如果是則將獲取的比特串的值作為for循 環(huán)或while循環(huán)語(yǔ)句的循環(huán)條件,否則該比特串是前導(dǎo)比特串;步驟G23)判斷前導(dǎo)比特串的值是否是協(xié)議規(guī)定的值,如果不是就直接轉(zhuǎn)到步驟(327) 解碼異常結(jié)束。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于進(jìn)一步包括步驟在步驟(305)、 (308)、 (310)、 (314)、 (317)、 (318)之后都可以緊接步驟(324), 調(diào)用解碼調(diào)試信息輸出模塊,該模塊將向調(diào)試窗口或文件輸出解碼調(diào)試信息,根據(jù)比特 串類型的不同調(diào)試信息的輸出格式會(huì)不同;步驟(325)判斷后續(xù)是否還有比特串,如果有則轉(zhuǎn)步驟(303)繼續(xù)處理,如果沒(méi) 有就轉(zhuǎn)步驟(326);步驟(326)結(jié)束該消息的解碼。
4. 一種利用權(quán)利要求1所述的裝置進(jìn)行調(diào)試的方法,其特征在于包括步驟 步驟(401)解讀一個(gè)比特串的描述;步驟(402)査看已經(jīng)輸出的調(diào)試信息,根據(jù)前一比特串的開(kāi)始位置和長(zhǎng)度確定當(dāng)前比特串在比特流中的起始位置,在測(cè)試碼流編輯界面使用定位功能定位該位置;步驟(403)判斷該比特串是否是消息的數(shù)據(jù)字段,如果是則執(zhí)行步驟(404); 步驟(404)輸入滿足協(xié)議要求的比特字符串,如果不是則執(zhí)行步驟(405); 步驟(405)判斷該比特串是否為分支選擇控制字段,如果是則執(zhí)行步驟(406); 步驟(406)査看已輸出的調(diào)試信息確定已經(jīng)測(cè)試過(guò)哪些條件分支,從未測(cè)試的條件 分支中選擇一條,根據(jù)協(xié)議構(gòu)造滿足該選擇分支的條件控制比特字符串;如果不是條件控制比特串則執(zhí)行步驟(407);步驟(407)判斷是否是循環(huán)控制比特串,如果是則執(zhí)行步驟(408); 步驟(408)根據(jù)已經(jīng)輸出的調(diào)試信息和協(xié)議構(gòu)造循環(huán)次數(shù)的控制條件比特串,重點(diǎn) 應(yīng)該關(guān)注循環(huán)的邊界值的條件測(cè)試,如果比特串也不是循環(huán)控制串,則執(zhí)行步驟(409); 步驟(409)判斷是否是前導(dǎo)比特串,如果是,就執(zhí)行步驟(410);步驟(410)根據(jù)協(xié)議構(gòu)造前導(dǎo)比特字符串;步驟(411)如果是備用比特串,構(gòu)造滿足協(xié)議長(zhǎng)度的任意內(nèi)容的比特字符串;步驟(412)在構(gòu)造好比特字符串后,根據(jù)已經(jīng)輸出的調(diào)試信息確定當(dāng)前構(gòu)造的比特 串是新增到比特流中的,還是原比特流中已經(jīng)存在與該比特串起相同作用的串,如果是 新增則執(zhí)行步驟(413);如果是要替換舊串則執(zhí)行步驟(414);步驟(413)使用測(cè)試碼流編輯界面的插入功能將新構(gòu)造的比特串插入到比特流的指 定位置;步驟(414)使用測(cè)試碼流編輯界面的替換功能,結(jié)合已經(jīng)輸出的調(diào)試信息指定要替 換的舊串的起止位置或開(kāi)始位置和長(zhǎng)度,用新串替換舊串;步驟(415)調(diào)用測(cè)試碼流編輯界面的測(cè)試功能,將字符形式的比特流轉(zhuǎn)換為二進(jìn)制 字節(jié)流作為輸入進(jìn)行解碼測(cè)試;步驟(416)會(huì)輸出當(dāng)前比特流的解碼測(cè)試信息,根據(jù)這一輸出結(jié)果可以接著構(gòu)造下 一比特串或修改舊的比特串;這樣使構(gòu)造比特流和輸出調(diào)試信息反復(fù)迭代進(jìn)行,就可以 增量式的逐步構(gòu)造出一條消息的完整測(cè)試碼流,并且可以覆蓋所有條件分支和各種測(cè)試 用例。
5. —種利用權(quán)利要求1所述的裝置進(jìn)行顯示的方法,其特征在于包括步驟 步驟(501)輸入一個(gè)消息字段值;步驟(502)根據(jù)協(xié)議構(gòu)造該消息字段的語(yǔ)義描述字符串;步驟(503)根據(jù)字段間的包含關(guān)系確定該消息字段的縮進(jìn)等級(jí);步驟(504)調(diào)用顯示模塊中的格式化消息數(shù)據(jù)字段模塊,以縮進(jìn)等級(jí)為縮進(jìn)控制參 數(shù),以語(yǔ)義字符串為格式化字符串,以字段值為格式化字符串的可變參數(shù)值;步驟(505)判斷是否還有其他需要格式化顯示的字段,如果有再轉(zhuǎn)到步驟(501)處理, 如果沒(méi)有就執(zhí)行步驟(506);步驟(506)調(diào)用獲取格式化后的消息顯示字符串模塊來(lái)得到整條消息的格式化顯示 字符串,該字符串包含了消息中每個(gè)字段的語(yǔ)義和值以及縮進(jìn)格式,將直接在圖形用戶 界面(106)進(jìn)行顯示。
全文摘要
本發(fā)明涉及一種移動(dòng)無(wú)線網(wǎng)絡(luò)消息的解碼、調(diào)試、顯示裝置及其方法,該裝置包括解碼模塊,包含一系列消息解碼模塊,解碼后的消息被保存到對(duì)應(yīng)的消息結(jié)構(gòu)203中;顯示模塊,將消息結(jié)構(gòu)格式化為含有消息語(yǔ)義的顯示字符串供界面顯示;調(diào)試模塊,為解碼模塊構(gòu)造測(cè)試碼流、輸出調(diào)試信息。本發(fā)明有效地屏蔽了邏輯描述與實(shí)際存儲(chǔ)之間的不一致性,提高了解碼工作的效率和正確性。
文檔編號(hào)H04L1/00GK101404515SQ20081017588
公開(kāi)日2009年4月8日 申請(qǐng)日期2008年11月7日 優(yōu)先權(quán)日2008年11月7日
發(fā)明者魏凌云 申請(qǐng)人:武漢虹信通信技術(shù)有限責(zé)任公司