專利名稱:嵌入式構(gòu)件自動生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及構(gòu)件的生成技術(shù),特別地,涉及一種在組態(tài)開發(fā)平臺中的嵌 入式構(gòu)件的生成技術(shù)。
背景技術(shù):
隨著嵌入式技術(shù)的飛速發(fā)展,軟件設(shè)計中嵌入式組態(tài)開發(fā)在嵌入式開發(fā) 中占的比重越來越大。由于嵌入式組態(tài)中的各種構(gòu)件的功能封裝,對組態(tài)構(gòu) 件庫中的構(gòu)件數(shù)量和種類的限制, 一方面難以滿足當(dāng)今嵌入式組態(tài)開發(fā)的多
樣化需求,導(dǎo)致整體的組態(tài)開發(fā)的靈活性大大降低;另一方面產(chǎn)生大量的冗 余代碼,不僅降低了開發(fā)效率,而且整個系統(tǒng)的修改性和應(yīng)用性也有所降低。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有組態(tài)開發(fā)中單一的嵌入式構(gòu)件開發(fā),提供一 種嵌入式構(gòu)件自動生成以及優(yōu)化的方法。
本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的 一種嵌入式構(gòu)件自動生成 方法,包括以下步驟
(1) 嵌入式構(gòu)件功能劃分把嵌入式構(gòu)件劃分為數(shù)據(jù)獲取、數(shù)據(jù)處理、數(shù) 據(jù)輸出三大類。數(shù)據(jù)獲取類構(gòu)件用來接收數(shù)據(jù)的輸入。數(shù)據(jù)處理類構(gòu)件含有 各種對數(shù)據(jù)進行處理的算法模塊。數(shù)據(jù)輸出類構(gòu)件用來獲取輸出的數(shù)據(jù)。
(2) 嵌入式構(gòu)件設(shè)計嵌入式構(gòu)件設(shè)計包括外觀設(shè)計和功能設(shè)計兩部分, 根據(jù)不同的構(gòu)件類別會有不同,設(shè)計完的信息都采用XML描述語言進行描述。
(3) 將設(shè)計完成的構(gòu)件加入組態(tài)構(gòu)件庫便于自動生成的嵌入式構(gòu)件的復(fù) 用和重新編輯,并且構(gòu)件庫中的構(gòu)件信息包含構(gòu)件的各種信息,因此系統(tǒng)的 將所有嵌入式構(gòu)件以XML描述語言方式,以節(jié)點的格式存放在一個XML文件 中產(chǎn)生嵌入式組態(tài)構(gòu)件庫。
(4) 對特定嵌入式構(gòu)件進行編輯修改。
3進一步地,所述嵌入式構(gòu)件外觀設(shè)計包括確定構(gòu)件的名稱及其顏色大小等基 本屬性,還包括構(gòu)件的接口設(shè)計;嵌入式構(gòu)件的功能設(shè)計包括構(gòu)件的功能屬 性設(shè)計和下位機代碼綁定兩部分。
本發(fā)明的有益效果是通過嵌入式構(gòu)件自動生成方法,可以使在嵌入式 組態(tài)開發(fā)平臺中的構(gòu)件能實現(xiàn)各種靈活的功能,方便嵌入式組態(tài)開發(fā)。
圖1是嵌入式構(gòu)件自動生成方法結(jié)構(gòu)框圖2是基于功能需求的嵌入式組態(tài)類構(gòu)件自動生成設(shè)計流程圖; 圖3是基于效率需求的嵌入式組態(tài)類構(gòu)件自動生成設(shè)計流程圖4是XML描述語言中存放一個構(gòu)件信息結(jié)構(gòu)圖5是由圖4在嵌入式組態(tài)開發(fā)平臺中生成的可視構(gòu)件及其功能屬性圖。
具體實施例方式
本發(fā)明的嵌入式構(gòu)件自動生成方法,包括以下步驟.
1嵌入式構(gòu)件功能劃分
把嵌入式構(gòu)件劃分為數(shù)據(jù)獲取、數(shù)據(jù)處理、數(shù)據(jù)輸出三大類。數(shù)據(jù)獲取 類構(gòu)件用來接收數(shù)據(jù)的輸入。數(shù)據(jù)處理類構(gòu)件含有各種對數(shù)據(jù)進行處理的算 法模塊,如用于算術(shù)運算或規(guī)則轉(zhuǎn)換等。數(shù)據(jù)輸出類構(gòu)件用來獲取輸出的數(shù) 據(jù)。不同種類的功能存在不同的功能屬性,包括屬性類型、屬性初值、屬性 名稱等。
2嵌入式構(gòu)件設(shè)計
嵌入式構(gòu)件設(shè)計包括外觀設(shè)計和功能設(shè)計兩部分,根據(jù)不同的構(gòu)件類別
會有不同,設(shè)計完的信息都采用XML描述語言進行描述。 2. 1嵌入式構(gòu)件外觀設(shè)計
嵌入式構(gòu)件外觀設(shè)計包括確定構(gòu)件的名稱及其顏色大小等基本屬性,還 包括構(gòu)件的接口設(shè)計。
2.1.1構(gòu)件類別、名稱主要確定構(gòu)件類型歸屬的信息,從而確定構(gòu)件的 外形模式,比如"ControlTactic. Constant"作為常數(shù)類型的構(gòu)件。生成時 的構(gòu)件外形需要根據(jù)此信息從構(gòu)件庫找到正確的構(gòu)件大小和基本外型。下面就是構(gòu)件"常數(shù)"的此部分信息,也是此構(gòu)件XML信息的主節(jié)點 〈FDToolBoxItem Type="ControlTactic. Constant, ControlTactic,常數(shù): 變量">
2. 1. 2構(gòu)件的基本屬性
主要包含了構(gòu)件的可視信息,包括構(gòu)件在開發(fā)平臺中的名稱,構(gòu)件的輸 入輸出接口的名稱以及數(shù)量,構(gòu)件的顏色以及文字顏色等。其中輸入輸出接 口信息根據(jù)用戶要求確定的構(gòu)件類型來進行接口設(shè)計
(1) 數(shù)據(jù)獲取類構(gòu)件,由于指定輸入數(shù)據(jù)源,作為數(shù)據(jù)流的起始端, 則不具備輸入接口,而可具備一個輸出接口。
(2) 數(shù)據(jù)處理類構(gòu)件,由于該類構(gòu)件作為數(shù)據(jù)流的中間部分,根據(jù)構(gòu) 件的具體要求具備一個或多個輸入接口,以及一個或多個輸出接口。
(3) 數(shù)據(jù)輸出類構(gòu)件,由于指定數(shù)據(jù)輸出目標(biāo),作為數(shù)據(jù)流的終末端, 則不具備輸出接口,但具備一個輸入接口。
下面就是構(gòu)件"加法"的此部分信息
〈BasicProperty>
<Property name二"ModuleN咖e〃〉A(chǔ)DD〈/Property〉 〈Property name=〃TextColor〃>255, 0, 0, 255〈/Property> 〈Property name=〃OutputName〃〉PV〈/Property〉 <Property name二〃I叩utName〃〉EN, INO, INl</Property〉 〈Property
name="ModuleColor〃〉255, 255, 255, 255〈/Property>
〈Property name二' "ModuleSort〃〉加法〈/Property〉 〈/BasicProperty〉 2. 2嵌入式構(gòu)件的功能設(shè)計
嵌入式構(gòu)件的功能設(shè)計包括,構(gòu)件的功能屬性設(shè)計和下位機代碼綁定兩 部分
2. 2. 1構(gòu)件的功能屬性
主要包含了構(gòu)件的功能模塊所需要功能屬性,包括屬性的初值、類型、 名稱、用戶可見度(可修改)等屬性。
下面是構(gòu)件"脈沖輸入"的此部分信息 <FunctionProperty〉
〈Property name二〃工程單位轉(zhuǎn)換因子〃 varname=〃fCl〃 type=〃System. Single〃 visible=〃yes〃>(K/Property>〈Property name二〃儀表系數(shù)〃 varname二〃fC2〃 type=〃System. Single" visible=〃yes〃>0</Property>
〈Property name二〃基本時間單位〃 varname二〃ucTBase〃 type二〃MyEn咖〃 visible二〃yes〃〉秒,分鐘,小時〈/Property〉 〈/FunctionProperty> 2. 2. 2與構(gòu)件綁定的下位機代碼信息 主要包含了構(gòu)件綁定的下位機代碼,當(dāng)用戶從構(gòu)件庫拖入操作平臺中進 行拖拉使用時,會自動生成下位機所需的代碼部分。
下面就是構(gòu)件"輸入變量"的此部分信息 〈CodeProperty>
<CodeLine>〃輸入Bingo void LDControl (float a)
{ Push(¶mStack, a); }〈/CodeLine〉
〈/CodeProperty>
在對嵌入式構(gòu)件設(shè)計完成后生成的四部分XML描述后就產(chǎn)生一個完整的 嵌入式構(gòu)件描述節(jié)點。
圖4就是完整構(gòu)件在XML文件中一個描述節(jié)點,以及由該XML信息所生 成的構(gòu)件在嵌入式組態(tài)開發(fā)平臺中的樣式如圖5所示
3將設(shè)計完成的構(gòu)件加入組態(tài)構(gòu)件庫
便于自動生成的嵌入式構(gòu)件的復(fù)用和重新編輯,并且構(gòu)件庫中的構(gòu)件信 息包含構(gòu)件的各種信息,因此系統(tǒng)的將所有嵌入式構(gòu)件以XML描述語言方式, 以節(jié)點的格式存放在一個XML文件中產(chǎn)生嵌入式組態(tài)構(gòu)件庫。根據(jù)用戶需求 還可以加入特殊全局型信息,如下位機代碼的頭文件代碼、注釋等。
至此,依據(jù)功能需求的嵌入式組態(tài)類構(gòu)件自動生成的結(jié)構(gòu)圖參見圖1, 設(shè)計步驟見圖2。
4對特定嵌入式構(gòu)件進行編輯修改
用戶在使用現(xiàn)有構(gòu)件庫中或自動生成的組態(tài)構(gòu)件時,可能只使用構(gòu)件的 部分功能屬性和方法,其余功能代碼因為與當(dāng)前功能實現(xiàn)無關(guān)成為冗余代 碼,因此需要對構(gòu)件進行優(yōu)化,對已有的構(gòu)件進行編輯、修改等操作。 以下是對特定嵌入式構(gòu)件進行編輯修改的具體步驟-
4.1目標(biāo)構(gòu)件的功能進行模塊化 對目標(biāo)構(gòu)件中的需求功能進行細化,確定各功能之間的關(guān)聯(lián)關(guān)系,并確 定用戶需求的功能,從而確定目標(biāo)構(gòu)件的構(gòu)件類型是否變動。 4.2精簡接口、屬性
6根據(jù)功能模塊對構(gòu)件的接口 、功能屬性以及模塊依賴關(guān)系進行再設(shè)計。 對不需要的輸入或輸出接口,以及功能屬性進行刪除。
4.3修改綁定的下位機代碼 如果對目標(biāo)構(gòu)件在下位機中實現(xiàn)的功能需要改動,則需要對此部分進行 修改。
完成對構(gòu)件的優(yōu)化設(shè)計,并將生成的新構(gòu)件以XML格式存入組態(tài)構(gòu)件庫 用于使用。至此,基于效率需求對嵌入式組態(tài)類構(gòu)件優(yōu)化的結(jié)構(gòu)圖參見圖1, 設(shè)計步驟見圖3。
以上所述僅為本發(fā)明幾個實施例,但不能以此限制本發(fā)明范圍,凡依據(jù) 本發(fā)明所做的結(jié)構(gòu)上的變化、功能模塊的增刪,只要不失本發(fā)明的要義所在, 都應(yīng)視為落入本發(fā)明保護范圍之內(nèi)受到制約。
權(quán)利要求
1、一種嵌入式構(gòu)件自動生成方法,其特征在于,包括以下步驟(1)嵌入式構(gòu)件功能劃分把嵌入式構(gòu)件劃分為數(shù)據(jù)獲取、數(shù)據(jù)處理、數(shù)據(jù)輸出三大類。數(shù)據(jù)獲取類構(gòu)件用來接收數(shù)據(jù)的輸入。數(shù)據(jù)處理類構(gòu)件含有各種對數(shù)據(jù)進行處理的算法模塊。數(shù)據(jù)輸出類構(gòu)件用來獲取輸出的數(shù)據(jù)。(2)嵌入式構(gòu)件設(shè)計嵌入式構(gòu)件設(shè)計包括外觀設(shè)計和功能設(shè)計兩部分,根據(jù)不同的構(gòu)件類別會有不同,設(shè)計完的信息都采用XML描述語言進行描述。(3)將設(shè)計完成的構(gòu)件加入組態(tài)構(gòu)件庫便于自動生成的嵌入式構(gòu)件的復(fù)用和重新編輯,并且構(gòu)件庫中的構(gòu)件信息包含構(gòu)件的各種信息,因此系統(tǒng)的將所有嵌入式構(gòu)件以XML描述語言方式,以節(jié)點的格式存放在一個XML文件中產(chǎn)生嵌入式組態(tài)構(gòu)件庫。(4)對特定嵌入式構(gòu)件進行編輯修改。
2、 根據(jù)權(quán)利要求l所述嵌入式構(gòu)件自動生成方法,其特征在于,所述步驟 (2)具體為-(A) 嵌入式構(gòu)件外觀設(shè)計嵌入式構(gòu)件外觀設(shè)計包括確定構(gòu)件的名稱及其顏色大小等基本屬性,還包括構(gòu)件的接口設(shè)計。(B) 嵌入式構(gòu)件的功能設(shè)計嵌入式構(gòu)件的功能設(shè)計包括構(gòu)件的功能屬性設(shè)計和下位機代碼綁定兩部分。
全文摘要
本發(fā)明公開了一種嵌入式構(gòu)件自動生成方法,該方法依據(jù)功能需求的嵌入式組態(tài)類構(gòu)件自動生成以及基于效率需求的嵌入式組態(tài)類構(gòu)件優(yōu)化;本發(fā)明一方面可以使在嵌入式組態(tài)開發(fā)平臺中的構(gòu)件能實現(xiàn)各種靈活的功能,方便嵌入式組態(tài)開發(fā);另一方面便于實現(xiàn)移植自動化。
文檔編號G06F9/44GK101561757SQ200910098999
公開日2009年10月21日 申請日期2009年6月1日 優(yōu)先權(quán)日2009年6月1日
發(fā)明者義 嚴(yán), 良 李, 趙建勇, 鄔惠峰 申請人:杭州電子科技大學(xué)