基于DSL的電化學(xué)儀器上下位機(jī)通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
本文關(guān)鍵詞:基于DSL的電化學(xué)儀器上下位機(jī)通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
更多相關(guān)文章: 領(lǐng)域特定語言 上下文無關(guān)文法 通信協(xié)議 ANTLR 代碼生成器
【摘要】:在電化學(xué)儀器中,上位機(jī)與下位機(jī)之間的通信對(duì)于數(shù)據(jù)在上下位機(jī)之間的傳輸起著重要作用。通信協(xié)議的研發(fā)對(duì)上下位機(jī)間數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和有效性起著非常重要的作用。本文以開發(fā)一整套電化學(xué)儀器中上位機(jī)與下位機(jī)通信協(xié)議的編碼器和解碼器為實(shí)驗(yàn)?zāi)繕?biāo),針對(duì)領(lǐng)域特定語言(DSL,Domain-Specific Language)這一研究方向,將原本由自然語言描述的電化學(xué)儀器通信協(xié)議,形式化為上下文無關(guān)的協(xié)議規(guī)則,從而消除了使用自然語言來描述協(xié)議所存在的冗余性和二義性等缺陷。同時(shí)應(yīng)用DSL的一種實(shí)現(xiàn)方法 ANTLR(Another Tool for Language Recognition)和String Template實(shí)現(xiàn)了掃描電化學(xué)顯微儀器中32種實(shí)驗(yàn)方法的128個(gè)編碼器和解碼器的自動(dòng)生成,提高了代碼生成的效率和質(zhì)量,以及項(xiàng)目最終的可拓展性以及可維護(hù)性。本文以通信協(xié)議為基礎(chǔ),將不同的電化學(xué)實(shí)驗(yàn)表示為不同的輸入文件。通過ANTLR進(jìn)行詞法分析、語法分析,將實(shí)驗(yàn)名稱、實(shí)驗(yàn)指令、實(shí)驗(yàn)參數(shù)、參數(shù)類型從輸入文件里解析出來,保存成層級(jí)嵌套的數(shù)據(jù)結(jié)構(gòu),通過String Template進(jìn)行渲染,最終得到上下位機(jī)間通信的編碼器、解碼器和相關(guān)測試代碼。本文中項(xiàng)目的實(shí)現(xiàn)由啟動(dòng)模塊、輸入模塊、解析模塊、控制模塊、渲染模塊構(gòu)成。啟動(dòng)模塊采用不同的腳本技術(shù)實(shí)現(xiàn),解決了項(xiàng)目的跨平臺(tái)需求,其主要作用包括設(shè)置環(huán)境變量,編譯數(shù)據(jù)定義和控制邏輯的類,并啟動(dòng)入口函數(shù);輸入模塊以不同實(shí)驗(yàn)方法為維度,劃分為不同的文件,解決了項(xiàng)目的多實(shí)驗(yàn)支持,輸入文件依據(jù)通信協(xié)議設(shè)計(jì)來組織,提供實(shí)驗(yàn)相關(guān)數(shù)據(jù);解析模塊包括詞法分析器和語法分析器,是將輸入文件的實(shí)驗(yàn)數(shù)據(jù)提取出來并傳遞給控制模塊中的數(shù)據(jù)定義相關(guān)類;控制模塊是項(xiàng)目的主要業(yè)務(wù)邏輯,包括數(shù)據(jù)定義類、渲染邏輯類等,其作用主要是將解析模塊傳遞過來的實(shí)驗(yàn)數(shù)據(jù),加載到渲染模塊;渲染模塊根據(jù)控制模塊組織好的渲染數(shù)據(jù),進(jìn)行模板的渲染,生成相關(guān)源代碼。
【關(guān)鍵詞】:領(lǐng)域特定語言 上下文無關(guān)文法 通信協(xié)議 ANTLR 代碼生成器
【學(xué)位授予單位】:東北師范大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2015
【分類號(hào)】:TH832;TP393.04
【目錄】:
- 摘要4-5
- Abstract5-8
- 引言8-9
- 第一章 緒論9-12
- 1.1 研究背景9
- 1.2 研究內(nèi)容9-10
- 1.3 研究意義10
- 1.4 本文結(jié)構(gòu)10-12
- 第二章 上下位機(jī)間通信協(xié)議相關(guān)背景12-18
- 2.1 電化學(xué)儀器簡介12
- 2.2 上下位機(jī)12-14
- 2.2.1 上位機(jī)13
- 2.2.2 下位機(jī)13-14
- 2.3 上下位機(jī)間通信14-15
- 2.3.1 串口通信方式14
- 2.3.2 USB通信方式14
- 2.3.3 TCP/IP通信方式14-15
- 2.4 DSL概述15-18
- 2.4.1 DSL (領(lǐng)域特定語言)15-16
- 2.4.2 領(lǐng)域特定語言的意義16
- 2.4.3 國內(nèi)外領(lǐng)域特定語言的研究現(xiàn)狀16
- 2.4.4 ANTLR與StringTemplate16-18
- 第三章 基于DSL的電化學(xué)儀器上位機(jī)軟件產(chǎn)品線的分析與設(shè)計(jì)18-29
- 3.1 需求分析18-20
- 3.1.1 多實(shí)驗(yàn)支持,,可變參數(shù)支持18
- 3.1.2 跨平臺(tái)支持18-19
- 3.1.3 序列化與反序列化19
- 3.1.4 測試需求19-20
- 3.2 系統(tǒng)總體設(shè)計(jì)20-21
- 3.3 各模塊詳細(xì)設(shè)計(jì)21-29
- 3.3.1 輸入模塊詳細(xì)設(shè)計(jì)21-25
- 3.3.2 協(xié)議模塊詳細(xì)設(shè)計(jì)25-26
- 3.3.3 解析模塊詳細(xì)設(shè)計(jì)26
- 3.3.4 渲染模塊詳細(xì)設(shè)計(jì)26-27
- 3.3.5 控制模塊詳細(xì)設(shè)計(jì)27-29
- 第四章 基于DSL的電化學(xué)儀器上下位機(jī)間通信協(xié)議的實(shí)現(xiàn)29-33
- 4.1 輸入模塊實(shí)現(xiàn)29-30
- 4.2 啟動(dòng)模塊實(shí)現(xiàn)30
- 4.3 解析模塊實(shí)現(xiàn)30-31
- 4.4 控制模塊實(shí)現(xiàn)31-32
- 4.5 渲染模塊實(shí)現(xiàn)32-33
- 第五章 總結(jié)與展望33-35
- 5.1 總結(jié)33-34
- 5.2 展望34-35
- 參考文獻(xiàn)35-37
- 附錄37-40
- 致謝40-41
- 在學(xué)期間公開發(fā)表論文及著作情況41
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前7條
1 劉愛東;張永強(qiáng);楊健;王瑩;;USB設(shè)備互連通信協(xié)議設(shè)計(jì)[J];電光與控制;2011年01期
2 邵元華;掃描電化學(xué)顯微鏡及其最新進(jìn)展[J];分析化學(xué);1999年11期
3 杜時(shí)英;;上位機(jī)與下位機(jī)的數(shù)據(jù)傳輸以及協(xié)議小議[J];計(jì)算機(jī)光盤軟件與應(yīng)用;2012年15期
4 張蓓;;我國電化學(xué)測量儀器的現(xiàn)狀和發(fā)展趨勢(shì)[J];中國計(jì)量;2006年04期
5 楊旭東,孫凌逸,王永軍,王俊彪;基于上下位機(jī)的拉彎機(jī)數(shù)控系統(tǒng)研究[J];制造業(yè)自動(dòng)化;2005年04期
6 龍世滔,吳信才,鄭曉峰;基于ANTLR的XML解釋器的設(shè)計(jì)與實(shí)現(xiàn)[J];現(xiàn)代計(jì)算機(jī)(專業(yè)版);2004年06期
7 梁志鋒;解翔;唐小琦;;基于工業(yè)以太網(wǎng)的網(wǎng)絡(luò)數(shù)控系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J];現(xiàn)代制造工程;2006年01期
中國碩士學(xué)位論文全文數(shù)據(jù)庫 前4條
1 劉三獻(xiàn);基于ANTLR的Gaussian詞法分析器和語法分析器的分析與設(shè)計(jì)[D];蘭州大學(xué);2009年
2 趙利君;基于ANTLR的TTCN-3分析器的設(shè)計(jì)與實(shí)現(xiàn)[D];內(nèi)蒙古大學(xué);2010年
3 劉先毅;基于管道、過濾器的電化學(xué)工作站的開發(fā)[D];東北師范大學(xué);2012年
4 鄭蕊;基于DSL的電化學(xué)儀器上位機(jī)軟件產(chǎn)品線的設(shè)計(jì)與實(shí)現(xiàn)[D];東北師范大學(xué);2014年
本文編號(hào):1120761
本文鏈接:http://sikaile.net/kejilunwen/yiqiyibiao/1120761.html