[發明專利]一種樹表結合驅動Windows/Linux平臺通訊協議源代碼自動生成方法有效
| 申請號: | 201410233790.8 | 申請日: | 2014-05-29 |
| 公開(公告)號: | CN103984555B | 公開(公告)日: | 2017-03-15 |
| 發明(設計)人: | 張子利;范亞;周保琢;唐經天;張波;王詩利;劉正敏;宋勇 | 申請(專利權)人: | 四川航天系統工程研究所 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F11/36 |
| 代理公司: | 四川省成都市天策商標專利事務所51213 | 代理人: | 伍孝慈 |
| 地址: | 610000 四川省成都*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 種樹 結合 驅動 windows linux 平臺 通訊 協議 源代碼 自動 生成 方法 | ||
技術領域
本發明涉及一種應用程序中協議源代碼實現技術,尤其涉及一種樹表結合驅動特定平臺通訊協議源代碼自動生成方法。
背景技術
傳統的通訊協議源程序自動生成技術大多基于ASN.1、SDL或TTCN等數據幀建模語言技術實現的,對于企業中應用軟件開發人員來說,這些數據幀建模語言存在一定的學習曲線,導致目前在企業分布式應用程序中代碼自動生成技術應用并不廣泛,大多通訊程序仍然依靠軟件開發人員直接解讀相關指定的通訊協議原始文檔來手動編程,從數學的角度來說,由于采用自然語言描述的通訊協議規范文檔缺乏一定的嚴謹性,加之部分軟件開發人員對執行通訊協議規范重要程度不夠,因此很多應用系統最終都無法滿足相關通訊協議標準規范的要求,或部分滿足。另外在應用系統研制過程中隨著相關需求變化,往往會帶來大量通訊層協議的修改,也會導致通訊代碼修改、聯合調試等工作的反復,這些機械而重復的修改與通訊調試工作占用了軟件開發人員寶貴的研發精力,而且人工修改代碼容易導致系統出錯。這些因素綜合起來導致企業各分布式應用系統互聯互通測試周期長、協調難度大,對企業應用互操作一體化建設帶來了較大的難度與成本。
發明內容
本發明的目的就在于提供一種結合目前大多數企業應用軟件開發人員比較習慣應用二維表格來描述分布式應用程序中涉及的通訊協議用樹與表格聯合描述通訊協議,并基于其驅動特定平臺的源代碼自動生成方法與技術,并解決上述問題的基于樹形結構結合表格驅動的特定平臺通訊協議源代碼自動生成方法。
為了實現上述目的,本發明采用的技術方案是:一種樹表結合驅動特定平臺通訊協議源代碼自動生成方法,包括數據幀建模管理模塊、源代碼自動生成模塊、代碼仿真檢驗模塊和開發包構建模塊,
數據幀建模管理模塊對于任何一個數據幀,均建立一個數據幀工程,然后通過數據幀建模管理工具,采用樹與表結構結合的方式實現對數據幀分段管理、段內數據結構管理與數據幀校驗位管理;
源代碼自動生成模塊,首先采用數據業務視圖、數據結構視圖與數據流視圖三層來構建數據包的數據結構,以此實現數據包的通訊層代碼組織,然后調用相關配置,基于相關規則驅動自動生成c++/c#等語言平臺的通訊數據幀編碼與解碼源代碼,從而實現數據幀描述表格的修改直接驅動通訊代碼自動生成;
代碼仿真檢驗模塊,該模塊在源代碼自動生成模塊自動生成編解碼源代碼基礎上,同時生成一組入口與調用代碼,然后調用第三方編譯程序,生成源代碼仿真程序,配合相關通訊測試用例數據,實現自動生成代碼的測試檢驗;
開發包構建模塊,該模塊主要實現對經過代碼仿真檢驗模塊仿真檢驗合格的源代碼封裝為可被其他應用調用的開發包;
作為優選,所述源代碼自動生成模塊分為數據結構源代碼生成和編解碼的源代碼生成,所述數據結構源代碼生成分為數據業務層數據類生成、數據結構層數據類生成和數據流層數據類生成:所述編解碼的源代碼生成分為編碼函數源代碼生成和解碼函數源代碼生成;
作為優選,所述數據業務層數據類生成過程,首先從數據幀建模管理模塊構建數據幀形式化描述的樹狀圖,然后構建相關數據結構信息,首先采用深度優先的原則標記出整棵樹中其子節點為數據結構節點的數據分段節點,同時生成其數據類信息,然后根據樹節點由深到淺一層一層的生成其數據類信息;
數據結構層數據類生成過程,數據結構層的數據類信息分為兩種情況,第一種情況如果所有分段均為固定長度,則數據類采用一維平面結構,首先從數據幀建模管理模塊構建數據幀形式化描述的樹狀圖,采用深度優先的原則,由根節點到數據結構節點經過的所有分段節點縮寫名采用分割符號“_”串接后生成最終數據類的屬性名;第二種情況如果所有分段存在非固定長度,則采用多層結構,其數據類結構生成方法采用非固定長度的數組形式確定,其長度可以在運行時確定;
數據流層數據類生成過程,主要為BYTE格式數組,其長度可以在運行時確定;
作為優選,編碼函數源代碼生成過程,該編碼函數的輸入為數據業務層數據類對象,輸出為數據流信息,對于非固定長度數據幀根據數據業務層數據類對象相關數組個數確定數據流運行時長度與部分數據結構層數據類對象運行時長度,并將具體長度信息寫入長度確定位中,在確定長度基礎上,首先根據數據結構節點的編碼代碼確定每個數據結構層數據類對象中屬性的編碼過程,然后將數據結構層數據類對象按照樹節點的組織順序寫入數據流中,完成最終數據流組裝,同時根據設置確定是否在每個變換環節加入日志記錄代碼;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川航天系統工程研究所,未經四川航天系統工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410233790.8/2.html,轉載請聲明來源鉆瓜專利網。





