教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 天文/地理> 面向分布式GIS的多Agent系统模型

面向分布式GIS的多Agent系统模型

上传者:邓就庆
|
上传时间:2015-05-07
|
次下载

面向分布式GIS的多Agent系统模型

http://wendang.chazidian.com

北京大学学报(自然科学版),第38卷,第3期,2002年5月

ActaScientiarumNaturalium

UniversitatisPekinensis,Vol.38,No.3(May,2002)

1)面向分布式GIS的多Agent系统模型

罗英伟 汪小林 许卓群

(北京大学计算机系,北京,100871,E2mail:lyw@摘 要 将Agent技术应用到分布式GIS,GIS中Agent的分类与结构,设计和实现了一个面向分布式GISAgentAgents,给出了其通讯模型、体系结构和分布模型,。

关键词 ;Geo;空间元数据;空间决策支持系统

391

0 引 言

Agent是处于某个环境中的一个封装好的计算实体

内容需要下载文档才能查看

,它能够在该环境中灵活、主动地活动以达到为它设计好的目标。Agent具有自主性、交互性、主动性和反应性等,它不仅能作用于自身,而且可以施动作于环境,并能接收环境的反馈信息,重新评估自己的行为;同时,它能与其

[1,2]他Agent协同工作。随着Agent技术的发展,它在基于网络的分布计算领域发挥着越来越

重要的作用:一方面Agent技术为解决新的分布式应用问题提供了有效的途径;另一方面,

[3]Agent技术为全面准确地研究分布计算系统的特点提供了合理的概念模型。Agent技术提供

了一种新的分布计算和问题求解的思路:

(1)采用Agent技术可以将一个大而复杂的问题分解成许多较小、较简单的问题,使问题得以简化。

(2)现实世界的实体和它们之间的关系可以直接映射成具有问题求解能力的Agent,它们拥有自己的资源以及协作求解问题的交互能力。

(3)多个Agent可以组成一个合作的小组以完成特定的复杂任务,这些Agent之间能够协调相互之间的行为,协商以解决相互之间的冲突,相互合作以达到共同的目标等。

(4)单个Agent或一组Agent可以单独进行开发,并且可以以增量方式动态地加入到一个基于Agent的系统中来,从而增强该系统的能力。

(5)每个Agent都是面向功能需求而设计的,利用Agent可以快速地搭建一个复杂的应用系统,具有很好的可重用性。

(6)面向Agent的软件开发方法可以更确切地描述复杂并发系统的行为。分布式GIS是一个复杂的软件系统,Agent技术为分布式GIS提供了一种新的有效的解决方法[4]。在分布式GIS里引进Agent技术,一方面Agent技术提供了一种概念清晰、条理清楚 1)国家自然科学基金(60073016,60003005)、国家863计划(2001AA11127221)、北京市自然科学基金(4012007)和博士后科学基金资助项目

收稿日期:2001206218;修回日期:2001212206

http://wendang.chazidian.com

376北京大学学报(自然科学版)  第38卷 的分布式系统建设思想;另一方面,Agent技术也带来软件系统能力的提高,这包括两个方面:一个是能力的增加,比如合作;另一个是能力的增强,比如并行和移动所带来的效率的提高等。这样可以降低分布式GIS的复杂性和建设难度,解决网络地理空间信息服务功能以及GIS应用领域中的协作问题,同时也可以改善分布式GIS的服务能力和服务效率。Agent技术在分布式GIS中主要应用在以下几个方面:

(1)应用领域内的协作:GIS应用领域中很多任务需要合作才能完成。

(2)服务领域的服务协作:服务领域的服务协作可以更好地提供GIS。(3)服务领域的数据并行和应用领域的任务并行:GIS,主要包括[5](4):、位置等。。

(5)基于Agent,使其能够实用。(6),

内容需要下载文档才能查看

Agent的应用系统开发模式。

技术应用到分布式GIS的建设中来,分析了分布式GIS中Agent,设计和实现了一个面向分布式GIS的多Agent系统模型Geo2Agents,给出了其通讯模型、体系结构和分布模型,并探讨了它的应用:其于Agent的空间信息导航和空间决策支持系统。

1 Geo2Agents模型

111 GISAgent

结合分布式GIS和Agent技术,分布式GIS中的Agent(GISAgent)可以分成4类:(1)系统管理Agent:主要担负全局管理和协调职能。

(2)GIS功能Agent:对分布式GIS系统中的空间分析或查询功能进行封装,具有响应外界请求,完成不同数据要求的同一类空间分析或查询功能,并利用Agent间的统一通信机制返回查询结果的能力。

(3)接口Agent:与用户交互、完成用户指定任务,是一种可以表现一定智能的Agent。它接受用户空间分析及查询任务,进行任务分解,利用Agent间的统一通信机制交由GIS功能Agent完成,并利用GIS功能Agent返回的结果完成用户指定的计算,返回最终结果。

(4)GUServer,地理空间数据访问服务器,它管理数据库中存放的地理空间数据以及相关的元数据。

一个GISAgent主要由5部分组成(如图1所示),它是一种反应式Agent,不仅能够独立自主地完成自己的任务,而且还能与其他Agent相互通信,交换信息,进行合作。

(1)控制子系统:这是GISAgent的核心部分,它是GISAgent各组成部分的管理者,负责协调、控制整个GISAgent的正常运转。它根据内部数据资源和所接收到的消息,进行空间推理,确定采取功能子系统中的哪些功能模块或构件按照一定的模式完成相应的任务。

(2)功能子系统:包括GISAgent完成自身所能提供的任务所需具备的各种功能模块、GIS构件及其他功能构件。

(3)通信子系统:它是与其他GISAgent通信的接口,负责传递请求、控制信息以及交换数

http://wendang.chazidian.com

 第3期 罗英伟等:面向分布式GIS的多Agent系统模型377据。GISAgent之间的通讯是利用消息进行通

讯的(参见112节)。

(4)人机界面:与人的交互接口,包括

GeoScript语言的导入、空间数据的显示以及其

他交互操作。并不是每个Agent都需要。

(5)数据资源:GISAgent的数据资源有两

种:私有数据和虚拟数据。私有数据包括GIS

1 Agent的环境描述信息、状态描述信息、元数据

1The入口信息、要解释执行的GeoScript语句和要遵

循的规则等,;后的结果。,每个GISAgent拥有自己的:,另一方面相互之间难以维护一致性,因此,以访问地理空间数据(参见211节),为其他GISAgent在Geo2中,GISAgent是一个具有活动能力的对象类,它带有脚本解释器,可以解释执行GeoScript语言。每个活动的GISAgent实际上是Agent类的一个实例(在本文中,GISAgent指的就是GISAgent类,它不代表

内容需要下载文档才能查看

GISAgent实例)。当用户需要完成一个任务时,可以将该任务用GeoScript语言描述成一段GeoScript语句(参见11313节),Geo2Agents则创建一个相关GISAgent类的实例,接收并执行这段GeoScript语句,这段GeoScript语句指明了一个GISAgent实例的工作任务目标、工作规则和约束等。GISAgent实例可以主动地解释执行GeoScript语句,并根据需要通过人机界面与人进行交互,同时,还可以用消息通信与其他GISAgent进行灵活多样的交互,与其他GISAgent协同工作,最后得到并返回任务的结果。例如,当某一个GISAgent发现所需的计算资源不在本地时,它可以根据算法,请求其他GISAgent协助获得资源,或者将任务交给能更加方便地访问资源的GISAgent去完成等。再如,一个数据搜索Agent可以通过询问,获得其他数据搜索Agent所知的信息,从而了解数据在系统中的分布。

112 Geo2Agents的通讯模型

在Geo2Agents中GISAgent之间的通讯是用消息机制来实现的,采用了两种消息通讯方式:点对点方式和组广播方式。每个消息都是一个六元组〈From,To,msgType,replyWith,reply2To,msgContent〉,其中:From是消息的发送者;To是消息的接收者,接收者可以是一个GISAgent,也可以是一组GISAgent;msgType是消息的类型;replyWith,当该消息项不为空时,表明该消息是需要应答的,当消息的接收者收到本消息后,应答消息的ReplyTo和replyWith相同;re2plyTo,该项表明本消息是针对前一次消息replyWith的应答。msgContent,消息内容,具体含义由消息的接收者根据消息的类型和相互的约定进行解释。

消息的类型及其内容与GIS领域及Agent的功能是紧密相关的,作者根据GIS中的需求和Agent的作用和任务设计了30多种消息及相应的消息内容,如CREATE-AGENT、FIND-AGENT、START-AGENT、STOP-AGENT、AGENT-SUCCESS、AGENT-FAIL等,这些消息基本上满足了Geo2Agents中各类GISAgent的通讯需要,它们又可以分为3大类,并且可以转换成如KQML等Agent通讯语言(ACL)的相关通讯原语:

http://wendang.chazidian.com

378北京大学学报(自然科学版)  第38卷 (1)请求消息(RequestMessage):需要消息的接收者应答的消息;

(2)应答消息(ReplyMessage):与请求消息对应,是对请求消息的回答;

(3)通知消息(InformMessage):主动发出的消息,是一种知识性质消息。

113 Geo2Agents的体系结构

Geo2Agents由6部分组成:GIS应用、Facilitator、GIS功能Agent、接口Agent、GUServer以及空间数据库和空间元数据库,各组成部分之间的关系可以由图2

内容需要下载文档才能查看

来描述。

11311 F的管理

eo2Fa2

内各Agent的正确运行,并对系统进

行分布控制(参见114节)。Facilitator

的主要功能有:(1)注册可用的Agent

类,在注册时,都要说明Agent类的功

能以及使用方法;(

内容需要下载文档才能查看

2)查找可用的Agent类;(3)创建Agent实例;(4)

管理所有活动着的Agent实例,包括

活动Agent的状态、生命周期等;(5)

协助活动Agent之间通讯及合作。图2 Geo2Agents的体系结构Fig.2 TheArchitectureofGeo2Agents

11312 GIS功能Agent

GIS功能Agent是Geo2Agents中用来完成分布式GIS中某个特定的地理空间数据处理任务或空间分析任务的Agent。根据GIS应用的特点,可以将GIS功能Agent分成两种类型:基本服务Agent和领域服务Agent。基本服务Agent是指完成各种基本GIS服务的Agent,这些基本GIS服务包括如地理数据搜索、地图叠加分析、缓冲区分析、地图裁剪等。领域服务Agent则是指完成各种GIS应用领域中许多模型化任务的Agent,这些任务可以利用GIS基本服务Agent按照某种应用模型搭建而成,在该领域内可以通用。将GIS功能Agent划分成基本服务Agent和领域服务Agent,可以提高Geo2Agents的重用性。

每个GIS功能Agent类的能力都是确定的,都有自己固定的目标,但是每个GIS功能Agent实例都可以接收不同的活动规则,这些规则指明了GIS功能Agent实例应该如何完成具体的任务。GIS功能Agent的活动规则只能在该Agent内部解释使用。每个GIS功能Agent的活动规则都由GIS功能Agent开发者编制规则格式,提交给用户。每类Agent的活动规则都是不同的,每个Agent的实例的活动规则内容根据具体的任务也是各不相同的,每个Agent接收的参数和规则的数量可以根据具体任务而变化。这样,规则的灵活性和规则数量的可变性使得Agent能够处理不同情况的同类任务。

Geo2Agents是基于Agent的分布式GIS系统,它的一个重要特点就是能解决分布存储的海量地理数据的并行处理问题,因此,分布式并行控制是Geo2Agents中一个很重要的方面。由于GIS系统中,地理数据的分布多种多样,不同操作对数据的要求不同,对数据的分布式并行控制也不同,所以由具体的GIS功能Agent来实现具体的分布式并行控制。

http://wendang.chazidian.com

 第3期 罗英伟等:面向分布式GIS的多Agent系统模型379

GIS功能Agent可以处理两种并行,一种是根据数据的分布用相应分布的GIS功能Agent并行处理;另一种是利用高速互联的多个GIS功能Agent处理同一地的海量地理数据。这两种并行的粒度是不一样的。在第一种情况下,按照“数据优先”的原则,当了解了数据的分布之后,GIS功能Agent应尽可能地利用数据所在地的相应Agent来处理数据,以提高效率,减轻网络传输负载。第二种情况则是当某处的数据量特别大时,GIS功能Agent需要考虑是否要启动多个Agent实例来并行处理这些数据以减少处理时间。当然,还需要权衡网络传输时间的增加和处理时间的减少的取舍的问题。

为了控制GIS任务的分布式并行计算,作者将完成一个设计成2个层次:任务控制Agent和任务实施Agent,型。任务控制Agent在执行一个任务时,,在不同的地方创建相应的任务实施Agent,Agent的执行顺序。这样,任务控制。

11313 接口接口eo2中最基本的Agent,它为Application提供了一组访问接口,Applica2tion可以通过语言向Geo2Agents提出任务。正如关系数据库系统提供SQL语言用来描述关系查询任务一样,Geo2Agents提供GeoScript语言用来描述GIS任务

内容需要下载文档才能查看

。当遇到具体问题时,只须把任务用GeoScript语言描述成GeoScript代码段提交给通用Agent,接口Agent就可以自动地去完成该任务。

GeoScript语言是一个解释性语言,它提供了输入输出参数描述语句、变量定义语句、Agent定义语句、Agent控制语句、合作控制语句、条件控制语句、并行控制语句、代码移动控制语句以

[5]及空间数据请求描述语句等,其主要作用就是通过操纵GIS功能Agent及控制Agent之间的

关系来描述用户任务。每个Agent的功能及其特点从其名字的喻义上就可以推敲出来,因此GeoScript的一个显著特点就是其二次开发方法的拟人化。并且Geo2Agents中的Agent可以不断地增加,而GeoScript语句却无须进行扩充。

因此,接口Agent内有一个GeoScript语言解释器,它解释执行一段描述用户任务的Geo2Script语句,将用户任务分解成一个个子任务交给GIS功能Agent,并协调这些GIS功能Agent完成用户任务。对最终用户来说,这一切都是透明的,他(她)无须知道数据在哪里、任务是由谁完成的以及在哪里完成的。

接口Agent相互之间还可以进行多种合作,完成特定的用户任务。在Geo2Agents中,接口

[5]Agent有3种合作方式:直接合作、对等组合作和主从组合作。

114 Geo2Agents的分布模型

Geo2Agents中采用Agent运行区间(AgentRegion)的方式来管理分布在网络上的Agent,如图3所示。每一个Agent运行区间由一台或多台主机组成,每台主机上都安装了Facilitator及一系列其他Agent,并且其中有且仅有一台主机上的Facilitator将被配置为AgentServer。Facilitator用来管理和协调一个Agent运行区间内的Agent,而AgentServer则除了具有Facilitator的功能之外,它还能用来管理和协调不同Agent运行区间中的Agent。

一台主机上只要安装了Facilitator就可以加入一个Agent运行区间中来,但是该主机如果要在所属的Agent运行区间中发挥作用,就必须注册至少一个GIS功能Agent;如果要在一台主

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
河南省名校课堂七年级下册英语第一课(2020年2月10日)
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
小学英语单词
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册第二单元《余数和除数的关系》
冀教版英语三年级下册第二课
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
苏教版二年级下册数学《认识东、南、西、北》
【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
三年级英语单词记忆下册(沪教版)第一二单元复习
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
七年级下册外研版英语M8U2reading
北师大版数学四年级下册3.4包装
冀教版小学数学二年级下册第二单元《租船问题》
沪教版八年级下次数学练习册21.4(2)无理方程P19
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
外研版英语三起5年级下册(14版)Module3 Unit2
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
外研版英语七年级下册module1unit3名词性物主代词讲解
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
外研版英语三起5年级下册(14版)Module3 Unit1
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
沪教版八年级下册数学练习册21.3(3)分式方程P17