




已阅读5页,还剩81页未读, 继续免费阅读
(计算机应用技术专业论文)基于语义和访问策略的协同模型研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 大规模并行与分布式系统的出现开拓了软件技术的应用前景,当前很多应用 程序都利用并行与分布系统所提供的强大的计算能力以缩短其周转时间。要开发 大规模并行与分布式系统的全部潜能,必须要处理系统中大量并发的活动体的协 同过程。以l i n d a 为代表的基于共享数据空问的协同模型和协同语言具有时间解耦、 空间解耦和引用解耦的特点,为大规模并行与分布式系统的设计与发展提供了一 种新方法,体现了大规模程序设计的发展趋势,适应了像i n t e r n e t 这样开放、动态、 真分布的计算环境中的软件应用需求,在现实应用中具有重要的意义,已逐渐成 为软件技术研究的重点。 但是,现有的大多协同模型普遍存在一些问题:一是缺乏语义信息,交互的 实体之间无法理解彼此的含义,影响了协同模型在开放的分布式系统中的进一步 应用;二是对信息的访问控制问题,主要采用规则的方式来实现对信息的访问控 制。针对上述问题,本文的主要工作是以多a g e n t 系统为应用背景,研究有关a g e n t 协同模型的问题,提出一种基于语义和访问策略的协同模型。具体工作包括如下 几个方面: ( 1 ) 具有语义信息的协同模型 将语义w e b 技术中的o w ld l 和规则引入至l j l i n d a 中,提出一种具有语义信息 的协同模型。在该模型中,使用o w ld l 描述语义信息,采用本体表示元组空间, 并根据该本体图分析具有语义信息的元组空间中将会出现的新的元组类型,进而 提出一组可以对这种新类型的元组进行操作的协同原语及其相应的匹配机制。 ( 2 ) 访问控制策略 采用基于策略的方式实现客户对元组空间行为的控制,该访问策略使用本体+ 规则的方式描述,具体包括:使用语义w e b 技术中的o w l 定义了一个适用于l i n d a 模型的访问策略语言,解决了访问策略规则在元组空间中的表示、协同操作和 匹配问题,提出一个用于访问策略推理的运算法则用于决定a g e n t 是否有权执行 某个具体的协同操作。 ( 3 ) 协同模型原型系统实现 基于上述两个方面的内容,对本文提出的基于语义和访问策略的协同模型 a c c s t u p l e 作了部分实现,详细讲述系统执行过程,并结合一实例,阐述访问策略 的应用。 关键词:协同技术,协同模型,l i n d a 协同语言,语义w e b 技术,o w l ,本体 访问策略 a b s t r a c t m a s s i v e l yp a r a l l e la n d d i s t r i b u t e d s y s t e m so p e ni l c w h o r i z o n s f o r l a r g e a p p l i c a t i o n sa n dm a n ya p p l i c a t i o n sa l r e a d yt a k ea d v a n t a g eo ft h ei n c r e a s e di 8 w c o m p u t a t i o n a lp o w e rp r o v i d e db ys u c hp a r a l l e ls y s t e m st oy i e l ds i g n i f i c a n t l ys h o r t e r t u r n - a r o u n dt i m e s e x p l o i t i n gt h ef u l lp o t e n t i a lo fm a s s i v e l yp a r a l l e ls y s t e m sr e q u i r e s p r o g r a m m i n gm o d e l st h a te x p l i c i t l yd e a lw i t ht h ec o n e u l r e n c yo fc o o p e r a t i o na m o n g v e r yl a r g en u m b e r so fa c t i v ee n t i t i e st h a tc o m p r i s eas i n g l ea p p l i c a t i o n t h es h a r e d d a t a s p a e ec o o r d i n a t i o nm o d e l s ,r e p r e s e n t e db yl i n d a , h a v et h ec h a r a c t e r i s t i co f t e m p o r a lu n c o u p l i n g , s p a t i a lu n c o u p l i n ga n dr e f e r e n t i a lu n c o u p l i n g ,i n d i c a t et h e d e v e l o p m e n tt r e n do fm a s s i v ep r o g r a m m i n ga n ds a t i s f yt h er e q u i r e m e n t so fs o f t w a r e a p p l i c a t i o ni ni n t e m e tt h a ti so p e n , c t y n a m i ea n dd i s t r i b u t e d t h e yh a v ea t t r a c t e dg r e a t c :o r l c _ , e l t lo f t h es o t t w a r et e c h n o l o g yr e s e a r c hl l l e , t 乱 h o w e v e l ,s o n i cp r o b l e m se x i s ti nt h ec u r r e n tc o o r d i n a t i o nm o d e l s :o n ei sl a c ko f s e m a n t i ci n f o r m a t i o n t h ei n t e r a c t i v ee n t i t i e sc a nn o tu n d e r s t a n dt h em e a n i n go f e a c h o t h e r , s ot h ef l l t t h e rd e v e l o p m e n ti st e m p e r e di nt h eo p e na n dd i s t r i b u t e de n v i r o n m e n t t h eo t h e ri st h ea c t r e s sc o n t r o li nc u r r e n tm o d e l s b a s e do i lt h ea b o v em e n t i o n e d p r o b l e m s ,t h ed i s s e r t a t i o nf o c u s e so nt h ea g e n tc o o r d i n a t i o nm o d e lw i t ht h eb a e k g r o t m d o fm u l t i - a g e n ts y s t e m , a n dp r o p o s e sas e m a n t i ca n da c c e s sp o l i c yb a s e dc o o r d i n a t i o n m o d e l f o l l o w i n ge f f o r t sa 托p r e s e n t e di nt h i sd i s s e r t a t i o n : ( 1 ) c o o r d i n a t i o nm o d e lw i t hs e m a n t i c c o m b m i n go w ld la n dr u l eo fs e m a n t i cw e bt e c h n o l o g yw i t hl i n d a , a c o o r d i n a t i o nm o d e lw i t hs e m a n t i ci sp r o p o s e d i nt h i sm o d e l ,s e m a n t i ci n f o r m a t i o ni s d e s c r i b e db yo w l d l t h et u p l e s p a c ei sp r e s e n t e da s 髓o n t o l o g ym o d e l a n a l y s i st h e n e wt y p eo ft u p l e an e ws e to fc o o r d i n a t i o np r i m i t i v e sa d e f i n e da n dc o r r e s p o n d i n g m a t c h i n gm e c h a n i s m i sp r o p o s e d ( 2 ) a c c e s sc o n t r o lp o l i c y t h i sd i s s e r t a t i o nu s e sd e c l a r a t i v ep o l i c y - b a s e da p p r o a c ht oc o n t r o lt h eb e h a v i o ro f t h et u p l e s p a e e ,i n c l u d i n g :o w lo fs e m a n t i ct e c h n o l o g yi su s e dt od e f i n eaa c c e s s p o l i c yl a n g u a g ea p p l i e st ol i n d a t h er e p r e s e n t a t i o no fp o l i c yr u l e c o o r d i n a t i o n o p e r a t i o na n dm a t c h i n ga ms o l v e d a l la c c e s sp o l i c yr e a s o n i n ga l g o r i t h mi s p r o p o s e dt od e t e r m i n ew h e t h e rt h ea g e n th a st h er i g h tt oc a l - t yo u tt h eo p e r a t i o n ( 3 ) t h ei m p l e m e n t a t i o no f t h ec o o r d i n a t i o nm o d e l b a s e do nt h ea b o v et w om e n t i o n e da s p e c t s ,ap a r ti m p l e m e n t a t i o no f t h es e m a n t i c a n da c c e s sp o l i c yb a s e dc o o r d i n a t i o nm o d e l - a c c s t u p l ei s 畔n t e d t h ew o r kf l o wi s p r e s e n t e da n dt h ea p p l i c a t i o no f t h ea c c e s sp o l i c yi sd e s c r i b e db ya n n s t a n c e k e yw o r d s :c o o r d i n a t i o nt e c h n o l o g y ,c o o r d i n a t i o nm o d e l ,l i n d a , s e m a n t i cw e b t e c h n o l o g y , o w l , o n t o l o g y , a c c e s sp o l i c y 黄志艳:基于语义和访问策略的协同模型研究 1 引言 1 1 研究背景 计算机技术的发展把人类社会带入了信息化时代,随着信息化程度的深入和 i n t e r a c t 技术的迅速发展,通信技术与计算机及网络技术相融合,计算机也开始向 着网络型、开放型、协作型、分布式的方向发展。i n t c r n e t 的出现为各种类型的商 业实体提供了发现新客户、供应流、新服务的各种机会,使他们利用i n t e m e t 获得 了空前安全的经济回报,体现了i n t e m e t 的巨大价值。i n t e m e t 的迅速普及和发展; 在为我们提供巨大便利和无限机遇的同时,也提出了许多挑战。一方面,人们对 信息系统的需求越来越旺盛,对系统功能和性能的要求也越来越高,现有的封闭、 单一功能的信息系统越来越难以满足用户的需求。然而由于分布式计算技术、集 群技术、海量数据处理技术等的迅猛发展,使得建立一种新的信息基础设施的条 件在逐步成熟,多a g e n t 系统( m u l t i a g e n ts y s t e m ,m a s ) 【i 】就是在这种背景下 出现并发展起来的:另一方面,随着软件技术的发展,越来越多的分布式、实时 服务等加入到系统中,使得信息系统规模越来越大,结构越来越复杂,管理也越 来越困难,这种复杂性的增长正在超越人类管理能力的极限。解决该问题的一个 办法是将规模庞大、结构复杂的信息系统分解成多个功能相对简单的模块1 2 i 。 这样,当一个系统需要完成某项任务时,一方面,系统中的模块之问不可避 免的存在一些稆互依赖关系,彼此之间的交互将变得更加频繁;另一方面,各模 块间还存在一定的自治性。模块的自治性主要与人类在网络计算中的三种主要角 色相对应【3 j :设计自治性( d e s i g n a u t o n o m y ) ,也称为异构性( h e t e r o g e n e i t y ) ,主 要表现在软件模块设计人员的个性化和设计方式的灵活性。配置自治性 ( c o n f i g u r a t i o na u t o n o m y ) ,主要表现在系统管理员在确定合适的主机和网络连接 方面的多样性。执行自治性( e x e c u t i o na u t o n o m y ) ,主要表现在终端用户 包括消费者和企业在使用方式上也具有不同的偏好。随着软件技术的不断发 展,人们预测,在未来几年。系统中的模块数量将会增加几倍1 4 1 。因此,协同在一 个多模块系统中具有至关重要的作用。 此外,在动态、开放的分布式系统中,通常蕴含大量的资源,包括计算能力、 信息数据、软件应用等,这些资源高度自治,其上的软件实体的行为对于外界来 2扬州大学硕士学位论文 说是不受控制和难以完全预测的【5 l 。未来软件开发的一个核心任务就是通过恰当的 方式对这些资源进行协同,如何对分布在网络上的各种异构的、自治的资源进行 有效协同以适应资源的异构性以及网络连接的多样性和动态性的需求是软件工作 者关注的重点。因此,我们需要有更高的开放性、灵活性和动态性的软件技术来 协同系统中自治的资源实体,适应网络环境和用户需求的动态变化,达成所需的 应用目标。 1 2 研究现状及存在问题 从技术角度看,一种协同技术包含两个层次,一是其协同模型,二是该协同 模型的软件实现 6 1 。协同模型作为“绑定一组分离的活动为一整体的粘合剂”m , 为主动独立的被协同体之间的交互的表达提供一个框架。而协同模型的软件实现 方式不一,可以是某种协同语言,也可以体现为某种体系结构,或实现为某种软 件框架等。 g e l e 删6 e r 提出的l i n d a 协同语言 8 1 提供了一种简单而有效的方式对计算和协同 进行区分,个体之间通过元组空间进行协同达到通讯同步的目的,能够实现进程 在时间和空间上的解耦,是当前最有影响的协同模型。但是在应用到开放的分布 式系统中时,l i n d a t g 遇到了一些问题,如:l i n d a 只有单个元组空间,不支持事务 处理,不能解决“多读”问题,无法对a g e n t 进行识别和认证,使l i n d a 的应用受到 一定的影响。因此,自从l i n d a 诞生以后,一批学者特别是欧洲学者在协同模型和 协同语言方面做了许多研究,他们对l i n d a 4 乍了进一步的扩展。总体来说。这些扩 展主要基于以下几个标准凹:可扩展性、数据空间结构、与平台相关的问题、技 术扩展及其它方面特性( 如移动性、安全性、开发工具等) 。 从可扩展性方面看,可以将基于l i n d a 的扩展分为以下三类: ( 1 )扩展协同原语:在基本l i n d a 协同语言中,一个主要局限性是这些原语 一次只能对一个数据进行操作。而在开放的环境中,随着应用规模的扩大和复杂 性的提高,系统中将包含大量的资源,并且大量资源之间可能存在一些内部联系, 为了解决l i n d a 表达能力有限的问题,许多协同模型在l i n d a 四个基本协同原语的基 础上加入一些新的协同原语或改变原来的协同原语以丰富l i n d a 语言的表达能力和 增强对元组的管理能力。这类扩展主要是从三个方面进行的:事务处理,可以 自动对一组数据而非单个数据进行处理。对数据空间中的数据有全局视图的操 黄志艳:基于语义和访问策略的协同模型研究3 作,即这些操作需要知道数据空间的状态。第三类是同时具有以上两种能力的 操作( 如一次读取某种类型的所有数据) 。对l i n d a 协同原语进行扩充的这类工作 主要有:w c l l l 0 1 、k l a i m 1 l 】、j a c h t l 2 1 、ts p a c e 1 3 1 、j a v a s p a c e 1 4 j 、b o n t i a l l5 1 。 ( 2 )使用可编程协同媒介:在不增加新的协同原语的基础上加入规则,从 而改变元组空间的原有状态以实现对元组空间的访问控制。由于l i n c h 协同语言中, 对元组空间的任何访问都触发相同的机制,因而缺乏灵活性,这显然不适合开放 的分布式环境,因为在开放的分布式环境中不仅包含数据,还包含服务和a g e n t , 元组空间的这种固定的面向数据的模式匹配机制不可能适用于所有的交互。这样, 复杂的交互实现起来很困难,对系统资源的访问也很复杂。解决上述问题的一种 方法是扩展原始的元组空间,形成一种可编程的具有反应力的元组空间。它使元 组空间不再仅仅是一个共享数据空间,也不再仅仅是一种固定的模式匹配机制, 而是一个有状态的、可编程的、对不同的访问具有不同反应的元组空间。所谓的 反应是指它能在元组空间中插入或删除元组,进而影响a g e n t 访问的语义。具有反 应力的元组空间对开放的分布式环境的交互非常有利:首先,它为a g e n t 访问本地 资源和交换数据提供了统一的接口;其次,计算机节点的管理者可以通过对元组 空间的反应进行编程来控靠l j a g c n t 对本地资源的访问,实现特定的安全策略,保护 其资源免受恶意a g e n t 的攻击;再次,通过对元组空间的编程,可以实现十分复杂 的交互,减轻了应用程序的负担。这类工作主要有:l a w - g o v e r n e dl i n c h 1 6 】、 m a r s 埘、l u c e 0 司、t u c s o n 1 9 1 。 ( 3 )对协同模型的改进:改变原有的协同原语或对数据空间的访问方式( 或 两者皆有) 。该类工作主要有:b a u h a u sl i n c h l 2 0 1 、l a u r a 2 ”、l i m e i s o ! 。 基本l i r l d a 协同模型基于单个共享数据空间,许多模型对共享数据空间进行改 进。从数据空间结构方面,协同模型主要从以下几个方面进行扩展: ( 1 ) 是否支持多个数据空间。在基本l i n c h 系统中,所有实体都有要通过一 个集中的元组空间进行交互,这将给元组空间带来极大的负担。解决该问题的办 法就是使用多个分布的数据空问。首先,使用多个数据空间,限制某些实体仅能 对其所见的数据空间中的数据进行操作可以提高系统的模块化程度。其次,可以 实现网络感知方式的设计,如仅把某几个数据空间分配给网络中的某个特定节点。 另外,还可以把数据空间作为协同语言的直接操作对象,例如,可以对整个数据 空间进行读取、复制或移动等。支持多个数据空间方面扩展的工作包括b o n t i a ”】、 4扬州大学硕士学位论文 l a u r a 2 t 、k l a i m 1 l 】、b a u h a u sl i n d a f 2 0 、p o l i s t 2 a j 、s o n i a l 2 3 j 、ts p a c e s t 、j a v a s p a c e s 1 4 j 等。 ( 2 ) 支持命名空间( s p a e e n a m i n g ) 和有关空间产生的问题。 ( 3 ) 数据空间采用集中式还是分布式。 ( 4 ) 多个数据空间之间是平级关系还是层次式关系。 ( 5 ) 数据空间中交换的是何种类型的数据( 元组、对象还是其它复杂的数 据类型) 。 在与平台相关的问题中,扩展协同模型主要关注以下几个方面的内容: ( 1 ) 主机语言。协同语言是否只可以嵌入到一种主机语言中( 如c ,j a v a 、 p r o l o g ) ? ( 2 ) 便携性。 ( 3 ) 平台体系结构。 ( 4 ) 运行时系统。 其它技术方面的扩展分为以下几个方面: ( 1 ) 支持移动性。 ( 2 ) 支持安全性。 ( 3 ) 是否有开发和分析工具。 目前对协同模型的研究虽然已取得了很大的进展,但是这些协同模型在应用 到开放的分布式环境中时遇到了很大的障碍,其中主要的原因是n 山及其演化模 型模型缺乏语义信息。在实际应用中,元组主要通过相关域的类型和值匹配( 如 l i n d a 中) 、面向对象的多态匹配( o b j e c t - b a s e d p o l y m o r p h i c m a t c h i n g ,如j a v a s p a c e s 中) 或是基于x m l 的匹配( 如r u p l e t 2 a l e 0 ) 。但事实上,这些协同方式存在一些问 题,人与计算机无法很好地沟通,这是因为在信息组织和信息检索方面缺乏公共 的知识,计算机无法理解用户的真正需求,也无法有效地处理异构信息。此外, 如何在具有语义信息的元组空间中实现对a g e n t 的访问控制以保护信息的安全性 也是开放的分布式系统中急需解决的问题。 1 3 解决方案和本文的工作 针对上述问题,本文以l i n d a 协同模型为基础,着重解决具有语义信息的协同 问题及其访问控制策略。目标是:以现有的技术为基础,将语义w e b 技术中的o w l 黄志艳:基于语义和访问策略的协同模型研究 5 d l l 2 5 2 6 和规则【s 1 1 引入到l i n d a 协同模型中,提出一种基于语义和访问策略的协同模 型a c c s t u p l e ( s e m a n t i c - b a s e dt u p l es p a c ew i t ha c c e s sp o f i c y ) ,分析模型中各组成 部分、涉及到的多个关键技术以及相互间的关系、系统的测试和运行等。主要工 作包括以下几个方面: 具有语义信息的协同模型:该协同模型使用o w ld l 描述语义信息,采用本 体表示元组空间,根据该本体图分析具有语义信息的元组空间中将会出现的新的 元组类型,并提出一组对这种新的协同原语进行操作的协同原语及其相应的匹配 机制。 访问控制策略:采用基于策略的方式控制客户对元组空间的访问,定义访 问策略本体,并使用该本体来定义访问策略,采用o w l 作为策略规则的表示语言, 提出一种用于访问策略推理的算法。 协同模型原型系统实现:基于上述两个方面的内容,对本文提出的基于语 义和访问策略的协同模型a c c s t u p l e 作了部分实现,详细讲述系统执行过程,并结 合一实例,阐述访问策略的应用。 1 4 本文的组织结构 本文的整体组织结构如下: 第一章:引言部分,主要介绍本文的研究背景、目前的研究现状、存在问题 及解决方案,并简要概述本文的主要工作,说明论文的整体结构。 第二章:介绍本论文的相关工作,主要包括协同的定义,协同的分类,主,客 观协同,协同模型和协同语言,控制数据驱动协同模型,最后简单介绍了典型的 数据驱动协同语言 i n d a 的相关知识。 第三章:提出一种基于语义和访问策略的协同模型a o c s t u p l e 。介绍a c c s t u p l e 的各个组成部分,并简单介绍该协同模型是如何在l i n d a 基础上迸行扩展。 第四章:详细介绍将o w ld l 和规则引入后对l i n d a 折:进行的扩展,包括分析 新的元组类型、定义新的操作原语及相应的新的匹配机制,给出语义元组空问的 本体图,并介绍如何在a s t l l p l e 中加入访问策略以实现对协同操作行为的控制。 第五章:详细介绍t a c c s t u p l e 的实现过程及开发工具,并结合实例给出实现 过程和相关代码。 第六章;对本论文的工作做了总结和回顾,并对进一步研究工作做了展望。 6扬州大学硕士学位论文 2 相关工作 2 1 引言 本章主要介绍论文中所涉及到的一些基本概念和技术,主要包括a g e n t 协同 理论、协同分类、主客观协同、协同模型的组成、协同模型的分类、数据驱动模 型、控制驱动模型以及基本l i n d a 协同语言。基于上述知识,提出一种基于语义和 访问策略的协同模型。 2 2 协同的定义 协同理论最早是在上个世纪9 0 年代初,由麻省理工学院协同科学中心的 t h o m a sm a l o 及其研究小组提出来的。协同是个跨学科的概念,横跨计算机科 学、心理学、经济学等,各学科研究的角度和目的都不相同,因此,出现了许多 对协同的定义。其中,最广为接受的定义是在m a l o n e 2 1 ,g e l e m t c r 【7 j ,w e g n e ,3 t 2 9 】 等人的工作基础上形成的:协同是对系统中实体问依赖和交互的管理。这个实体 可以是a g e n t 、流程、分子、个人或是其他任何事物。在计算机领域,协同是一个 过程,不是一个目标。通过协同,分布式系统可以实现资源共享或者完成一个共 同目标。目前,协同在许多研究领域都有广泛的应用,如编程语言、并行与分布 式系统、人工智能、分布式人工智能和多a g e n t 系统、i m e m 既技术和软件工程等。 对于协同,g e l e m t e r 和c a r r i e r o 还提出 p r o g r a m m i n g = c o m p u t a t i o n + c o o r d i n a t i o n i 的口号,以倡导在分布式程序设计中将( 分布的) 协同与( 局部的) 计算分离的 思想。这样一方面可以方便组件的复用,另一方也可以实现协同方式的复用。 2 3 协同分类 随着并行和分布式程序设计技术的发展,人们对协同问题的研究兴趣日增, a g e “划之间的协同机制的研究,国际上已经发展了许多方法,并形成了几个流派。 薛宏涛等人根据各流派的理论和方法上的不同,将它们分为以下三类口i : l 、基于符号推理系统的多a g e n t 系统的协同机制; 2 、基于行为主义的多a g e n t 系统的协同机制: 3 、基于协同进化方法的多a g e n t 系统的协同机制。 黄志艳:基于语义和访问策略的协同模型研究 7 清华大学石纯一教授等人将多a g e n t 之_ 问的协同从d a d 的角度可以分为显式 协同、隐式协同和元协同圈。 在人工智能和软件工程中,根据对依赖关系管理的角度和层次,可以把协同 分为主观协同和客观协同 3 3 j 。 2 3 1 主观协同 主观协同主要来源于人工智能,它是对主观依赖的管理,是a g e n f f e m a s 中为 了实现自己的主观目标而进行的个人的、心理的协同活动。主观协同从微观层次 ( j ;k a g e n t 的角度) 看a g e n t 间的交互,着重研究单个a g e n t 的智能( 图2 1 ) 。此时 协同的定义如j e n n i n g s 所述:从一个a g e n t 角度出发,交互空间中包含其他a g e n t 的 可观察到的行为以及环境随时间的演变( 且根据它的观点和理解经过筛选和解释 得到) 。此时协同等同于:监视所有可观察到的与自身相关交互及环境的演变、 设计能使m a s 的全局状态与自身目标一致的规划。 总的看来,整个系统的协同是由两方面内容决定: ( 1 ) 单个a g e n t 的心智状态( 信念、目标) 、角色 ( 2 ) 单个a g e m 对a g e n t 间的内在依赖关系的主观看法。 主观协同可以分为两类:显式主观协同和隐式主观协同【3 列,其主要区别是对 主观依赖管理的显式或隐式处理。 在m a s 实现过程中,主观协同主要表现为a g e n t 语言( 图2 2 ) 。 m a s 中比较常见的主观协同例子有: 多a g e n t 规划建立规划并承诺依据规划行动。 协商a g e n t 相互通信来达到一个相互可接受的建议。 组织协同提供一1 - 对系统具有更广阔视野的a g e n t 来解决冲突和确保行 为一致。 合约一a g 曲t 之间的任务和资源分配与确定组织结构。 通常,主观协同要求智能( 如b d i ) a g e n t 、高层a g e n t 通信语言( a c l ) , 如k q m l 或f i p a 。 2 3 2 客观协同 在i n t e m e t 这种无统一管理环境下,实体之间并不总是主观合作的,它们服从 于不同的利益,其问的关系甚至可能是竞争的。此时就要在系统中实体之外( 强 制性的) 引入协同技术,称为客观协同。客观协同又称为中介协同或解耦协同, 8扬州大学硕士学位论文 主要来源于并行和分布式计算领域。它是对客观依赖的管理,是多a g e n t 系统或其 中部分a g e n t 为了实现系统设计者的目标而进行的协同活动。客观协同从宏观层次 ( 从外部系统设计者的角度) 看交互,从交互a 删 部角度出发,交互空问包含 m a s 0 e 所有a g e n t 的可观察到的行为及a g e n t j 不境和所有的交互历史。此时协同意 味着:影响a g e n t 的交互以使m a s 不断演化实现设计者的目标。客观协同主要关注 a g e n t 间的问题,如m a s 环境的组织如何描述、a g e n t 间及其与m a s 交互的管理等。 客观协同通过以下两个方面实现:1 ) 通过刻画环境是如何组织的,2 ) 通过处理 a g e n t 间的交互。 图2 1 左边是主观协同,右边是客观协同,中间是两者的结合 通常,客观协同强调系统中计算和协同相分离。交互空间的模拟和形成独立 于交互体。协同媒介按照协同规则( 社会法则或系统约束) 规范a g e n t 间的交互。 常见的客观协同方法的例子:t u p l ec e n t r e s 和相关的t u c s o n 协同框架。 主观协同依赖于客观协同,主观协同建立在客观协同基础之上( 图2 2 ) 。使 用主观协同机制必须首先建立客观协同机制。因此,当建立一个m a s 时,必须先 识别客观依赖关系及其处理方式,之后才可以描述系统中的主观依赖关系。 不论是主观协同还是客观协同,在开发m a s 系统中都具有重要作用。现实的 m a s 系统不可能是纯粹的基于主观协同,也不可能是纯粹的基于客观协同。通常 是两种模型和技术相结合。 黄志艳:基于语义和访问策略的协同模型研究 9 图2 2m a s 中的主客观协同 2 4 协同模型和协同语言 对协同问题的研究集中体现为各种协同模型及其相应的协同语言,协同模型 和协同语言为大规模并行与分布式系统的设计与发展提供了一种新方法,体现了 大规模程序设计的发展趋势,适应了像i n t e m e t 这样的开放的、分布的计算环境中 的软件应用需求,在现实应用中具有重要的意义。 协同模型是多组件系统中用于描述组件之间交互的形式化框架。协同模型是 协同语言的基础,协同语言包含一些可嵌入到高级编程语言中的协同机制洲,是 协同模型在语言上的实现1 7 1 。 协同模型提供了一个x f f a g e n t l 闻相互作用进行表达的形式化框架。一般来说, 协同模型要处雹a g e n t 的创建与删除、a g e n t 间的通信活动、在多a g e n t 系统空间中 的分布与移动、a g e n t 行为的同步操作等。因此,协同模型主要处理协同中的客观 协同部分。而在m a s 实现过程中,主观协同主要表现为a g e n t 模型和a g e n t i 吾言( 图 2 3 1 。 l o扬州大学硕士学位论文 。1 r ” 、 “ 一 “ i m , j 、a g e n t i - 王务 。 ? , 分7 a g e m 语言 布 式; 、 f 系, 主观协同 , t 统i : i 一 : ; 体i 系。: 结、 弘5 客观协同 型 5 协同语害 构g 、 建模设计实现 图2 3m a s 的实现 人们在描述协同模型的组成时,传统上常将其表示成一个三元组的形式 e , l ,m 1 3 5 1 ,其中,e 表示协同体,l 表示协同规则,m 表示协同媒介( 如图2 4 ) 图2 4 基本协同模型 协同体( c o o r d i n a t i o n e n t i t y ) :披协同的实体( 实际指其类型) ,它们之间 黄志艳:基于语义和访问策略的协同模型研究 1 1 的关系由协同模型规定和控制。协同体可以是进程、线程和对象等,甚至可以包 括用户。 协同媒介( c o o r d i n a t i o nm e d i a ) :协同媒介是使a g e n t 间相互作用成为可能的 各类载体的统一抽象描述,它是将协同体连接起来的媒介,也是协同体得以组织 在一起的核心,它支持协同实体间的通信。协同媒介的例子包括信号量、管程、 通道以及元组空间、黑板等。 协同法则( c o o d i n a t i o nl a w ) :用于定义与协同体相互作用事件相对应的协 同媒介的行为,指明协同体如何通过给定的协同媒介,使用协同原语来实b 见a g e n t 间的协作。例如规定协同是同步通信还是异步通信,对参与协同的其它实体是显 式指明还是隐式决定等等。 2 5 协同模型的分类 对于协同模型可以从多个方面进行分类,如协同体的类型、协同模型的底层 体系结构、可扩展性、开放性等。1 3 6 】在总结和分析了多种协同模型的基础上,给 出一种广泛接受的分类方法,将协同模型和协同语言分为控制驱动和数据驱动两 类。两者最大的区别是:控制驱动模型将协同和计算严格区分开。 2 5 1 控制驱动协同模型 控制驱动模型阳又称面向过程的协同模型,它关注的是协同体间的控制流程。 通常协同体被定义为一个具有良好接口的黑盒。协同体之间通过接口( 通常称为 输入,输出端口) 进行通信,计算处理后放到自己的端口上;而无需考虑与其他实 体的协同。协同体还可以向环境中发送控制信息或事件,达到通知其它协同体自 己状态或状态改变的信息的目的。 在控制驱动模型中,协同体对外部环境开放,通过明确定义的输入输出端口 上的事件发生与环境交互。从协同媒介的角度看,协同体的可观察到行为是这些 端口上的状态变化或事件发生。协同规则确定事件和状态变化如何发生及如何传 播出去。因此,协同媒介主要处理交互空间的拓扑结构,不考虑协同体间数据的 交换。两个协同体问可建立生产者和消费者的关系,这时前者的输出端口与后者 的输入端口建立连接。除端口外,协同体还常向协同环境发出控制信号,以便让 相关的协同体知道其所处的状态。 图2 5 表示了控制驱动模型的工作过程。 扬州大学硕士学位论文 图2 5 控制驱动协同模型 大多数控制驱动类型的协同语言都通过c s p - 或o c e a m - 实现对事件的观察, 但是在具体功能上也存在着差异。例如,在某些语言中,事件可以是有类型和值 的参数,而在另外一些语言中,事件仅仅是用于表示状态改变的简单值。 控制驱动的协同语言一般都是建立在形式化的方法上。控制驱动协同语言通 常功能较为完整,完全独立于编制各个协同体的程序设计语言。负责计算的协同 体程序和负责协同的代码在行文上就是明确区分的,这样就更加彻底实现了关注 的分离,有利于复用。 典型地,控制驱动的协同语言通常用所谓的通道来连接协同体的端口,一般 此连接是点到点的,基于事件机制的广播式控制也可在一个生产者和多个消费者 问实现。实际上,控制驱动的协同语言就是所谓的配置语言,在某种程度上也是 体系结构描述语言。 具有代表性的控制驱动语言包括m a n i f o l d l 3 7 1 、d a r w i n l 3 8 1 等。 2 5 2 数据驱动协同模型 数据驱动的协同模型1 3 6 l 关注的主要是协同体之间的数据交换。几乎所有这类 的协同模型都要用到共享数据空间,它是一个公用的、可根据内容寻址的数据结 构。所有协同体之间仅可以通过共享数据空间这个媒介进行间接通信,它们可以 黄志艳:基于语义和访问策略的协同模型研究1 3 向该媒介中发送或检索信息。协同体除了需要完成自身的计算任务之外,还需要 通过调用协同原语来从外界( 共享数据空间) 获取数据或向外界提供数据,以此 来与其他实体协同。 在数据驱动模型中,协同体通过交换数据与外界进行交互,协同媒介是共享 的数据空间,协同规则规定数据结构的表达形式和从数据空间中存取数据的方式。 图2 , 6 为数据驱动模型,其中椭圆表示进程,矩形表示数据,空心矩形表示 模板,用于指明进程在共享数据空问中检索哪类数据,其它各类矩形表示各种类 型的数据,小椭圆表示主动数据。 图2 6 基于数据空问的协同模型 由于交互实体之间是通过共享数据空问进行通信的,协同体在将信息发送到 数据空间中去以后就可以执行其它任务,其它协同体可以在任何时间获取这条信 息。同时,消息的产生者和消费者之间不需要知道彼此的身份和地址,也就是说 数据空间中信息可以被任意实体在任意时间获取,因此数据驱动模型实现了时间 和空间上的解耦。 数据驱动的协同语言通常较为简单,主要是一些进行数据存取操作的协同原 语,它通常作为子语言嵌入到高级编程语言中。在这类协同模型下,协同体的程 序在行文上是将负责计算的代码和负责协同的代码放在一起的,开发者需有意识 1 4 扬州大学硕士学位论文 地以良好的风格组织程序,以使计算和协同适当分离。 2 5 3 基于元组空间的l i n d a 协同模型 l i n d a 7 , s l 是第一个数据驱动类型的协同语言,它提供了一种简单而有效的方 式对计算和通信进行区分。这种协同语言主要做两件事:表达协同和定义协同媒 介。若两个协同体要交换数据,发送方产生一条消息( 以元组形式表示) 并将其 放入共享数据空间( 元组空间) 中,接收者可以通过读取或从数据空间中移除元 组的方式来获取消息( 图2 7 和图2 8 ) 。 广 i ,。_ j 图2 7 向元组空闭中加入元组图2 8 从元组空间中读取元组 l i n d a 中的数据是以元组的形式存放的。元组是种典型的数据结构,其中包 含若干个有类型的域,域中既可以存储一个确定的值( a c t u a l ) ,也可以存放一个 空值( f o r m a l ) 。元组空间是一个逻辑共享内存,其中的数据以元组的形式存放。 共享该元组空间的一组协同体有权访问其中所有的元组,可以动态地插入和读取 元组。 l i n d a 的交互是通过联想机制( a s s o c i a t i v em e c h a n i s m s ) 实现的,即用模型匹 配的方式检索其中相关的元组。模板和元组相似,只是它的域只需要有类型而不 需要有值。如果一个消息跟模板匹配,那么它就可以被读取或从数据空间中被移 除。 所有基于元组空间的协同语言的基本对象都是元组、模板和元组空间。当下 面的公式成立时,认为元组t 和模板m 相匹配: = 鼬劲 e - 一例: ( 加= 参( 功 ( 均= 以功v = 黝 其中,分f z j 是一个函数其返回值是元组或模板,的第_ ,个域的类型,哟也是 冒田 黄志艳:基于语义和访问策略的协同模型研究 1 5 一个函数,其返回值是元组或模板,的第_ ,个域的值,稃仃,) 是元组或模板f 的势。 l i n d a 实际上不能称为一个完整的协同语言,因为它只包含几个简单的协同 原语,这些原语分别是o u t ( t u p l e ) ,i n ( t e m p l a t e ) ,r d ( t e m p l a t e ) ,e v a l ( a c t i v e - t u p l e ) 。 有些l i n d a 系统还支持另外两个操作:i n p 和r a p ,它们分别是i n 和r d 的非阻塞形式。 生成式通信( g e n e r a t i v ec o m m u n i c a t i o n ) :l i n d a 是一个具有代表性 的数据驱动协同语言,其最主要的特点就是所谓的生成式通信嘲:协同体之间的通 信既不是通过消息传递,也不使用共享变量,而是使用一个共享的元组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁培训课件命题
- 金溪县物业管理办法
- 银行印章章管理办法
- 2025年河南省郑州市第十九中学物理高三第一学期期末联考试题
- 2025年乡镇村干部考试题及答案
- 企业管理安全生产培训班课件
- 特殊教师案件管理办法
- 纪检案件举报管理办法
- 演出经纪公司管理办法
- 特殊兵种枪支管理办法
- JG/T 368-2012钢筋桁架楼承板
- 特殊教育理论试题及答案
- 2025年巴州库尔勒市社区工作者招聘笔试试卷
- 农村拆迁转让协议书
- 原发性醛固酮增多症诊断治疗的专家共识(2024版)解读课件
- 新商标法修订解读:知识产权课件-商标法更新
- 钢厂脱硫脱硝工艺流程图
- 2025年五四制部编版道德与法治五年级上册教学计划(含进度表)
- 食品行业标准化管理体系
- 初中历年会考试卷及答案
- T-CNAS 18-2020 成人住院患者跌倒风险评估及预防
评论
0/150
提交评论