资源环境模型库管理系统的构建方法研究

更新时间:2023-04-22 12:41:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ComputerEngineeringandApplications计算机工程与应用2007,43(26)17

资源环境模型库管理系统的构建方法研究

黄宏胜1,2,4,岳天祥1,范泽孟3

HUANGHong-sheng1,2,4,YUETian-xiang1,FANZe-meng3

1.中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室,北京1001012.江西农业大学国土资源与环境学院,南昌330045

3.中国科学院生态环境研究中心系统生态国家重点实验室,北京1000854,中国科学院研究生院,北京100049

1.StateKeyLaboratoryofResourceandEnvironmentInformationSystem,InstituteofGeographicSciencesandNatureResourcesResearch,CAS,Beijing100101,China

2.CollegeofLandResourceandEnvironment,JAU,Nanchang330045,China

3.StateKeyLabofSystemsEcology,ResearchCenterforEco-EnvironmentalSciences,CAS,Beijing100085,China4.GraduateSchooloftheChineseAcademyofSciences,Beijing100049,ChinaE-mail:hhs16@vip.sina.com

HUANGHong-sheng,YUETian-xiang,FANZe-meng.MethodforconstructingresourceandenvironmentModelbase

(26):17-20.ManagementSystem.ComputerEngineeringandApplications,2007,43

Abstract:ModelbaseManagementSystem(MMS)isoneofthemostimportantissuesintheresourceandenvironmentresearch

domain.Basedonthelevelofmodelabstraction,modelscanbeclassifiedto3types:scalemodels,conceptualmodelsandmathe-

(RE-Models)areformulatedinamathematicalway.Afteranalyzingallmaticalmodels.Ingeneral,ResourceandEnvironmentModels

RE-Modelsinmodelbase,theRE-Modelscanbemadeofatwo-levelmodelabstractionhierarchy:modelclassandmodelin-

“View-Modelbase-Engine”stance,inwhichobject-orientedmethodisadoptedtoexpresstheRE-Models.architectureisusedto

constructResourceandEnvironmentModelbaseManagementSystem(REMMS)onthebasisofrequirementanalysisforit.A

REMMSprototypeisdevelopedonWin32platformwithVisualC++.net2003.Solutionstothe3mainproblemarefinallyintro-

(3)modelduced:(1)modelstorageisimplementedbyobjectserializetechnology,(2)modelinstanceisconstructedbyflowchart,andinstanceexecutionisdrivedbyresourceandenvironmentmodelbaseengine.

(MMS);modelinstance;modelclass;GIS;modelbaseengineKeywords:ModelbaseManagementSystem

要:模型管理是资源环境研究领域急需解决的难题之一。根据抽象程度的不同,模型可以分为尺度模型、概念模型和数学模

型,资源环境模型常表现为数学模型。通过对大量资源环境数学模型的分析和归纳,可以把资源环境模型划分为两个层次:模型类在资源环境模型库管理系统需求分析的基础上,采用“视图-模型库-引和模型实例,并采用面向对象方法表达资源环境数学模型。

(REMMS)原型,并提出了REMMS构建中3擎”的结构,在Win32平台下用VC++.net2003构建了一个资源环境模型库管理系统个关键问题的解决方法:用对象序列化技术实现模型的存储、用流程图构建模型实例、采用资源环境模型库引擎驱动模型实例的运行。

关键词:模型库管理系统;模型实例;模型类;GIS;模型库引擎(2007)26-0017-04文章编号:1002-8331

文献标识码:A

中图分类号:TP311

源环境模型库管理平台。

目前,资源环境模型库管理系统的相关研究主要有:空间建模环境、模型库管理系统、模型与GIS集成和模型的分布式管理等。空间建模环境有利于建模者的参与,提高问题的解决能力,较常见的空间建模环境有[2]:VirtualGIS、ESRI的Model-(SpatialModelingEnvironment)。空间建模环境Builder和SME

多采用图形界面,使用方便,不需要用户编写代码,但是难以支持多个模型的复合。环境建模系统FEMME[3]可用于实现、求解

1引言

一个世纪以来,人类为了研究和解决世界面临的重大资源

与环境问题,发展了大量的数学模型,随着资源环境模型研究

[1]

的深入,模型数量日益增多,如《资源环境数学模型手册》收录

了3055组资源环境数学模型。当面对复杂的资源环境问题时,单个模型往往难堪重任,常需要多个模型相互协作,通过模型集成求解问题。为了充分利用已有的知识和模型,管理众多的资源环境模型和解决资源环境问题,急需建立一个有效的资

基金项目:国家科技支撑计划(No.2006BAC08B04);国家科技合作项目(No.2006DFB919201)。作者简介:黄宏胜(1976-),男,博士研究生,研究方向为资源环境模型与系统模拟。

182007,43(26)ComputerEngineeringandApplications计算机工程与应用

(deterministicmodels)和概率模型(probabilitymodel)。确定型

性模型构建的基础是控制自然物质运动的物理规律,通过这些规律可以寻找确切的机理过程并解释资源环境系统的行为;概率模型假设资源环境系统的组成和行为与偶然性相关,把初始假设表达为一系列的概率并设转换为概率模型,使用概率论的数学语言进行建模。根据具体的资源环境建模领域和应用范围,确定性模型和概率模型还可以进行更细致的划分。

在模型管理中,常采用不同的模型抽象层次降低模型管理的复杂度。Geoffrion[11]划分了模型抽象的4个层次:模型实例(modelinstance),模型类(modelclass),建模范例(modeling(modelingtradition),并举例说一个经典交paradigm),建模领域

通模型的数例可以开作是管理科学/运筹学建模领域“网络流”建模范例中“Hitchcock-Koopmans交通模型”模型类的一个模

[1]型实例。通过对《资源环境数学模型手册》3055组资源环境数

和分析生态学中的数学模型,建模分为3个阶段:模型公式化、选择数值解方案和模型应用,它支持多种集成方案,但不支持空间数据文件。Simile[4]是一个可视化的建模环境,它采用和系统动力学语法相似的基于对象的语法,使用开放的标准开发模型,这也促进了模型的共享,用户可以在Simile上开发更多的模型使用工具。

宫辉力等研究了GIS的模型库,认为应该开发一个模型库系统平台,对GIS应用模型进行分类和维护,支持模型的生成、存储、查询、运行和分析,并通过实例研究得出以下结论:(1)模型库系统的发展能改变GIS应用系统空间分析与空间模拟功能薄弱的现状,是实现GIS向SDSS转变的必由之路;(2)模型库系统平台的开发是一种更经济、灵活的方式,各领域的专家和普通用户都可以通过它建立特定领域的模型库;(3)人工智能和知识工程技术在模型库系统平台中具有很大的应用潜力。岳天祥[6]通过归纳现有数学模型与GIS的集成方法发现,目前的集成方法不能满足区域可持续发展集成模型的需要,讨论了数学模型与GIS有效集成需要深入研究的内容:开展模型库与数据库集成的标准规范研究,建立和发展数学模型建模规范。范泽孟等结合资源环境模型综合性和复合性的特点,构建了资源环境模型库系统通用平台的总体框架,并对资源环境模型库系统核心组成部分的功能结构及其与GIS的综合集成进行了设计。毕建涛等提出了模型方法元数据的概念和一套适用于资源环境系统的元数据库结构,以实现对模型与方法的有效管理,探讨了模型方法元数据同资源环境信息系统的集成方法。范泽孟等根据资源环境问题的复杂性和综合性,提出了资源环境综合模型的串联集成、并联集成和混联集成3种综合集成模式,并分析了各种集成模式下精度与可信度的计算方法。

为建立有效的资源环境模型库管理平台,满足资源环境模型应用的要求,需要鉴别资源环境模型的本质,化繁为简,解决模型的表达问题;采用先进的软件系统开发方法,解决资源环境模型的数据共享、模型求解等问题。针对以上要求,本文安排如下:(1)首先对资源环境模型进行分类,并提出一种面向对象的资源环境模型表达方法;(2)对资源环境模型库管理系统进行功能划分,提出资源环境模型的管理框架;(3)采用Visual

[9]

[8]

[7][5]

学模型的分析发现:许多模型具有相同的数学方程。如Logistic种群模型、植物生长模型、外来植物传播模型等,其数学方程均

(表示为Logistic方程P(t)=M/1+e-rM

)t-t*

,区别在于方程中状态变

量、解释变量和参数的含义及数值不同。

根据模型管理的需要,本文将资源环境模型划分为2个层次:模型类和模型实例。模型类表示变量之间的逻辑关系,包括各种基本数学方程,如logistic方程、指数方程、线性规划方程等,它与应用领域无关,模型类由变量、参数、常数和表达式等构成。模型实例表示针对具体问题的资源环境应用模型,对模型类中的变量、参数赋值,通过输入资源环境数据,用于分析模拟实际的资源环境问题。模型实例由一个或多个模型类复合而成,而一个模型类也可以参与复合一个或多个模型实例,模型实例和模型类之间是多对多的耦合关系。模型实例的生成分为两种情况:(1)单元模型实例的生成:通过单个模型类建立适合具体问题的模型实例;(2)复合模型实例的生成:通过若干单元模型实例组合,建立适合具体问题的复合模型实例。

2.2面向对象的资源环境模型表达

模型表达研究模型在计算机中的表示方法及存储形式,使

模型便于管理,能灵活应用[12]。Sprague[13]认为模型的管理应该起始于模型的表示,其次是能提供大量的关于构模的操作,如模型的生成、重构、修改和获得运行结果等。为了增强模型管理的灵活性和减少存储的冗余,模型表达趋向于将模型分解为基本单元。基本单元的表达方式主要有以下4种[14]:

(1)结构化表达。把模型看作一个结构,通过模型定义语言把模型中的方程、约束条件和目标函数表示为语句,然后通过驱动程序转换得到一个包括输入、输出格式和算法在内的完整模型。

(2)数据式表达。把模型看作数据集,模型表示为由一组参数集合和表示模型结构特征的数据集合的框架。

(3)面向对象的表达。把模型看作对象,对模型的状态变量、解释变量、方程和参数等进行封装,使模型成为一个独立的整体。

(4)基于知识的表达。把模型看作知识,利用表达知识的方法表示模型,常用的表达方法有谓词逻辑、语义网络、逻辑树和框架理论等。

面向对象方法是系统开发和知识表示的一套基本原理,它特别指的是面向对象的程序设计和分析。面向对象方法包括面向对象的建模、面向对象的编程和面向对象的软件工程,其主

C++.net2003实现了一个资源环境模型库管理系统原型,并提

出系统构建中3个关键问题的解决方法;(4)最后总结资源环境模型库管理系统的构建方法。

2资源环境模型表达

2.1资源环境模型的分类

对复杂现实世界的研究,需要进行简化和抽象。根据抽象的程度,模型可以分为3类[10]:(1)比例模型(ScaleModel),是现实世界以一定比例缩小后构成的相似体,其特点是相似性,如沙盘模型和地图;(2)概念模型(ConceptualModel),通过归纳方法对研究对象进行抽象,模型内容是描述抽象概念之间的关系和作用方式;(3)数学模型(MathematicalModel),把概念模型转换为符号化的数学逻辑,用数学方程描述现实世界的结构和相互作用。

对于资源环境问题的研究,人们通常按照数学模型的形式进行建模,形成了丰富的资源环境数学模型。根据研究者使用的数学建模方式不同,资源环境数学模型可以划分为确定性模

黄宏胜,岳天祥,范泽孟:资源环境模型库管理系统的构建方法研究ComputerEngineering

and

Applications

计算机工程与应用

要特点体现在以下概念:对象、封装、继承和多态。面向对象方法的特点使得面向对象系统安全可靠、可重用、易维护,采用面向对象方法分析、设计资源环境模型库管理系统,可改进系统性能,使其具有较高的适应性。以面向对象的方法表示资源环境模型,模型类由以下元素组成:模型变量、模型方程、模型参数和模型元数据,其中模型元数据是对模型的说明;模型实例元素包括使用的模型类及数据列表。模型类和模型实例的结构与关系如图1所示。

2007,43(26)19

资源环境模型库管理系统框架如图3所示,该框架具有如下特点:(1)采用面向对象方法表达资源环境模型,实现了模型类的封装和重用;(2)采用资源环境模型库引擎解析模型实例的数学表达式,可以实现模型定义和模型求解分离,降低了模型类的冗余;(3)采用资源环境模型库引擎处理模型实例,实现了资源环境模型和GIS的完全集成,提高了模型实例处理效率;(4)采用数据库管理模型类和模型应用数据,建立了模型元数据对象,有利于模型类应用的Web共享。

3资源环境模型库管理系统的设计

3.1功能设计

资源环境模型库管理系统的组成及其功能将包括以下几个方面的内容(如图2所示):(1)提供模型库维护操作,包括对模型库的打开、创建、维护、删除等;(2)提供模型类维护的相关操作,包括模型类的建立、更新、删除、检索与检验;(3)提供模模型实例运行与型实例操纵的相关功能,包括模型类的选择、

结果显示、模型类集成;(4)提供资源环境模型分析与评价功能;(5)提供用户了解模型库系统的元数据信息;(6)提供资源环境模型库接口的设计标准,以利于模型库的扩展。

4资源环境模型库管理系统的实现

根据以上设计思路,在Win32环境下用VisualC++.net

2003开发了一个资源环境模型库管理系统(ResourceandEnvironmentalModelbaseManageSystem,REMMS)原型。在该

系统中,采用了MFC的Doc/View结构,采用流程图方式构建模型实例,使初学者也能构建有效的模型实例。以下简要介绍模型的存储、模型实例的生成、模型实例的运行及实现方法。

4.1模型的存储

模型的存储是把内存中的模型对象保存到硬盘上文件的

过程,并要求能从文件中读取数据和构造模型对象。数据对象的持久化存储方案可分为两大类:(1)文件系统方式,以文件系统提供的存储服务为基础,把对象数据存储到文件系统上一个个相对孤立的逻辑文件中,主要的存储方法有对象的序列化、结构化的数据文件和XML文档存储;(2)数据库方式,把数据对象存储到数据库中,通过数据库系统提供的强大功能来完成对数据对象的操作,主要的存储方法有关系数据库的面向对象设计、面向对象数据库和Object-Relation映射。

REMMS的开发主要采用微软基础类库MicrosoftFounda-

(MFC),同时考虑到资源环境模型的表达和求解分tionClasses

离,模型类和模型实例的数据量较小,因此在REMMS的存储方案中采取对象的序列化技术。为了使模型类对象和模型实例对象具有序列化能力,需要满足以下5个条件:(1)从CObject派生模型类和模型实例;(2)在模型类和模型实例的声明部分添加DECLARE_SERIAL宏;(3)在模型类和模型实例的实现部分添加IMPLEMENT_SERIAL宏;(4)为模型类和模型实例改写Serialize虚函数,把模型类和模型实例相关的成员变量写入文件中;(5)为模型类和模型实例添加无参数的构造函数。

3.2资源环境模型管理框架

资源环境模型管理采用“视图-模型库-引擎”结构。视图是

用户和模型库管理系统交互的可视化界面,在视图中可以图形化构建模型实例。模型实例采用流程图表示,流程图包括多个流程图实体,每个实体表示模型实例采用的模型类。流程图提供了一种通用的概念框架,使模型实体的结构清晰,有利于解释模型实例的行为。模型类和模型实例在模型库中存档,并可以被其他研究者访问,也可以进行发布。模型库引擎是模型实例运行的驱动器,它包括一组数学函数库和GIS功能库,能够智能解析模型实例中的数学方程、处理输入模型的空间数据和对显示运行结果。

4.2模型实例的生成

REMMS使用流程图的形式构建模型实例,构造界面如图

4所示。流程图界面的处理主要由CFlowchartEditor[15]等负责,

流程图使用的主要类有:(1)CFlowchartEntity,表示流程图实体,包含了流程图实体的位置数据及代表的模型类数据,一个

202007,43(26)ComputerEngineeringandApplications计算机工程与应用

流程图实体只能表示一个模型类;(2)CFlowchartEntityContain-

5结束语

资源环境模型库管理系统是资源环境模型应用研究发展

er,表示流程图实体容器,保存构建流程图的所有数据,包括流

程图实体及其位置、流程图实体间的链接和各种标注等;(3)

的必然趋势。通过资源环境模型库管理系统,可以有效利用现有的资源环境模型、有针对性地开发新的资源环境模型、提高模型的使用效率。本文通过对大量的资源环境模型进行观察和归纳,根据模型管理的需要,把资源环境模型划分为模型类和模型实例两个层次,并采用面向对象的方法表达资源环境模型。通过对资源环境模型管理系统进行需求分析和总体设计,在Win32平台下用VC++.net2003开发了一个资源环境模型在该系统中,采用流程图形式构建模库管理系统原型REMMS。

型实例,通过资源环境模型库引擎驱动模型实例的运行,实现了资源环境模型的管理、构建和运行等功能,基本满足了资源环境模型管理的需要。(收稿日期:2007年5月)

CFlowchartEditor,表示流程图编辑器,是视图中提供的与用户

交互的主要界面,它可以打开、显示和编辑流程图。

根据流程图类使用的要求,在REMMS中实现流程图构建模型实例的主要步骤有:(1)在模型实例中添加一个

CFlowchartEntityContainer类型的成员变量,在模型实例视图中

添加一个CFlowchartEditor类型的成员变量;(2)在模型实例中改写Serialize虚函数,使之能读写流程图数据;(3)在模型实例视图OnInitialUpdate函数中添加流程图编辑器的初始化函数,并改写OnSize函数,然后添加流程图编辑消息的相关处理函数。

通过以上步骤,就可以在模型实例视图中以流程图的方式构建模型视图。向模型实例视图添加模型类实体和构建模型实例的步骤为:(1)在左边模型库文档的树状视图选取要添加的模型类对象;(2)拖拉该模型类对象到右边的模型实例视图中,在模型实例视图中将自动创建一个包含该模型类对象的流程图实体;(3)重复上述步骤,添加模型实例中包括的所有模型类对象,然后在模型类之间添加连接箭头。这样就完成了一个模型实例的构建过程,在流程图实体中的模型类对象加载数据后,就可以运行模型实例,获得处理结果。

参考文献:

[1]岳天祥.资源环境数学模型手册[M].北京:科学出版社,2003.[2]CrowS.Spatialmodelingenvironments:IntegrationofGISandcon-

ceptualmodelingframeworks[C]//4thinternationalConferenceon(GIS/EM4):Problems,IntegratingGISandEnvironmentalModeling

ProspectsandResearchNeeds,Banff,Alberta,Canada,2000.[3]SoetaertK,deClippeleV,HermanP.FEMME,aflexibleenviron-

mentformathematicallymodellingtheenvironment[J].Ecological(2/3):177.Modelling,2002,151

[4]MuetzelfeldtR,MasshederJ.Thesimilevisualmodellingenviron-

(3/4):345.ment[J].EuropeanJournalofAgronomy,2003,18

[5]宫辉力,李京.地理信息系统的模型库研究[J].地学前缘,2000,7(B08):17-22.

[6]岳天祥.资源与环境模型标准文档库及其与GIS集成[J].地理学报,

(1):107-112.2001,56

[7]范泽孟,岳天祥.资源环境模型库系统集成分析[J].地球信息科学,

(2):20-25.2004

4.3模型实例的运行

模型实例的运行是资源环境模型计算的关键过程,主要包

[8]毕建涛,吴洪桥,曹彦荣,等.资源与环境信息系统中模型方法元数

据及其集成[J].地球信息科学,2002(2):11-16.

括以下3个步骤:(1)资源环境数据的读取及数据预处理;(2)模型实例的运行及数据处理;(3)运行结果数据的后处理。资源环境模型数据来源广泛,主要有:地图数字化、遥感数据、统计数据、实验数据、历史数据、估算数据等,这些数据可GPS数据、归纳为空间数据和非空间数据两类。为了在模型实例中访问及处理空间数据,需要添加空间数据存取的接口,在REMMS中添加了GIS功能函数库,以便对空间数据进行访问和处理。

模型实例运行的关键是对数学方程的处理。在运行模型实例时,需要对模型类的参数和变量赋值,甚至更改模型类。为了满足这种需要,REMMS在运行时处理数学方程的修改,而不需要对程序源码进行修改,实现了资源环境模型的重用。

在REMMS中,模型实例的运行通过资源环境模型库引擎实现。该引擎连接了数学函数库和GIS功能库,数学函数库包括了常用的数学函数,GIS功能库可以访问常用的空间数据文件并进行简单的处理。通过资源环境模型库引擎,模型实例可以存取空间数据并利用数学函数库处理各种资源环境数据。

[9]范泽孟,岳天祥.资源环境综合模型的集成分析[J].计算机工程与应

用,2006,42(22):1-4.

[10]ThomasRW,HuggettRJ.Modelingingeography:amathematical

approach[M].Totowa,NewJersey:Rowman&LittlefieldPubInc,1980.

[11]GeoffrionAM.Integratedmodelingsystems[J].ComputerSciencein

(1):3-15.EconomicsandManagement,1989,2

[12]高洪深.决策支持系统:理论.方法.案例[M].北京:清华大学出版

社,2000.

[13]SpragueR,WatsonH.ModelmanagementinMIS[C]//SeventhNa-

tionalAIDS,Cincinnati,1975:213-215.

[14]黄宏胜,岳天祥.资源环境模型库管理系统研究进展[J].地理科学

进展,2007,26(1):77-86.

[15]RosengrenJ.CFlowchartEditor-linkingthingsinCDiagramEditor

[EB/OL].[2005-03-20].http://www.codeproject.com/miscctrl/

flowcharteditor.asp.

本文来源:https://www.bwwdw.com/article/nn2q.html

Top