论文部分内容阅读
作物生长模拟模型是揭示作物生长发育与自然环境以及栽培管理技术之间定量关系的数学模型,它利用计算机软件技术对作物生长过程进行动态模拟和预测。因此,构建作物模型软件系统是数字农作研究的重要内容。但现有的作物模型软件开发一般都存在着领域知识专业性过强、模型重复研发,模型软件系统的实现受限于具体的编程语言和编程技巧,模型软件系统的开发速度往往落后于作物生长模型的科学研究。需要研究面向农业系统研究人员的快速建模方法,设计和研制通用化、规范化、非编程的作物模型建模工具。元建模是对建模语言进行建模,最终生成面向特定领域的建模语言(Domain Specific Language, DSL)和领域建模工具。目前在系统仿真领域和电信领域的元建模应用案例表明通过元建模可以规范领域模型,提升领域模型的重用性,降低领域专家获取领域模型软件的难度。因此,应用元建模技术可以解决作物生长模型软件中存在的上述问题。但是,目前元建模技术在实际应用中存在如下三个问题:①元建模应用中较少关注领域动态行为概念的识别。②元建模技术在作物生长模拟领域应用中使用UML描述作物生长模型结构不便于农学建模人员使用。③基于元模型的作物生长模型建模工具普遍存在建模图形元素不直观,建模界面不美观等问题。针对上述问题,本文首先对水稻、小麦等大田作物的生长模型进行分析提炼,构建了作物生长模拟共性概念模型。然后在作物生长模拟共性概念模型的基础之上,按照元建模理论构建了基于ECore的作物生长元模型;最后通过GMF构建了基于作物生长元模型的作物生长模型可视化设计工具。最后通过WheatGrow小麦生育期模型、ORYZA2000水稻生育期模型的构建实验表明本文所构建的作物生长元模型和作物生长模型设计工具是可行的。本文主要研究贡献如下:(1)构建了作物生长模拟共性概念模型,为作物生长元模型的构建提供基础。通过对水稻、小麦等大田作物的生长模型共性概念特征进行分析发现,作物生长模拟模型可由共性的模型结构、算法结构和计算变量共三部分组成。共性模型结构中包括模型、模型组分以及算法组分等3个对象和层次关系、包含关系、与或关系、计算过程关系和依赖关系等5种关系以及关键环节控制规则、全生育期循环规则、逐日计算规则和拓扑排序规则等4种规则。共性算法结构中包括算法、条件块公式组、条件块、公式组、条件、公式、逻辑运算符、关系运算符以及算术运算符等9个对象和层次关系、包含关系、计算过程关系、条件对象之间的逻辑与或关系以及公式对象之间的顺序计算关系等5种关系以及公式之间的计算规则、条件块公式组的计算约束规则。共性计算变量包括模型与外界交互的气象、土壤、栽培、作物、品种以及模型输出量等6个基础对象和模型内部计算交互的中间变量对象。(2)提出了基于ECore的作物生长元模型抽象语法构建方法。在作物生长模拟共性概念模型的基础之上,首先将计算变量、模型结构和算法结构中的对象转换为通过EClass实例化得到的对象元类;将模型结构中的层次关系、包含关系、与或关系、计算过程关系和依赖关系以及算法结构中的层次包含关系、条件块组织条件关系、公式组组织公式关系和计算过程关系转换为通过EReference实例化得到的对象元类间的组合和关联关系以及通过代码实现的对象元类间的关系。将模型结构中的关键环节控制规则、全生育期循环规则、逐日计算规则和拓扑排序规则以及算法结构中的公式之间的计算规则、条件块公式组的计算约束规则使用OCL和代码实现。;最后通过建立算法组分对象元类和算法对象元类之间的组合关系以及模型结构和算法结构中对象元类和计算变量对象元类之间的组合关系得到基于ECore的作物生长元模型抽象语法。(3)构建了基于ECore和GMF的作物生长元模型图形语法。为共性模型结构中的模型、模型组分和算法组分对象分别构建了对应的图形语法。通过GMF分屏技术实现层次以及包含关系图形语法,通过绘制关键模型组分图形表示法和关键算法组分图形表示法的形式实现与或关系图形语法,通过基于工Type的连接线建模技术实现计算过程关系和依赖关系图形语法。为共性算法结构中的算法、条件块公式组、条件和公式对象构建了以列表形式展示的图形语法。在算法内部按照“条件块公式组集合”的形式,在条件块公式组内部按照“条件集合+公式集合”的形式作为层次包含关系、条件块组织条件关系、公式组组织公式关系以及计算过程关系的图形语法。直接以计算变量中的气象、土壤、栽培、作物、品种、模型输出量以及中间变量的文本书写形式作为其对应的图形语法。(4)研制了基于元模型的作物生长模型可视化设计工具,便于农业系统研究人员进行作物生长模型建模活动。在作物生长元模型的基础之上,研制了基于Eclipse平台的作物生长模型可视化设计工具。本文设计了以下3个实验:①构建了小麦、水稻、油菜和棉花生长元模型,表明本文研究的作物生长元模型可实例化得到不同作物类别的生长元模型。②基于小麦、油菜和棉花生长元模型分别构建了WheatGrow小麦生育期模型、RapeGrow由菜生育期模型和CottonGrow棉花生育期模型,表明本工具可复用已有建模知识。③在ORYZA2000水稻生育期模型中多增加了一个土温效应,表明本文研究的作物生长元模型具有良好的可扩展性。④描述了WheatGrow小麦生育期模型算法和计算变量,表明本工具可可完整的描述模型算法和模型输入输出变量以及内部中间变量。⑤通过拓扑排序等规则的测试表明本文所研究的作物生长元模型中约束规则的正确性。