一種可視化生成面向信號應用程序代碼的方法及裝置制造方法
【專利摘要】本發明公開了一種可視化生成面向信號應用程序代碼的方法及裝置,IEEE 1641標準以信號為基礎規范了測試過程的描述和建模;IEEE 1671標準為自動測試系統(Automatic Test System,ATS)中各部件以及自動測試系統間的信息共享和移植提供了規范的信息格式;本發明利用可視化建模技術,將測試需求轉換成ATML測試描述代碼,并可以在可視化模塊與文本代碼間自由轉換,提高面向信號測試程序集(Test Program Set,TPS)的開發效率。
【專利說明】一種可視化生成面向信號應用程序代碼的方法及裝置
【技術領域】
[0001]本發明屬于測試測量(Test and Measurement, T&M)領域,具體來說是一種可視化生成符合IEEE 1641標準和IEEE 1671標準面向信號的應用程序代碼的方法以及裝置。
【背景技術】
[0002]ATS中,TPS的重用性及可移植性是非常重要的衡量指標。從TPS的開發的發展過程逐步經歷了面向儀器到面向功能,再到面向信號的轉變。
[0003]其中面向儀器的TPS開發基于儀器功能,思路簡單直觀,直接利用測試儀器所提供的應用程序接口(Applicat1n Programming Interface,API)來實現測試需求,可互換虛擬儀器(Interchangeable Virtual Instrument, IVI)標準是其典型代表。但這種方式的缺點是測試與具體的儀器綁定,難以保證軟件的移植性,也致使TPS通用性變差、開發周期偏長。
[0004]在面向功能的TPS開發方面,軟件不再與具體儀器綁定,而是面向各種特定的儀器功能接口,IV1-MSS (Measurement and Stimulus Subsystems)標準是其典型代表。但由于這些功能接口通常是由特定廠商規定的,因此軟件的移植性還是受到限制。
[0005]面向信號的TPS開發方式基于被測對象(Unit Under Test,UUT)的測試需求和測試資源的測試/激勵能力,解決了需求與供應之間的矛盾,通用性強,是實現代碼移植性的最終解決方案。ATML標準就是基于此應運而生,由IEEE 1671.1測試描述標準以及其他測試資源描述標準共同構成,標準以XML格式提供了各種對象的形式化表達,如何將這些數據轉換為實際的應用就成了一個現實問題。
[0006]目前常見的面向信號的TPS開發環境一般可以分為兩類,一種是采用圖形化的方式,另一種是采用文本的方式。
[0007]圖形化編程環境中一般包含了若干圖元庫,圖元庫中包括了基本數據元素,如信號函數、測試步驟等,以及基于這些數據元素的各種基本和高級操作,如“加”、“減”、“乘”、“除”、“濾波”等等,典型產品例如歐洲的EADS公司的NewWaveX等。編程者只要將這些基本圖元按照需要用線條連接就可以編制成特定邏輯的信號函數,這種方式構建的應用程序從外觀上類似于邏輯框圖。這種方式的優點是直觀快捷,但缺點是不適用于大型軟件的開發,特別是當其中具有復雜算法時,框圖中過多的連線往往會造成理解以及維護上的困難。
[0008]基于文本的編程方式,通常由前端代碼文本編輯器以及后端的編譯器、鏈接器等部件構成,以文本的方式按照特定的語法詞法規則組織數據以及指令,這也是傳統的應用程序開發方式,采用的多是各種高級語言,如C、C++、VB等等,美國的AAI公司開發的SEPT(Software Environment for Product Test)軟件就是這方面的代表。SEPT使用符合ATML中IEEE Std 1671.1 Test Descript1n標準的XML文件作為中間語言,使用C++代碼完成測試邏輯的實現。這種方式可以用于各種規模軟件的開發,但是從時效性角度來看,對于邏輯規模不大的應用,相較于圖形方式優勢不明顯。
[0009]出于快速交付應用的迫切需要,近幾年在軟件行業,包括測試測量領域的軟件中還出現了介于上述二者之間的輔助工具,即各種各樣的代碼生成器,通過這些代碼生成工具,規避了傳統編程過程中可能存在的語法不規范的問題,借此提高開發效率以及代碼復用率、降低開發成本。通常的做法都是在前端完成可視化編輯后,由工具生成相應業務代碼。但是目前的代碼生成器,難以在代碼模型與圖形模型間實時同步,即如果用戶在代碼端修改了關鍵邏輯,在圖形端是無法體現這種變化的,從工程可維護性上體驗是較差的。
【發明內容】
[0010]本發明提供了一種可視化生成面向信號應用程序代碼的方法和裝置,用于簡單方便的將測試需求轉換為符合STD以及ATML的項目代碼,提高開發效率的同時,保證數據間的一致性。
[0011]為解決以上的技術問題,本發明的第一個方面是一種可視化生成面向信號應用程序代碼的方法,其特征是,包括如下步驟:
1)選擇目標代碼語言,根據所選擇的語言加載相應的語法規則;
2)基于ATML和STD標準,初始化測試資源和信號函數等數據對象;
3)獲取測試描述數據對象,根據所選的目標語言,生成相應的代碼框架,以及相應的設計界面;
4)獲取測試資源以及STD等數據對象,插入測試描述設計界面,同時在代將對應的代碼插入代碼框架;
5)在設計界面修改測試描述或修改測試描述代碼,同時同步修改另一個頁面的測試描述內容;
6)保存最終測試描述代碼。
[0012]所述目標代碼語言可以是各種面向對象的編程語言,如C#、Java、C++、Basic、Python 等。
[0013]所述測試資源指ATS中參與測試的要素,包括測試儀器、接口適配器以及UUT ;
所述信號函數指STD標準中的信號函數,包括基本信號組件(Basic SignalComponent, BSC)和測試信號框架(Test Signal Framework, TSF);
所述數據對象是使用目標代碼語言語法定義數據的屬性、描述以及行為等,例如類(Class);
所述代碼框架指符合目標代碼語言語法僅包括基本語言組件構成的模板;
所述設計界面是支持控件拖放的可視化容器。
[0014]本發明的第二個方面是提供一種可視化生成面向信號應用程序代碼的裝置,所述裝置包括數據源,與數據源相互連接的數據持久化模塊,以及與數據持久化模塊相互連接的可視化引擎、語法管理器、代碼解析引擎及代碼生成引擎。
[0015]上述數據源用于為數據提供存儲,形式可以為數據庫或數據文件;
所述數據持久化模塊用于提供對數據源的存取;
所述可視化引擎負責將所獲取的數據轉換為圖形的方式展示在界面上;
所述語法管理器用于管理裝置中已經保存的各種文本代碼語言的語法規則;
所述代碼解析引擎用于在運行時根據獲取的文本進行,從語法管理器中提取指定的語言語法規則進行分析; 所述代碼生成引擎用于將可視化數據對象根據規則轉換為符合指定語言的代碼文本。
[0016]本發明綜合利用STD信號概念、XML技術、可視化建模技術、實時解析技術等不同的元素,具有很多優點:
I】標準化。本發明的各種基礎數據對象(測試資源、信號等)均來源于標準,當目標語言選擇為XML時,最終輸出的測試描述代碼也符合IEEE Std 1671.1 Test Descript1n標準;
2】可視化。所有基礎數據模型均可以圖形化的方式顯示,測試描述可通過在界面上拖拽控件的可視化方式進行編輯,直觀高效;
3】可擴展。語法管理器、代碼生成引擎等核心部件均面向接口開發,因此開發者可以根據實際需要進行二次開發,使得本裝置所適用的代碼語言范圍大大增加。
[0017]4】實時預覽。在進行可視化編輯測試描述的同時,實時生成相應的代碼,可以第一時間看到最終輸出,并根據需要對生成的代碼進行編輯,所見即所得;
5】模型一致。代碼與對應的可視化圖形保持一致,無論編輯可視化模型,還是修改文本代碼,另一端都可以反映出變化,保持數據一致性的同時,提高了項目的維護性。
【專利附圖】
【附圖說明】
[0018]圖1為本發明實施例提供的可視化生成面向信號應用程序代碼的裝置結構框圖; 圖2為本發明實施例提供的可視化生成面向信號應用程序代碼的方法流程圖。
【具體實施方式】
[0019]下面將結合本發明實施例中的附圖1和附圖2,對本發明的目的、方法、技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域的普通技術人員在沒有做出創造性勞動前提下所獲得的的所有其他實施例,都屬于本發明保護的范圍。
[0020]I)初始化語法管理器
本實施例中,語法管理器通過加載符合指定語法規則接口的動態庫完成初始化,所述語法規則接口為一個公共接口,包含命名空間、類、數據、方法等基本代碼元素的操作方法聲明,任何一個符合該接口的所定義的語言均編譯為動態庫,然后由語法管理器識別。
[0021]2)獲取測試資源以及STD等數據對象
測試資源以及STD等數據對象可以持久化在某種形式的數據源中,在本身實施例中為數據庫,實際中也可使用標準格式的文本、Excel表格或XML文件等形式。
[0022]3)選擇目標代碼語言
裝置根據所選擇的語言初始化代碼解析引擎、代碼生成引擎;
4)初始化測試描述的編輯界面
用戶在裝置提供的界面上完成測試描述的初始信息的輸入,然后裝置調用可視化引擎初始化設計界面以及代碼頁面,同時調用代碼生成引擎根據所選的目標語言,生成相應的代碼框架。初始化設計界面時,加載測試資源、信號函數的圖形化控件。
[0023]設計界面為工程人員提供符合測試測量業務應用的各種模板,以滿足各種情形的需要。模板中包括基本的測試測量步驟,例如初始化、連接、測量、重置、斷開連接等等,裝置所提供的設計界面支持常見可視化界面的操作,例如鼠標拖放、屬性數據編輯等。
[0024]5)修改測試描述
根據測試需求,工程人員修改測試邏輯,裝置同步設計界面以及代碼界面。
[0025]裝置通過代碼生成引擎,根據拖放的控件,將其對應的代碼插入到測試描述的代碼框架中,并將控件的屬性變化,通過代碼解析引擎同步到相應的代碼中,從而實現了代碼生成的可視化。
[0026]由于某些測量的需要,其中需要包含特定的非常規算法,這樣的算法在設計界面中不方便表達,工程人員可以直接在代碼界面完成編輯。由于算法的實現通常都是由若干個方法塊構成,這樣可視化引擎在代碼解析引擎的輔助下可以將其轉換為若干個圖形塊,并根據調用關系,建立數據連線,從而也實現了代碼的靈活性。由于解析、轉換是實時完成的,因此開發者可以根據需要在設計界面與代碼界面靈活切換,提高開發效率。
[0027]6)保存代碼
裝置根據當前編輯結果,將相應的代碼保存到本地計算機的磁盤中。
【權利要求】
1.一種可視化生成面向信號應用程序代碼的方法,其特征在于,包括如下步驟: 1)選擇目標代碼語言,根據所選擇的語言加載相應的語法規則; 2)基于ATML和STD標準,初始化測試資源和信號函數等數據對象; 3)獲取測試描述數據對象,根據所選的目標語言,生成相應的代碼框架,以及相應的設計界面; 4)獲取測試資源以及STD等數據對象,插入測試描述設計界面,同時在代將對應的代碼插入代碼框架; 5)在設計界面修改測試描述或修改測試描述代碼,同時同步修改另一個頁面的測試描述內容; 6)保存最終測試描述代碼。
2.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述目標代碼語言是各種面向對象的編程語言。
3.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述測試資源指ATS中參與測試的要素,包括測試儀器、接口適配器以及UUT。
4.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述信號函數指STD標準中的信號函數,包括基本信號組件和測試信號框架。
5.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述數據對象是使用目標代碼語言語法定義數據的屬性、描述以及行為。
6.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述代碼框架指符合目標代碼語言語法僅包括基本語言組件構成的模板。
7.根據權利要求1所述可視化生成面向信號應用程序代碼的方法,其特征在于:所述設計界面是支持控件拖放的可視化容器。
8.一種實現權利要求1可視化生成面向信號應用程序代碼方法的裝置,其特征在于:包括數據源,與數據源相互連接的數據持久化模塊,以及與數據持久化模塊相互連接的可視化引擎、語法管理器、代碼解析引擎及代碼生成引擎。
9.根據權利要求8所述可視化生成面向信號應用程序代碼方法的裝置,其特征在于:所述數據源用于為數據提供存儲,形式可以為數據庫或數據文件; 所述數據持久化模塊用于提供對數據源的存取; 所述可視化引擎負責將所獲取的數據轉換為圖形的方式展示在界面上; 所述語法管理器用于管理裝置中已經保存的各種文本代碼語言的語法規則; 所述代碼解析引擎用于在運行時根據獲取的文本進行,從語法管理器中提取指定的語言語法規則進行分析; 所述代碼生成引擎用于將可視化數據對象根據規則轉換為符合指定語言的代碼文本。
【文檔編號】G06F9/44GK104461528SQ201410712066
【公開日】2015年3月25日 申請日期:2014年12月1日 優先權日:2014年12月1日
【發明者】郭恩全, 陳曉明 申請人:陜西海泰電子有限責任公司