亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于領(lǐng)域?qū)S谜Z言的數(shù)據(jù)幀解析研究

        2015-12-15 07:47:10龍昱程馬衛(wèi)東
        電子設(shè)計工程 2015年10期
        關(guān)鍵詞:詞法通信協(xié)議腳本

        龍昱程,馬衛(wèi)東

        (1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽621010;2.中國工程物理研究院 電子工程研究所,四川 綿陽621010)

        基于領(lǐng)域?qū)S谜Z言的數(shù)據(jù)幀解析研究

        龍昱程1,2,馬衛(wèi)東2

        (1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽621010;2.中國工程物理研究院 電子工程研究所,四川 綿陽621010)

        測控系統(tǒng)中存在著大量的通信協(xié)議和二進制數(shù)據(jù),不同的協(xié)議使用不同的數(shù)據(jù)幀格式,為了能夠有效地判斷數(shù)據(jù)的正確性,需要對數(shù)據(jù)幀進行解析。討論了使用領(lǐng)域?qū)S谜Z言的方法實現(xiàn)定制不同的數(shù)據(jù)幀解析策略,使數(shù)據(jù)幀的解析和處理具有通用性和擴展性。

        領(lǐng)域?qū)S谜Z言;數(shù)據(jù)幀;詞法分析;語法分析

        隨著測控系統(tǒng)及測控設(shè)備的迅速發(fā)展,測控領(lǐng)域的應(yīng)用范圍也越來越廣,與此同時,測控系統(tǒng)里存在著大量的通信協(xié)議和測控數(shù)據(jù)。這些數(shù)據(jù)對于判斷設(shè)備是否正常,以及分析各種異常現(xiàn)象有著重要作用。

        在測控系統(tǒng)中,上位機與下位機之間通信,不同的通信協(xié)議使用不同的數(shù)據(jù)幀格式,在產(chǎn)生的數(shù)據(jù)量較大時,會對數(shù)據(jù)幀的正確讀取造成障礙。軟件工程師在進行上層應(yīng)用開發(fā)時,通常需要對協(xié)議進行解析,從中提取出所需數(shù)據(jù)項的值,并進行相應(yīng)處理,這就要求設(shè)計實現(xiàn)特定的通信接口。而設(shè)計這些通信接口程序,結(jié)構(gòu)上經(jīng)常非常類似,主要的區(qū)別在于對接收數(shù)據(jù)幀之后的解釋和理解不同。這往往容易造成整個測控系統(tǒng)的冗余和復(fù)雜。而且不利于排查數(shù)據(jù)中的錯誤信息。

        針對以上問題定義了一種領(lǐng)域?qū)S谜Z言[1-2](Domain Specific Language)——dpDSL,應(yīng)用于數(shù)據(jù)幀的解析與處理。領(lǐng)域?qū)I(yè)語言為數(shù)據(jù)幀解析提出了一種靈活、適應(yīng)性強且擴展性良好的解決方法[3-4]。

        1 總體方案

        數(shù)據(jù)幀解析的總體設(shè)計方案如圖1所示,總體的解析流程分為前端和后端兩部分。

        圖1 數(shù)據(jù)幀解析流程Fig.1 Process of data frame analysising

        前端主要負責(zé)以下工作:用戶根據(jù)不同測控系統(tǒng)所采用通信協(xié)議的不同,編寫相應(yīng)的dpDSL腳本,對數(shù)據(jù)幀格式和數(shù)據(jù)判讀方法進行描述。

        后端主要負責(zé):從文件里提取數(shù)據(jù)幀,并以二進制流的方式存入內(nèi)存中,根據(jù)前端送來的dpDSL腳本信息,對數(shù)據(jù)幀進行解析識別,提取出數(shù)據(jù),再根據(jù)數(shù)據(jù)判讀信息,對數(shù)據(jù)幀里的數(shù)據(jù)進行判讀,并返回幀解析和數(shù)據(jù)判讀的結(jié)果。

        2 腳本解釋器

        dpDSL是用于描述測控系統(tǒng)中數(shù)據(jù)幀解析策略的領(lǐng)域?qū)S谜Z言。dpDSL采用于擴展巴科斯范式描述語法規(guī)則。dpDSL語法定義如下:

        dpDSL腳本解釋器要完成以下任務(wù):

        1)對用戶輸入的dpDSL腳本進行分析

        2)將dpDSL描述的數(shù)據(jù)幀格式信息和數(shù)據(jù)判讀方法提取出來。

        dpDSL腳本解釋器的軟件結(jié)構(gòu)包括詞法分析模塊和語法分析模塊,首先加載腳本進行詞法分析,然后進行語法分析,如圖2所示。

        圖2 dpDSL腳本解釋器的結(jié)構(gòu)Fig.2 The structure of dpDSL script interpreter

        詞法分析是dpDSL解釋器的第一個階段[10],詞法分析階段的主要任務(wù)是將源程序讀作字符文件并將其分為若干個記號,記號與單詞類似[5-6]。如果遇到無法識別的符號,則需要進行錯誤處理。

        語法分析階段的任務(wù)包括:構(gòu)件符號表、記錄聲明中建立的名字的含義、在表達式和語句中進行類型推斷和類型檢查以及在語言的類型規(guī)則作用域內(nèi)判斷他們的正確性[7],識別dpDSL腳本程序中的語法成分并進行語法檢查。dpDSL解釋器設(shè)計了基于正則表達式的語法分析方法。正則表達式是描述字符串文法規(guī)則的一種方法,設(shè)計的規(guī)則可以作為模板,用來檢查相關(guān)字符串是否與此模板匹配[8-9]。正則表達式是由元字符和普通字符組成,元字符可以用來描述模板的構(gòu)成規(guī)則,普通字符可為字符串的基本字符。使用正則表達式進行dpDSL腳本程序的語法分析,需要經(jīng)過3個過程:正則表達式定義、初始化和匹配。在處理正則表達式的過程中,選擇使用Qt的正則表達式庫。

        dpDSL腳本解釋器的軟件流程圖如圖3所示。

        圖3 dpDSL解釋器Fig.3 Interpreter of dpDSL

        解釋器工作過程中,經(jīng)常要使用和收集出現(xiàn)在源程序中的各種信息,為了方便起見,常常用表格記錄這些信息,如標識符表、關(guān)鍵字表、和常量表等,這些都統(tǒng)稱為符號表。本文設(shè)計的解釋器在語義分析階段生成符號表,其數(shù)據(jù)結(jié)構(gòu)設(shè)計如下:

        3 數(shù)據(jù)幀處理器

        腳本解釋器對需要解析的數(shù)據(jù)文件進行讀取,存入內(nèi)存當(dāng)中,并提取dpDSL對用戶輸入腳本的解析結(jié)果,通過對比內(nèi)存中每個數(shù)據(jù)幀與腳本解析得出的數(shù)據(jù)幀格式信息,可以判斷數(shù)據(jù)文件中每個數(shù)據(jù)幀的正確性,數(shù)據(jù)幀處理器的軟件流程圖如圖4所示。

        圖4 數(shù)據(jù)幀處理器Fig.4 Data frame processor

        4 實驗應(yīng)用

        4.1 實驗?zāi)繕?/p>

        dpDSL為數(shù)據(jù)幀解析提供了一種規(guī)則描述策略,實驗主要考慮兩個方面的指標:一是dpDSL能否準確描述數(shù)據(jù)幀格式;二是dpDSL腳本能否被正確識別,并完成數(shù)據(jù)幀提取。

        4.2 實驗環(huán)境

        軟件環(huán)境:Windows7操作系統(tǒng)以及Qt4.7.4。

        硬件環(huán)境:1臺計算機,基本配置為Intel Core2 i5 CPU 2.40GHz,內(nèi)存為2G。

        4.3 實驗數(shù)據(jù)

        目前,有9幀數(shù)據(jù),每3幀使用一種數(shù)據(jù)幀格式,共三種數(shù)據(jù)幀,如表1所示。

        dpDSL的腳本編寫如下:

        表1 數(shù)據(jù)幀格式Tab.1 Data-frame format

        4.4 實驗結(jié)果分析

        實驗結(jié)果如圖5所示。

        圖5 實驗結(jié)果Fig.5 Experimental result

        通過以上實驗可以得出以下結(jié)論:

        1)dpDSL腳本可以準確的描述數(shù)據(jù)幀格式。

        2)dpDSL腳本可以被正確的解析,并準確的識別數(shù)據(jù)幀。

        5 結(jié)論

        本文提出了基于領(lǐng)域?qū)I(yè)語言的數(shù)據(jù)幀解析和處理方法。將協(xié)議的解析和處理與協(xié)議的描述分離開來,建立了一種具有普適性的、與數(shù)據(jù)幀格式無關(guān)的協(xié)議解析與處理方法。領(lǐng)域?qū)I(yè)語言正是一種能夠?qū)Ω鞣N協(xié)議進行描述的手段,對不同的通信協(xié)議,只需編寫其相應(yīng)的dpDSL腳本,并進行詞法分析和語法分析,就能夠不改變協(xié)議解析和處理的程序,對該協(xié)議進行解析和處理。并且經(jīng)過簡單地培訓(xùn),普通用戶也可以方便地使用dpDSL進行腳本編寫,從而減輕了研發(fā)人員的對整個應(yīng)用程序的維護,使本方法具備良好的可通用性和可擴展性。

        [1]Fowler M.領(lǐng)域特定語言[M].北京:機械工業(yè)出版社,2013.

        [2]趙衛(wèi)東,劉永紅.一種領(lǐng)域特定語言的研究與實現(xiàn) [J].成都大學(xué)學(xué)報:自然科學(xué)版,2013(2):142-144.ZHAO Wei-dong,LIU Yong-hong.Research and implementation of domain specific language[J].Journal of Chengdu University:Natural Science,2013(2):142-144.

        [3]周艷明.基于領(lǐng)域?qū)S谜Z言的應(yīng)用軟件自動生成[J].計算機工程與應(yīng)用,2003(10):124-127.ZHOU Yan-ming.Auto generating application software based on domain specific language[J].Computer Engineering and Applications,2003(10):124-127.

        [4]鄧偉.基于Drools的領(lǐng)域?qū)S谜Z言應(yīng)用研究 [J].電腦開發(fā)與應(yīng)用,2012,25(2):8-11.DENG Wei.Research on domain specific language based on drools[J].Computer Development&Applications,2012,25(2):8-11.

        [5]胡海濤,劉穎.一種基于DSL的服務(wù)組合語言[J].計算機工程,2011(9):107-109.HU Hai-tao,LIU Yin.Service composition language based on DSL[J].Computer Engineering,2011(9):107-109.

        [6鄭炳坤,葉峰.工業(yè)機器人語言的詞法語法分析器研究[J].機械設(shè)計與制造,2014(1):209-212.ZHENG Bing-kun,YE Feng,et al.Study on the lexical and syntactic analyzer for industrial robot language[J].Machinery Design&Manufacture,2014(1):209-212.

        [7]Knneth C.Louden.編譯原理及實踐[M].北京:機械工業(yè)出版社,2009.

        [8]李曉帆,趙恒永.協(xié)議制導(dǎo)的數(shù)據(jù)幀數(shù)據(jù)提取技術(shù) [J].計算機工程與應(yīng)用,2003(25):144-145.LI Xiao-fan,ZHAO Huan-yong.A protocol driven communication technology[J].Computer Engneering and Applcations, 2003(25):144-145.

        [9]董立,尤楓,趙恒永.基于用戶定制的數(shù)據(jù)幀處理技術(shù)[J].計算機工程與設(shè)計,2007(12):3003-3005.DONG Li,YOU Feng,ZHAO Huan-yong.Technology of dataframe processing based on user's customization[J].Computer Engineering and Design,2007(12):3003-3005.

        [10]Headrick W J,Davis T W,Bodkin M A,et al.Signal Based Domain Specific Language (SBDSL)a proposal for a next generation test[C]//AUTOTESTCON,2011 IEEE.IEEE, 2011:240-244.

        Research on data-frame analysis based on domain specific language

        LONG Yu-cheng1,2,MA Wei-dong2
        (1.School of Information Engineering,Southwest University of Science and Technology,Mianyang 621010,China;2.Institute of Electronic Engineering,China Academy of Engineering Physics,Mianyang 621010,China)

        There are lots of communication protocols and binary data in measurement and control system.Different protocols use different data-frame.In order to judge the accuracy of the data effectively,we need to parse the data-frame.We use domain-specific language to describe data-frame and design a domain specific language for user to coding and they can custom their own strategy.This implementation can avoid coding parse and process program for different data-frame format separately,and make the program more flexible and adaptable.

        domain specific language;data-frame;lexical analysis;parsing

        TN91

        A

        1674-6236(2015)10-0130-03

        2014-09-15 稿件編號:201409119

        中國工程物理研究院發(fā)展基金(2013B0403064)

        龍昱程(1990—),男,湖南衡陽人,碩士研究生。研究方向:信號與信息處理。

        猜你喜歡
        詞法通信協(xié)議腳本
        詞法 名詞、代詞和冠詞
        酒駕
        安奇奇與小cool 龍(第二回)
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計
        應(yīng)用于詞法分析器的算法分析優(yōu)化
        快樂假期
        談對外漢語“詞法詞”教學(xué)
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計與研究
        基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計與實現(xiàn)
        電測與儀表(2016年2期)2016-04-12 00:24:52
        日本一区二区三深夜不卡| 区二区三区亚洲精品无| 亚洲精彩视频一区二区| 精品亚洲国产日韩av一二三四区| 99国产精品久久久久久久成人热| 亚洲日韩成人av无码网站| 91精品国产91久久久无码95| 亚洲色图在线视频观看| 日本区一区二区三视频| 国产成+人欧美+综合在线观看| 欧美在线视频免费观看| 久久精品日本美女视频| 亚洲精品av一区二区日韩| 国产精品激情自拍视频| 亚洲欧美日韩另类精品一区| 亚洲av一宅男色影视| 国产chinese在线视频| 国产人妖在线免费观看| 国产一区二区三区我不卡| 日产精品99久久久久久| 国产国语熟妇视频在线观看| 亚州综合激情另类久久久| 国产传媒剧情久久久av| 偷拍一区二区三区黄片| 邻居少妇张开腿让我爽了一夜| 日本边添边摸边做边爱的网站| 国产高清国内精品福利99久久| 国产精品女丝袜白丝袜美腿| 无码人妻精品一区二区三区夜夜嗨| 18禁无遮挡羞羞污污污污网站| 成人无码a级毛片免费| 不卡视频在线观看网站| 奇米影视第四色首页| 亚洲日本三级| 亚洲天堂av免费在线| 日韩性爱视频| 色综合色狠狠天天综合色| 成人爽a毛片一区二区免费| 亚洲av永久无码精品水牛影视| 日韩日本国产一区二区 | 国产精品久久久久久妇女6080|