System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請涉及汽車領域,特別是涉及一種代碼自動生成方法、計算機設備和存儲介質。
技術介紹
1、隨著智能汽車的發(fā)展,v2x(vehicle?to?everything,車聯(lián)萬物)應用也從演示項目逐步進入商業(yè)化應用領域。v2x?box接入汽車內并非以獨立ecu(electronic?controlunit,電子控制單元)部件進行工作,它需要與其他ecu融合來實現(xiàn)車路協(xié)同應用,這樣v2xbox上的軟件模塊需要與其他ecu的軟件能進行高效可靠的信息交互,而基于ae(automotive?ethernet,汽車以太網)的some/ip是承載v2x與其他ecu進行信息通信的基本協(xié)議,且some/ip是能實現(xiàn)soa(service?oriented?architecture,面向服務的架構)的方法、事件及屬性的一種軟件中間件。
2、因此,對于具體實現(xiàn)v2x?box與其他ecu通信的方法、事件及屬性的編碼設計就成為非常必須與重要的軟件開發(fā)研究工作。這些工作通常是需要手動使用fdepl(frankadeployment?parameter?language,franka發(fā)布參數語言)來重新描述分配各種服務id、方法id和事件id,軟件工程師手動在編碼實現(xiàn)基于some/ip的方法、事件及屬性過程中,代碼工作量比較大,編碼效率低,代碼質量不高。
技術實現(xiàn)思路
1、基于此,有必要針對上述技術問題,提供一種代碼自動生成方法、裝置、計算機設備和存儲介質。
2、一方面,提供一種代碼自動生成方
3、可選的,所述對所述接口描述語言文件解析,生成對應的元素表,包括:按行讀取所述接口描述語言文件;通過對所述接口描述語言文件詞法分析,提取關鍵字,所述關鍵字包括方法、屬性和事件;判斷所述接口描述語言文件是否包含所述關鍵字;若是,則將所述接口描述語言文件中包含所述關鍵詞的行錄入所述元素表。
4、可選的,所述根據預設的基本參數和所述元素表,生成所述接口描述語言文件對應的基于汽車以太網some/ip的部署參數語言文件,包括:創(chuàng)建部署參數語言文件;遍歷所述屬性表,將所述屬性表和所述屬性表對應的基本參數作為第一部分寫入所述部署參數語言文件;遍歷所述方法表,將所述方法表和所述方法表對應的基本參數作為第二部分寫入所述部署參數語言文件;遍歷所述事件表,將所述事件表和所述事件表對應的基本參數作為第三部分寫入所述部署參數語言文件;根據所述第一部分、第二部分和第三部分,生成所述接口描述語言文件對應的基于汽車以太網some/ip的部署參數語言文件。
5、可選的,所述遍歷所述屬性表,將所述屬性表和所述屬性表對應的基本參數作為第一部分寫入所述部署參數語言文件,包括:按行檢索所述屬性表;根據所述屬性表內容自動分配對應的預設的第一基本參數;所述第一基本元素包括服務id、方法id、事件id、事件群組id;將所述屬性表內容和所述第一基本參數寫入所述部署參數語言文件。
6、可選的,所述遍歷所述方法表,將所述方法表和所述方法表對應的基本參數作為第二部分寫入所述部署參數語言文件,包括:按行檢索所述方法表;根據所述方法表內容自動分配對應的預設的第二基本參數;所述第二基本元素包括方法id;將所述方法表內容和所述第二基本參數寫入所述部署參數語言文件。
7、可選的,所述遍歷所述事件表,將所述事件表和所述事件表對應的基本參數作為第三部分寫入所述部署參數語言文件,包括:按行檢索所述事件表;根據所述事件表內容自動分配對應的預設的第三基本參數;所述第三基本元素包括事件id、事件群組id;將所述事件表內容和所述第三基本參數寫入所述部署參數語言文件。
8、可選的,所述方法還包括:創(chuàng)建javascript對象表示法文件;遍歷所述屬性表,根據所述屬性表創(chuàng)建對應的javascript對象,并自動進行相應配置;將所述屬性表對應內容作為第一部分寫入所述javascript對象表示法文件;遍歷所述事件表,根據所述事件表創(chuàng)建對應的javascript對象,并自動進行相應配置;將所述事件表對應內容作為第二部分寫入所述javascript對象表示法文件;根據所述第一部分和所述第二部分,生成所述部署參數語言文件對應的javascript對象表示法文件。
9、可選的,所述方法還包括:獲取多個基于汽車以太網some/ip的部署參數語言文件對應的javascript對象表示法文件;根據所述多個基于汽車以太網some/ip的部署參數語言文件對應的javascript對象表示法文件,生成vsomeipd運行對應的javascript對象表示法文件。
10、可選的,所述根據所述多個基于汽車以太網some/ip的部署參數語言文件對應的javascript對象表示法文件,生成vsomeipd運行對應的javascript對象表示法文件,包括:創(chuàng)建javascript對象表示法文件,寫入第一對象;所述第一對象包括vsomeipd運行于主機系統(tǒng)的單播ip地址、服務提供列表;搜索并合并多個基于汽車以太網some/ip的部署參數語言文件對應的javascript對象表示法文件;創(chuàng)建第二對象,將所述第二對象對應內容寫入所述javascript對象表示法文件;所述第二對象包括多個基于汽車以太網some/ip的部署參數語言文件對應的服務提供列表;寫入第三對象,生成所述vsomeipd運行對應的javascript對象表示法文件;所述第三對象包括服務發(fā)現(xiàn),所述服務發(fā)現(xiàn)包括組播ip地址。
11、另一方面,提供了一種代碼自動生成裝置,所述裝置包括:獲取模塊,用于獲取接口描述語言文件;所述接口描述語言文件包括服務的類型、參數及返回值;第一生成模塊,用于對所述接口描述語言文件解析,生成對應的元素表,所述元素表包含方法表、屬性表、事件表;第二生成模塊,用于根據預設的基本參數和所述元素表,生成所述接口描述語言文件對應的基于汽車以太網some/ip的部署參數語言文件;所述部署參數語言文件包括所述服務的運行參數和部署信息。
12、再一方面,提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:獲取接口描述語言文件,所述接口描述語言文件包括服務的類型、參數及返回值;對所述接口描述語言文件解析,生成對應的元素表,所述元素表包含方法表、屬性表、事件表;根據預設的基本參數和所述元素表,生成所述接口描述語言文件對應的基于汽車以太網some/ip的部署參數語言文件,所述部署參數語言文件包括所述服務的運行參數和部署信息。
13、又一方本文檔來自技高網...
【技術保護點】
1.一種代碼自動生成方法,其特征在于,所述方法包括:
2.根據權利要求1所述的代碼自動生成方法,其特征在于,所述對所述接口描述語言文件解析,生成對應的元素表,包括:
3.根據權利要求1所述的代碼自動生成方法,其特征在于,所述根據預設的基本參數和所述元素表,生成所述接口描述語言文件對應的基于汽車以太網SOME/IP的部署參數語言文件,包括:
4.根據權利要求3所述的代碼自動生成方法,其特征在于,所述遍歷所述屬性表,將所述屬性表和所述屬性表對應的基本參數作為第一部分寫入所述部署參數語言文件,包括:
5.根據權利要求3所述的代碼自動生成方法,其特征在于,所述遍歷所述方法表,將所述方法表和所述方法表對應的基本參數作為第二部分寫入所述部署參數語言文件,包括:
6.根據權利要求3所述的代碼自動生成方法,其特征在于,所述遍歷所述事件表,將所述事件表和所述事件表對應的基本參數作為第三部分寫入所述部署參數語言文件,包括:
7.根據權利要求1至6中任一項所述的代碼自動生成方法,其特征在于,所述方法還包括:
8.根據權
9.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權利要求1至8中任一項所述方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權利要求1至8中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種代碼自動生成方法,其特征在于,所述方法包括:
2.根據權利要求1所述的代碼自動生成方法,其特征在于,所述對所述接口描述語言文件解析,生成對應的元素表,包括:
3.根據權利要求1所述的代碼自動生成方法,其特征在于,所述根據預設的基本參數和所述元素表,生成所述接口描述語言文件對應的基于汽車以太網some/ip的部署參數語言文件,包括:
4.根據權利要求3所述的代碼自動生成方法,其特征在于,所述遍歷所述屬性表,將所述屬性表和所述屬性表對應的基本參數作為第一部分寫入所述部署參數語言文件,包括:
5.根據權利要求3所述的代碼自動生成方法,其特征在于,所述遍歷所述方法表,將所述方法表和所述方法表對應的基本參數作為第二部分寫入所述部署參數語言文...
【專利技術屬性】
技術研發(fā)人員:夏寶華,鄭洪江,陳可偉,淘海武,孫宇同,
申請(專利權)人:上海均勝普聯(lián)智能科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。