基于Ecore的作物生長元模型構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及精準(zhǔn)農(nóng)業(yè)和農(nóng)業(yè)系統(tǒng)模擬領(lǐng)域,具體地講是基于Ecore的作物生長元模型構(gòu)建方法。
【背景技術(shù)】
[0002]農(nóng)業(yè)信息技術(shù)的發(fā)展為農(nóng)業(yè)可持續(xù)發(fā)展帶來了重大突破,作物生產(chǎn)與管理過程的信息化、網(wǎng)絡(luò)化、智能化、精確化、高效化和科學(xué)化是農(nóng)業(yè)信息領(lǐng)域發(fā)展與應(yīng)用的核心。其中,作物生長模擬是農(nóng)業(yè)信息技術(shù)發(fā)展的基礎(chǔ)。作物生長模擬模型是在作物科學(xué)中引進(jìn)系統(tǒng)分析方法和應(yīng)用計(jì)算機(jī)后興起的新型領(lǐng)域。它根據(jù)作物生理學(xué)和生態(tài)學(xué)原理,通過對(duì)作物生長過程獲得的實(shí)驗(yàn)數(shù)據(jù)加以理論概括和數(shù)據(jù)抽象,建立關(guān)于作物物候發(fā)育、光合生產(chǎn)、器官建成和產(chǎn)量形成等生理過程與環(huán)境因子之間關(guān)系的動(dòng)態(tài)數(shù)學(xué)模型,然后通過構(gòu)建作物模型軟件系統(tǒng),進(jìn)行動(dòng)態(tài)的定量化分析作物生長過程的模擬。其中作物模擬模型軟件開發(fā)過程中,作物生長模型建模知識(shí)復(fù)雜而龐大,不同學(xué)科人員對(duì)建模知識(shí)的理解困難,不利于農(nóng)學(xué)家與軟件開發(fā)人員之間的交流,使用專門的工具建模軟件已成為作物生長模擬的趨勢,常用的建模工具軟件有Simile、Stella以及Vensim等軟件,這些建模工具都可以將模型復(fù)雜的概念及概念之間的關(guān)系表示出來,但是不同建模工具所構(gòu)建的模型對(duì)已有模型知識(shí)的復(fù)用不夠,并且格式各不相同,導(dǎo)致模型資源的交流、共享與集成困難。按照元建模理論構(gòu)建作物生長元模型建模工具可以有效解決上述問題。元建模是用來構(gòu)建描述特定領(lǐng)域的模型語言的元模型和構(gòu)建基于此領(lǐng)域元模型的建模工具。元模型是描述某個(gè)特定領(lǐng)域的模型語言的模型,元建?;顒?dòng)使用統(tǒng)一規(guī)范標(biāo)準(zhǔn)構(gòu)建的元模型進(jìn)行模型的描述,可以實(shí)現(xiàn)不同建模工具所建立的模型之間的交流、共享與集成,同時(shí)能提供領(lǐng)域建模人員一個(gè)貼近領(lǐng)域的專用建模環(huán)境。利用元建模技術(shù),構(gòu)建特定領(lǐng)域的建模語言用于作物生長模型的描述,有利于開發(fā)人員對(duì)作物建模復(fù)雜專業(yè)知識(shí)的理解,同時(shí)提高了建模知識(shí)復(fù)用程度,使得構(gòu)建的作物模型可以重復(fù)使用。同時(shí)將建模語言構(gòu)建的模型轉(zhuǎn)換為不同平臺(tái)的代碼,有效提高了作物模型軟件系統(tǒng)的跨平臺(tái)性。
[0003]本發(fā)明提出基于Ecore的作物生長元模型構(gòu)建方法,通過基于Ecore的元建?;顒?dòng)構(gòu)建作物生長元模型,將對(duì)作物生長模擬模型建模知識(shí)融入到作物建模軟件的開發(fā)過程中,有利于對(duì)已有復(fù)雜專業(yè)知識(shí)的理解,同時(shí)提高了建模知識(shí)的復(fù)用程度,使得構(gòu)建的作物模型可重復(fù)使用。通過基于Ecore的元建?;顒?dòng)構(gòu)建的作物生長元模型用可視化的形式表現(xiàn)出來,可以提供農(nóng)學(xué)家一個(gè)貼近農(nóng)業(yè)領(lǐng)域的專用建模環(huán)境,按照元建模技術(shù)規(guī)范建立不同元模型之間的轉(zhuǎn)換方法,使得不同的農(nóng)學(xué)家運(yùn)用不同建模工具建立的模型之間可以交流、共享與集成。
【發(fā)明內(nèi)容】
[0004]本發(fā)明圍繞目前元建模技術(shù)較少關(guān)注領(lǐng)域動(dòng)態(tài)行為共性特征的識(shí)別、元建模技術(shù)在作物生長模擬領(lǐng)域應(yīng)用缺少符合元建模規(guī)范用于描述作物生長模型結(jié)構(gòu)的元模型,基于元建模的作物生長模型設(shè)計(jì)工具圖形界面不美觀等問題。通過重點(diǎn)關(guān)注作物生長模型中的模擬過程共性特征分析,提出了符合元建模標(biāo)準(zhǔn)的作物生長元模型構(gòu)建方法。本發(fā)明將Ecore元建模技術(shù)運(yùn)用到作物生長模擬元模型構(gòu)建中,構(gòu)建出作物生長模擬共性概念模型、作物生長模擬元模型抽象語法及作物生長模擬元模型圖形語法。發(fā)明主要完成以下任務(wù):在作物生長模型知識(shí)層次關(guān)系與元建模結(jié)構(gòu)的基礎(chǔ)上,抽象出作物生長過程中的共性特征,構(gòu)建基于Ecore的作物生長模擬共性概念模型。運(yùn)用基于Ecore的元建模技術(shù),實(shí)現(xiàn)基于Ecore的作物生長元模型抽象語法的構(gòu)建。運(yùn)用GMF技術(shù)開發(fā)作物生長模擬元模型圖形語法,實(shí)現(xiàn)了基于元建模的作物生長元模型構(gòu)建的可視化,提供了貼近農(nóng)學(xué)家建模的環(huán)境,實(shí)現(xiàn)作物發(fā)育模擬模型的可重復(fù)使用,促進(jìn)了作物發(fā)育模擬模型之間的交流、共享與集成。本發(fā)明的技術(shù)方案是:
[0005]本發(fā)明的作物生長模擬領(lǐng)域通用概念模型的構(gòu)建中通過對(duì)水稻、小麥等大田作物的生長模型的共性結(jié)構(gòu)進(jìn)行分析,發(fā)現(xiàn)作物生長模擬模型可由共性的模型結(jié)構(gòu)、算法結(jié)構(gòu)和計(jì)算變量三部分組成。本文首先識(shí)別出了存在與上述三個(gè)部分中的共性對(duì)象。著重關(guān)注并識(shí)別出了存在于作物生長模型結(jié)構(gòu)中的計(jì)算過程關(guān)系、依賴關(guān)系和關(guān)鍵環(huán)節(jié)控制規(guī)則、全生育期循環(huán)規(guī)則、逐日計(jì)算規(guī)則。存在于算法結(jié)構(gòu)中的計(jì)算過程關(guān)系、條件對(duì)象之間具有邏輯與、邏輯或關(guān)系、公式對(duì)象之間具有順序計(jì)算關(guān)系和公式之間的計(jì)算規(guī)則、條件塊公式組的計(jì)算約束規(guī)則。
[0006]本發(fā)明的作物生長元模型的構(gòu)建中提出了基于ECore的作物生長元模型抽象語法構(gòu)建方法。該方法分為模型結(jié)構(gòu)、算法結(jié)構(gòu)和計(jì)算變量三部分進(jìn)行作物生長元模型的構(gòu)建。首先將作物生長模型共性對(duì)象轉(zhuǎn)換為由EClass實(shí)例化得到的對(duì)象元類,將作物生長共性關(guān)系轉(zhuǎn)換為對(duì)象元類之間的組合關(guān)系和關(guān)聯(lián)關(guān)系,上述關(guān)系由EReference實(shí)例化得到。將作物生長共性約束規(guī)則轉(zhuǎn)換為用OCL和代碼描述的約束規(guī)則。
[0007]本發(fā)明基于GMF的作物生長元模型圖形語法的構(gòu)建中,通過使用基于GMF的圖形語法開發(fā)方法、GMF分屏技術(shù)、基于Type的連接線建模技術(shù)、SffT創(chuàng)建對(duì)話框技術(shù)以及Draw2D技術(shù)構(gòu)建了可以動(dòng)態(tài)變化的作物生長元模型圖形語法。并將小麥生長元模型、棉花作物生長元模型作為應(yīng)用案例,驗(yàn)證本文所構(gòu)建的作物生長元模型構(gòu)建方法的可行性。
[0008]本發(fā)明的有益效果:
[0009]本發(fā)明的作物生長模擬領(lǐng)域通用概念模型的構(gòu)建,抽取出作物生長過程中的共性特征,解決了作物生長模型知識(shí)層次關(guān)系與元建模結(jié)構(gòu)之間對(duì)應(yīng)關(guān)系問題,實(shí)現(xiàn)了元建模技術(shù)在作物生長模擬領(lǐng)域的應(yīng)用中對(duì)于作物生長模型的概念的識(shí)別,其中包括靜態(tài)結(jié)構(gòu)概念、動(dòng)態(tài)行為概念以及約束規(guī)則概念的識(shí)別。
[0010]本發(fā)明的作物生長元模型的構(gòu)建,提出了基于Ecore的作物生長元模型抽象語法構(gòu)建方法,并完成了作物生長元模型抽象語法的構(gòu)建,實(shí)現(xiàn)了元建模技術(shù)在作物生長模型領(lǐng)域應(yīng)用中通過符合元建模規(guī)范來描述作物生長模型結(jié)構(gòu)的元模型。
[0011]本發(fā)明的GMF的作物生長元模型圖形語法,通過GMF分屏技術(shù)、基于Type的連接線建模技術(shù)和Draw2D技術(shù)構(gòu)建了展現(xiàn)能力強(qiáng),可動(dòng)態(tài)變換的作物生長元模型圖形語法,實(shí)現(xiàn)了基于元建模的作物生長元模型構(gòu)建的可視化及建模圖形元素更加美觀,更加貼近農(nóng)學(xué)家建模環(huán)境。
【附圖說明】
[0012]圖1是本發(fā)明的技術(shù)路線框圖。
[0013]圖2是本發(fā)明的作物生長模型知識(shí)層次關(guān)系與元建模結(jié)構(gòu)之間的關(guān)系示意圖。
[0014]圖3是及模型結(jié)構(gòu)元概念對(duì)象間層次、包含以及與或關(guān)系示意圖。
[0015]圖4是本發(fā)明的模型結(jié)構(gòu)元模型抽象語法示意圖。
[0016]圖5是本發(fā)明的基于元模型的模型組分圖形語法示意圖。
[0017]圖6是本發(fā)明的小麥作物生長元模型的構(gòu)建實(shí)例示意圖。
[0018]圖7是本發(fā)明的棉花作物生長元模型的構(gòu)建實(shí)例示意圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。
[0020]如圖1所示,基于元建模理論,構(gòu)建作物生長元模型,然后研制基于作物生長元模型的作物生長模型的方法。第一步是知識(shí)準(zhǔn)備階段。廣泛收集與元建模理論和作物生長模型相關(guān)的文獻(xiàn)、書籍和論文,學(xué)習(xí)相關(guān)理論知識(shí)。第二步是作物生長領(lǐng)域概念識(shí)別階段。在元建模領(lǐng)域概念識(shí)別方法的支撐下,通過分析作物生長模型抽象得到作物生長模型共性概念、概念間相互關(guān)系以及通用約束規(guī)則。從模型結(jié)構(gòu)、算法結(jié)構(gòu)、計(jì)算變量和規(guī)則約束四個(gè)方面進(jìn)行作物生長模擬領(lǐng)域概念識(shí)別。第三步是作物生長元模型抽象語法的構(gòu)建,按照元建模理論分別構(gòu)建基于ECore的作物生長元模型抽象語法,從模型結(jié)構(gòu)、算法結(jié)構(gòu)、計(jì)算變量三部分分別構(gòu)建其元模型抽象語法,并進(jìn)行三部分抽象語法的整合。第四步,基于GMF的作物生長圖形語法的構(gòu)建。然后通過Draw2D技術(shù)補(bǔ)充GMF不能描述的作物生長圖形語法(GMF只能描述靜態(tài)的圖形語法,通過Draw2D技術(shù)可以實(shí)現(xiàn)動(dòng)態(tài)變化的圖形語法),使用代碼編程技術(shù)補(bǔ)充OCL不能描述的作物生長元模型語義(0CL只能實(shí)現(xiàn)較為簡單的約束,通過代碼編程可以實(shí)現(xiàn)諸如靜態(tài)結(jié)構(gòu)模擬過程拓?fù)渑判虻燃s束語義)。第五步則是通過分別構(gòu)建小麥生生長模型和棉花生育時(shí)期及蕾鈴發(fā)生發(fā)育模型及約束作物生長模擬過程需滿足的作物生理生態(tài)過程規(guī)則元模型,驗(yàn)證本方法可以適用于多種不同作物建模。同時(shí)具有良好的可擴(kuò)展性。
[0021]如圖2所示,是本發(fā)明的作物生長模型知識(shí)層次關(guān)系與元建模結(jié)構(gòu)之間的關(guān)系示意圖,通過對(duì)水稻、小麥等大田作物的生長模型共性概念特征進(jìn)行分析發(fā)現(xiàn),作物生長模擬模型可由共性的模型結(jié)構(gòu)、算法結(jié)構(gòu)和計(jì)算變量共三部分組成。作物生長模擬模型所具有的共性概念,概念間相互關(guān)系以及約束規(guī)則是模型知識(shí)對(duì)象之間隱藏的規(guī)律關(guān)系,體現(xiàn)了不同作物類型、不同模型類型相同或相似的生理生態(tài)過程和規(guī)律。
[0022]將作物生長模擬共性概念模型中的模型結(jié)構(gòu)實(shí)例化后可得到某類作物生長元模型結(jié)構(gòu)(比如小麥生長元模型結(jié)構(gòu)和水稻生長元模型結(jié)構(gòu)),體現(xiàn)了某類作物所具有的的共性結(jié)構(gòu)。作物生長模擬共性概念模型和某類作物具有的共性結(jié)構(gòu)均處于M2元模型層,可以通過實(shí)例化某類作物具有的共性結(jié)構(gòu)和作物生長模擬共性概念模型中的算法結(jié)構(gòu)和計(jì)算變量得到位于Ml模型層的某類作物的模型。比如可將某類作物生長元模型結(jié)構(gòu)實(shí)例化可到某個(gè)作物模型的通用模型結(jié)構(gòu)(比如WheatGrow模型結(jié)構(gòu)和0RYZA2000模型結(jié)構(gòu))。將算法結(jié)構(gòu)實(shí)例化可得到某個(gè)作物模型的算法(比如WheatGrow算法和0RYZA2000