(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf_第1页
(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf_第2页
(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf_第3页
(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf_第4页
(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于网构软件的动态演化技术研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士论文 基于网构软件的动态演化技术研究与实现 摘要 随着网络的普及和应用,越来越多的软件系统部署在i n t e m e t 上,由于网络平台与 传统计算机软件平台特征上的很大不同,而且软件系统的规模和复杂性越来越高,并呈 现出很多新的形态和特点,如何在开放、复杂、动态、难控的i n t e r a c t 环境下实现各类 资源的共享和集成以及复杂软件系统的开发己成为计算机软件技术面临的一项挑战性 研究课题。据此,国内外学者提出了网构软件的概念和思想,并开展了有关网构软件的 形式化理论、软件模型、开发方法和平台框架等方面的研究。 论文针对如何支持自适应和动态演化网构软件的开发和运行这一问题,围绕网构软 件的动态演化技术,从核心机制、关键技术等方面入手,在考查了已有相关研究的基础 上,研究基于a g e n t 和动态绑定机制的网构软件动态演化技术。论文考虑将网构软件实 体抽象、封装为软件a g e n t ,将c a s t e 动态绑定机制作为支持网构软件动态演化的核心 机制。 论文在介绍了相关理论的基础上,利用c a s t e 作为实现a g e n t 的软构件,并根据现 实世界的规则和需要补充了c a s t e 动态绑定机制的操作及实现方法,利用项目系统实现 并验证了c a s t e 动态绑定机制,最后在上述研究的基础上提出基于a g e n t 动态绑定的网 构软件模型。 关键词:网构软件,a g e n t ,c a s t e ,动态绑定机制 a b s t r a c t 硕上论文 a b s t r a c t w i t ht h ep o p u l a r i z a t i o na n da p p l i c a t i o no ft h en e t w o r k ,m o r ea n dm o r es o f t w a r es y s t e m s a r ed e p l o y e do ni n t e r n e t b e c a u s eo ft h em a n yd i f f e r e n c e sb e t w e e nt h en e t w o r kp l a t f o r ma n d t r a d i t i o n a lc o m p u t e rs o f t w a r ep l a t f o r m s ,a l o n gw i t ht h ei n c r e a s eo ft h es c a l ea n dc o m p l e x i t y o ft h es o f t w a r es y m e m sw h i c ha l s oa s s u m e sm a n yn e wf o r m sa n dc h a r a c t e r i s t i c s ,i t sat o p i c o fc h a l l e n g ef o rc o m p u t e rs o f t w a r ed e v e l o p e r st od e v e l o pc o m p l i c a t e ds o f t w a r es y s t e m sa n d t or e a l i z et h es h a r i n ga n di n t e g r a t i o no fa l lk i n d so fr e s o u r c e si na no p e n ,c o m p l e x ,d y n a m i c , u n c o n t r o l l a b l ei n t e m e te n v i r o n r n e n t f o rt h i sr e a s o n , t h ec o n c e p t sa n di d e a so fi n t e m e t w a r ea r ep u tf o r w a r d ,a n dt h e r e s e a r c h e so nf o r m a l i z a t i o n ,s o f t w a r e m o d e l s ,d e v e l o p i n gm e t h o d sa n dp l a t f o r m so f i m e m e t w a r ea r ea l s ol a u n c h e db yt h ed o m e s t i ca n df o r e i g ns c h o l a r s t h i sp a p e rr e v o l v e sa r o u n dt h ep o i n t - - h o wt od e v e l o pa n dr u nt h ei m e m e t w a r ew i t h a d a p t i v ea n dd y n a m i ce v o l u t i o nc h a r a c t e r i s t i c s ,a n dt h ed y n a m i ce v o l u t i o nt e c h n i c o nt h e b a s i so ft h es t u d yo fe x i s t i n gr e l a t e da c m e v e m e m s ,i tr e s e a r c h e st h ei n t e r n e t w a r ed y n a m i c e v o l u t i o nt e c h n i q u eb a s e do na g e n ta n dd y n a m i cb i n d i n gt e c h n i q u ef r o mt h ec o r em e c h a n i s m a n dk e yt e c h n i q u e ,w h i c ha l s op l a n st oa b s t r a c ta n de n c a p s u l a t et h ei n t e m e t w a r ee n t i t yi n t oa n a g e n t ,a n dt ot a k et h ed y n a m i cb i n g d i n gm e c h a n i s mi l l c a s t ea st h ec o r em e c h a n i s mt o s u p p o r tt h ei n t e m e t w a r ed y n a m i ce v o l u t i o n o nt h e b a s i so fi n t r o d u c i n gt h er e l a t e dt h e o r i e s ,t h ep a p e rt a k e sc a s t ea st h es o f t c o m p o n e n tt o a c t u a l i z ea g e n t , c o m p l e m e m i n gt h e o p e r a t i o n sa n dr e a l i z a t i o nm e t h o d s a c c o r d i n gt ot h er e a lw o r l d ,w h i c ha l s or e a l i z e sa n dp r o v e st h ed y n a m i cb i n g d i n gm e c h a n i s m i i lt h ep r o j e c t f i n a l l y , b a s e do nt h ea b o v er e s e a r c ha n dc o n c l u s i o n s ,t h ea g e n td y n a m i c b i n d i n gi n t e r n e t w a r em o d e l w a sr a i s e da n dd e s i g n e d k e yw o r d :i n t e r n e t w a r e ,a g e n t ,c a s t e ,d y n a m i cb i n d i n gm e c h a n i s m i i 声明尸l 刃 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:蛩垂丝尹一孑年月哆日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:豳:曼绦弘稍年月巧日 硕士论文基于网构软件的动态演化技术研究j 实现 1 绪论 1 1 研究背景 近年来,随着计算机网络尤其是i n t e m e t 的日益普及和广泛应用,越来越多的软件 系统运行和部署在i n t e m e t 之上。不同于传统计算机平台,i n t e m e t 具有以下基本特征: 无统一控制的“真 分布性,节点的高度自治性,节点链接的开放性和动态性,实体行 为的不可预测性,网络连接环境的多样性等【l 】。与此同时,运行在i n t e m e t 之上的软件 系统的规模和复杂性越来越高,并呈现出以下新的形态和特点1 2 j :面向组织而不是单一 个人、自治性、分布和协同性、开放和动态性、自适应性等。因此,如何在开放、动态、 难控的i n t e m e t 环境下实现各类资源的共享和集成以及复杂软件系统的开发已成为计算 机软件技术面临的一项挑战性研究课题。 f r a n c oz a m b o n e l l i 指出,当前软件系统的复杂性远超出现有软件工程抽象( 如面向 对象、面向构件等) 的处理能力,并将作为一种重要的驱动力,促使软件工程甚至计算 机科学范型的根本性变革1 3 】。为了迎接上述挑战,为部署在i n t e m e t 环境下复杂软件系 统的开发寻找新的概念、模型和方法,北京大学的杨芙清老师和梅宏老师、南京大学的 吕建老师等提出了网构软件的概念和思想2 】【4 】【5 】 并与华东师范大学何积丰老师、南京 大学李宣东老师、中科院金芝老师、陆汝钤老师和黄涛老师,清华大学陈玉健和王建民 老师等开展了有关网构软件的形式化理论、软件模型、开发方法和平台框架等方面的研 究。 开放环境下网构软件的核心难点之一在于如何使软件系统能够在运行过程中对外 部环境和应用需求的变化做出适当反应,从而将系统所提供服务的功能或性能等维持在 一个令人满意的水平上。近年来,有关自适应和动态演化系统的研究成为人们关注的焦 点1 6 1 ,该领域现有的工作大致可分为以下三类。 第一,基于模型技术,如y o d e r 等人提出了自适应的对象模型a o m ( a d a p t i v eo b j e c t m o d e l ) 7 1 ,用户可以在以元模型描述的抽象层次上,应用支撑工具定制系统,并在运行 时应用反射技术将描述系统的配置信息映射为对象模型的运行时描述。a o m 方法以元 数据描述对象模型,元数据是有关业务实体的属性、行为、实体间关系、业务规则等的 配置描述信息。密歇根州立大学b e t t ) rh c c h e n g 教授提出了基于模型的自适应软件验 证方法。该方法支持自适应行为与非自适应行为的分别规约,可应用于不同的基于状态 的建模语言中,方法提供了一种将模型作为基本的自动产生可执行原型的技术,并且确 保模型在高层需求阶段和自适应程序实现阶段的致性。 第二,基于软件体系结构技术,软件体系结构中的部件和连结子的增加、删除、替 换对应于软件系统自演化的各个方面的行为,从而在宏观层次上体现了软件演化的行 1 i 绪论 硕i j 论文 为。同时软件体系结构中的配置和约束方面的工作为软件演化提供了完整性和一致性检 查的可能。南京大学的吕建教授及其研究小组对软件热演化进行了研究,提出了自演化 软件支撑平台a r t e m i s m a c ,将软件体系结构内嵌于面向对象程序设计模型并提供了相 应的演化支撑机制。s e u n g h w al e e 等人提出了基于多a g e n t 的自适应系统的体系结构 【2 7 1 ,基于该体系结构设计的自适应软件系统可以对预先未知的情况自动进行处理。系统 具有自增长引擎,能够更新老的规则并生成新的规则,并通过对系统资源和用户行为的 观察来确定合适的行为来响应环境的变化。m i c h a e ll u c k 与p e t e rm c b u m e y 等人提出了 基于a g e n tb d i ( b e l i e f d e s i r ei n t e m i o n ) 认知体系结构来构造自适应软件系统的方、法1 2 2 1 , 通过该方法设计的自适应软件不仅可以感知环境的变化,也可以感知并适应系统自身的 行为。加州大学i n ,i 1 1 分校的t a y l o r 教授领导开发的a r c h s t u d i o 系统,欧盟资助的 a r c h w a r e 项目,以及c m u 的g a r l a n 教授提出的r a i n b o w ,都试图通过体系结构的途 径对可演化、自适应提供支持。以r a i n b o w 为例,它是一种自演化、自适应的模型。该 模型通过一种“外置”的适应方法,在系统运行时保存一个或者多个系统体系结构模型, 这些模型对运行系统提供一个抽象的、全局的视点,可以支持对运行系统遇到的问题的 原因和系统所处环境的变化分析和推理,然后根据既定的策略规则做出改变系统体系结 构的决策。并通过中间翻译层将决策具体作用于系统层,从而实现自适应行为。 第三,基于中间件技术,m o u r a 等人提出了使用c o r b at r a d i n gs e r v i c e 支持对动 态组件的选择,并且支持对动态变化的需求的监测。北京大学梅宏教授及其研究小组开 发了基于反射式的j 2 e e 应用服务器p k u a s t 2 4 j ,该服务器通过中间件来支持运行时查看 并调整内部状态和行为,以实现反射体系对系统整体的表示和控制。 根据已知情况分析,国内外在动态绑定机制和技术的相关方面的研究还处于开始阶 段。 概括起来,网构软件是i n t e r n e t 时代一种新的软件形态,代表了一类复杂系统,具 有诸如自治、开放、自适应和动态演化等特点。这类软件系统的出现势必对支持这类系 统开发所需的软件理论、方法、技术和平台提出新的要求。近年来,人们从多个方面对 网构软件技术进行了深入的研究,取得了一系列的研究成果,包括以软件体系结构为中 心的网构软件开发方法【2 3 1 、基于a g e n t 的网构软件模型【1 4 】、网构软件的信任度量及演化 模型【2 6 】等等。然而,如何支持具有自适应和自演化特征的网构软件系统的开发、部署和 运行仍然是目前网构软件技术研究面临的一项挑战性课题。本文认为,网构软件自适应 和动态演化技术的研究必须要解决以下三方面的关键问题。首先是网构软件对驻留环境 的感知、表示和分析问题,在开放和动态的系统中,系统环境和情景的研究变得非常重 要。其次,网构软件自适应和自演化核心机制问题。第三,网构软件实体的主体化问题, 需要提供主体化( 即内容的自包含性、结构的独立性与实体的适应性) 程度更高的概念、 模型和技术来支持对网构软件中的实体进行建模、分析、实现和运行。开展基于a g e n t 2 硕士论文基于网构软件的动态演化技术研究与实现 和动态绑定机制的网构软件自适应和自演化关键技术的研究对于推动网构软件技术的 发展,促进复杂网构软件系统的开发、部署、运行和维护具有重要的学术和应用价值。 1 2 项目来源 本论文的研究项目来源为上海三一( s a n 科技有限公司的设备销售与服务系统, 协议书编号:s c c r s c j s x y 0 0 1 。这个项目系统由计算机学院和自动化技术学院合作开 发,计算机学院负责基于w e b 的设备信息与远程技术管理的系统开发,包括设备的销 售流程,售后技术服务等模块的实现,自动化学院的主要工作是关于产品的嵌入式状态 检测与远程传输方案。针对系统需求与现实意义,为了验证s l a b s p 语言的c a s t e 机制, 本文设计在用户层使用动态绑定机制实现用户权限的变化,以实现动态演化的技术要 求,为将动态绑定机制作为动态演化技术的核心机制提供依据。 1 3 研究内容 本文结合实际项目,在系统框架内引入a g e n t 及c a s t e 机制,并利用c a s t e 的动态 绑定机制实现软件动态演化技术,同时讨论用s l a b s p 语言对a g e n t 与c a s t e 的实现方 法,对c a s t e 机制的相关操作的定义及实现方法进行了补充,在这些研究的基础上提出 利用a g e n t 实现网构软件的主体化、将动态绑定机制作为动态演化核心机制的网构软件 模型。为了达到上述目的,本文的主要研究内容如下: 1 、c a s t e 机制及各c a s t e 定义与a g e n t 动作。利用c a s t e 性质及操作实现动态绑定机制, 研究并定义c a s t e 的各个状态及改变状态的操作的实现。讨论a g e n t 与c a s t e 的动态 关系及实现方法。 2 、动态绑定机制原理及实现语义。针对网构软件的动态演化机制问题,研究如何对网 构软件的自适应和动态演化特征进行解释、描述、分析、实现和运行。讨论将动态 绑定机制作为支持网构软件自适应和动态演化的核心机制。主要包括动态绑定机制 及其思想,以及动态绑定机制的形式语义基础及其性质等。 3 、s l a b s p 语言实现各c a s t e 与用户a g e n t 。介绍支持族类机制的面向a g e n t 的开发语 言s l a b s p 及其开发、运行环境,给出并补充完善各c a s t e 与动态绑定机制实现动 作的定义。利用c a s t e 机制实现项目系统的用户a g e n t 的动态绑定机制。 4 、网构软件系统模型。利用a g e n t 实现网构软件实体的主体化,将基于c a s t e 的动态绑 定机制作为支持网构软件动态演化的核心机制,提出了基于a g e n t 动态绑定机制的 网构软件模型( a d b i m ) 。 i 绪论 硕t :论文 1 4 本文结构 论文分六章,本章为绪论,其余各章相关内容分别如下: 第一章绪论,介绍本课题的研究背景,研究现状,本文的项目来源,研究重点及章 节安排等内容。 第二章相关基础理论。介绍了本课题相关的一些基础知识及相关领域的研究发展情 况,包括网构软件的知识与发展,a g e n t 技术的相关理论,最后谈到其中的一些挑战和 问题,引出c a s t e 动态绑定机制。 第三章c a s t e 与动态绑定机制。介绍了c a s t e 机制,并提出将动态绑定机制作为实 现动态演化技术的核心技术。同时详细说明了c a s t e 机制的操作,并在此基础上给出了 项目中考虑采用的c a s t e 的形式化规约,并举例说明c a s t e 机制的使用。 第四章s l a b s p 语言平台与c a s t e 机制实现。介绍了s l a b s p 语言的基本知识,然 后说明了s l a b s p 语言的运行方法和平台,给出了它实现的基础j a v a 类与标准库,最 后根据现实规则与需要对语言的进行了修改补充,并给出了项目中用到的c a s t e 与a g e n t 的实现语句。 第五章系统实现与a d b i m 模型。说明了系统的整体框架,以及各个模块的功能, 并详细说明了其中重要的课题相关的操作的流程。最后本文在研究与验证了动态绑定机 制的基础上,提出了基于a g e n t 动态绑定的网构软件模型( a d b i m ) 并给与详细说明。 第六章结束语。总结本文所做的工作,讨论了本课题研究的不足与进一步的发展方 向。 4 硕士论文基于网构软件的动态演化技术研究与实现 2 相关理论 2 1 网构软件基础理论 2 1 1 网构软件的提出 开放、动态、难控网络环境的资源共享与集成是i n t e m e t 平台上应用需求的基本形 态,其成功的案例之一是w w w ( w o d dw i d ew e b ) ,它不仅将世界范围内的信息资源有 机地集成与共享,而且为从其他角度来考虑对网络资源的共享与集成的支撑提供了有益 的借鉴。从系统结构的角度,w w w 的主要特征可归结如下1 5 j :相对独立的“网页”: 每一个网页本身均是一段有信息量的独立内容;灵活多样的“链接 :各个相对独立的 信息内容可以通过灵活的指针建立多样性的链接,从而形成相互关联的信息网;网页链 接的“成长一:相互关联的信息网的开发者具有分布群体的特征,因此其开发过程是持 续成长演化式的;面向用户的“使用 :用户包括开发者与使用者,为了保证w w w 成 长性与可用性的结合,其易用性均被合理的加以支持;开放环境的“包容”:开放环境 往往是难以控制的,因此,w w w 的结构和资源特点使得在出现“坏 网页和链接的 情况下,用户仍然能够足够好对其加以使用。归结起来,w w w 系统结构的特征在于 实体与链接的相对独立性与分离性,以及面对开放环境的成长性与包容性。 类似的,为了适应开放、动态、难控的网络环境的需求,软件系统开始呈现出一种 柔性可演化、连续反应式、多目标适应的新系统形态。从技术的角度看,在面向对象、 软件构件等技术支持下的软件实体以主体化的软件服务形式存在于i n t e m e t 的各个节点 之上,各个软件实体相互间通过协同机制进行跨网络的互连、互通、协作和联盟,从而 形成一种与w w w 相类似的软件w e b ( s o i l w a r ew e b ) 。网络环境的开放、动态和多变性, 以及用户使用方式的个性化要求决定了这样一种软件w e b 不再像经典软件那样一蹴而 就,它应能感知外部环境的动态变化,并随着这种变化按照功能指标、性能指标或可靠 性指标等进行静态( 离线) 的调整和动态( 在线) 的演化,以使系统具有尽可能高的用户满 意度。这样一种新的软件形态被称之为网构软件( i n t e m e t w a r e ) ,它具有自主性、协同性、 反应性、演化性和多目标性等特础1 4 】。 具体说来,网构软件是开放、动态和难控网络环境下的分布式软件系统的一种抽象, 它包括一组分布于i n t e m e t 环境下各个节点的、具有主体化特征的软件实体,以及一组 用于支撑这些软件实体以各种交互方式进行协同的连接子。整体而言,它能够感知外部 环境的变化,通过体系结构演化的方法( 主要包括软件实体与连接子的增加、减少与演 化、以及系统拓扑结构的变化等) 来适应外部环境的变化,展示上下文适应的行为,从 而使系统能够以足够满意度来满足用户的多样性目标。网构软件概念框架见图2 1 1 1 。 2 相关理论 硕士论立 如烈咚;t 。谴鬻| | s 图2 1 1 1 网构软件概念模型示意图 2 1 2 网构软件的特点 不同于传统的软件系统,网构软件具有以下几个方面的主要特点:( 1 ) 驻留环境的 丌放性和动态性,系统边界的不明确性,这就需要网构软件具有感知外部环境的能力, 从而为系统的行为决策和实施提供有用的信息。( 2 ) 软件实体的高度自治性和主体化, 从而使得网构软件能够根据外部环境的变化来选择和实施适当的行为。( 3 ) 软件系统行 为的自适应性和动态演化性网构软件需要在运行过程中,根据感知到的外部环境信息, 不断地调整自身的结构和行为以满足系统的设计目标。 从逻辑内涵的角度,网构软件在其构成、运行、目标、开发、可信、生存周期等侧 面与经典软件系统相比均存在差异。 从系统组成的角度t 网构软件与经典软件系统的主要不同之处可从纵横两个方面来 看。从横向的层面看,网构软件是一种由分布在广域范围内的、通常由第三方提供的、 具有主体化服务特征的一组软件实体,通过各类风格各异的协同连接子加以互连互通而 形成的联盟,从纵向的层面看,网构软件包括两个层次的内容,即目标层与控制层。目 标层不仅包括经典软件系统,而且还包括显式的环境抽象。控制层则主要包括用于反映 环境变化的感知部分和用于调节系统行为的演化部分。 从系统运行的角度,网构软件与经典软件的主要不同之处在于其强调了环境驱动的 特性。它的运行有两条主线:其一是目标层系统的运行,主要用于满足某一时段内用户 的需求:其二是控制层的运行,主要根据环境的变化对运行系统按照所需的指标加以调 硕j :论文 基于网构软件的动态演化技术研究j 实现 整与演化,从而使目标层系统能够在下一个时段能更好地满足用户的需求。因此,宏观 上,网构软件的运行是种“满足用户阶段性目标、与环境进行交互、系统进行演化与 调整、再满足用户新的阶段性目标 的循环过程。 从系统目标的角度,目标层系统的正确性只是目标层系统在一个时段内所追求目标 的一个方面,而控制层的主要作用就是通过对系统行为的调节来不断满足用户在不同时 段的不同要求:因此,总体说来,网构软件所追求的目标的重点开始从刚性的正确性逐 步转向随时段变化而变化的用户柔性满意度。 从系统开发的角度,与经典软件开发面向程序员或软件开发人员的一蹴而就特性不 同,程序设计、软件开发的细节在面向最终用户的服务抽象下被适当屏蔽,软件开发过 程就是不断获取最佳的服务与增值服务的过程,在此过程中,由主体化的软件实体与分 离的协同机制所支持的成长式开发方式将基于构件组装的软件复用思想隐含其中。 从系统可信的角度,由于网构软件的主体性、协同性、反应性、演化性、多目标性 等特征,其可信性保障开始在经典的安全与可靠保障技术基础上,强调一种在开放环境 下基于历史运行信息评价的柔性可信度量、推断与应用机制。 从生存周期的角度,与经典软件以开发为主的静态模型不同,网构软件的生存周期 强调的是一种演化为主的动态模型。一种可能的模型是“需求分析及其变化预测+ 系统 环境规约= = 目标系统设计+ 环境程序设计+ 感知系统设计+ 演化控制机制设计= = 网构 软件系统实现一 系统与环境的交互与演化1 = - = - 系统与环境的交互与演化 n 。 2 1 3 网构软件体系结构特征 上文已经提到,网构软件的组成,从横向的层面看,其基本形态可以抽象为一组软 件实体以及这些实体之间的连接与交互,如图2 1 3 1 所示。从软件体系结构的观点来看, 实体对应于构件,而实体之间的交互与连接对应于连接件,将构件之间的交互显式地表 现为连接子,并将连接子视为系统中与构件同等重要的一阶实体是软件体系结构研究的 一个最重要的贡献。 图2 1 3 1 网构软件基本形态 软件技术在不同的发展时期所对应的软件形态也不尽相同,表2 1 3 1 显示了一些典 型的软件实体以及与之相对应的实体连接与交互方式。 从软件实体的角度出发,网构软件的软件实体是一些分布、自治、异构的软件“构 件 ,这些构件具有如下特征:自主性,指网构软件系统中的软件实体具有相对独立性、 7 2 相关理论 硕1 j 论文 主动性和自适应性。自主性使其区别于传统软件系统中软件实体的依赖性和被动性;反应 性,指网构软件具有感知外部运行和使用环境并对系统演化提供有用信息的能力。反应 性使网构软件系统具备了适应i n t e m e t 开放、动态和多变环境的感知能力。 表2 1 3 1 软件实体与实体交互 软件实体连接和交互 机器指令顺序和转移 高级语言三种控制结构 函数和过程子程序调用 模块模块互联 对象消息传递 构件连接件 从软件实体连接与交互的角度出发,网构软件存在多种静态连接和动态合作方式, 具有如下特征:协同性,指网构软件系统中软件实体与软件实体之间可按多种静态连接 和动态合作方式在开放的网络环境下加以互连、互通、协作和联盟。协同性使其区别于 传统软件系统在封闭集中环境下单一静态的连接模式;演化性,指网构软件结构可根据 应用需求和网络环境变化而发生动态演化,主要表现在其实体元素数目的可变性,结构 关系的可调节性和结构形态的动态可配置性。演化性使网构软件系统具备了适应i n t e m e t 开放、动态和多变环境的应变能力:多态性,指网构软件系统的效果体现出相容的多目 标性。它可根据某些基本协同原则,在动态变化的网络环境下,满足多种相容的目标形 态。多态性使网构软件系统在网络环境下具备了一定的柔性和满足个性化需求的能力。 针对网构软件的这些特征,有必要研究基于i n t e m e t 的开放软件模型和网构软件的 软件体系结构。 2 1 4 网构软件的发展及挑战 从软件工程的视点,网构软件形态的出现对支持这类软件系统开发的元概念和模 型、建模和编程语言、开发和运行平台、部署和维护技术等提出了新的要求。 目前在软件领域占主导地位的软件方法是面向对象方法。从网构软件的角度来看面 向对象软件结构,有以下三方面的问题1 4 j : ( 1 ) 系统目标和结构确定性的限制:一般说来,在构建系统的过程中,系统的基本 功能和基本结构是按照系统所要解决的问题和问题领域的特性通过系统分析与设计逐 步确定的,未能兼顾i n t e m e t 开放、多变和动态的特性。因此,它难以适应网构软件系 统的动态协同、逐步适应和不断演化的需求。 ( 2 ) 实体单元自主性的欠缺:面向对象方法中的对象概念通常是静止和被动的,它 难以在i n t e m e t 开放、动态和多变环境下调整自己的目标和行为,以适应网络环境的变 8 硕士论文基于嘲构软件的动态演化技术研究与实现 化和用户的个性化要求。 ( 3 ) 协同方式的单一性:程序实体间传统的协同方式是过程调用和对象允引 ( r e f e r e n c e ) 。一般说来,由于其时间和空间耦合的特征,过程调用和对象允引通常只适 合于程序实体功能固定、位置固定、以及协同逻辑固定的静态和封闭世界,难以满足开 放、动态和多变的i n t e m e t 环境对时间或空间的紧耦合或松散耦合等多种协同方式的需 要。 为了支持部署在i n t e m e t 环境下软件系统的开发,近年来软件工程、分布计算等领 域的研究人员进行了一系列的探索,具体表现在: 首先,借助于以面向对象方法为基础的主流技术体系,将对象作为i n t e m e t 环境下 软件实体的概念模型和实现模型。然而对象技术本身存在固有的“有限自主性、基于控 制的交互、非持续性运行、被动感知环境、固定封装性、交互单调性”等方面的局限性, 无论是高层的自然建模还是底层的技术实现和运行,对象技术均难以有效支持开放、动 态、难控i n t e m e t 环境下的软件开发需求。 其次,借助于软件构件技术,将构件作为i n t e m e t 环境下软件实体的概念模型和实 现模型。该技术通过将构件接口与构件体相分离,以实现软件构件的独立开发和部署, 以及第三方的组装。代表性工作包括:o m g 的c o r b c c m ,m i c r o s o f t 的c o m d c o m , s u n 的j 2 e e e j b 等。构件技术试图解决的问题是软件系统的大规模工业化生产和重用, 而软件实体的自治性、自适应性和动态演化性等不是构件技术关注的焦点,而且软件构 件的开发、组装和重用仍然是由软件开发人员在设计阶段来完成,因而这一技术难以有 效适应i n t e m e t 环境下软件系统的自治性、开放性和动态性。 第三,借助于面向服务的计算( s e r v i c e o r i e n t e dc o m p u t i n g ) 技术,s o c 是以服务 为应用开发基本单元的新计算范型。它通过面向服务的体系结构( s o a ) 来规范服务提 供者对资源的封装和发布,以及服务使用者对服务功能的查询及使用。目前,w e b 服务 技术已初步形成了以s o a p 、w s d l 、u d d i 、b p e l 、w s r f 等协议规范为核心的技术 框架。软件服务的概念是应对开放网络环境中各类资源的共享和集成对计算机软件技术 提出的挑战。一般地,软件服务屏蔽了开放环境带来的异构性问题,因而具有较高的抽 象级别;不同的服务之间松耦合,因而w e b 服务具有更大的粒度与更强的独立性。面 向服务计算技术便于重用和互操作,有关服务的自治性、服务的动态组合等仍然是当前 面向服务计算面临的挑战性研究课题。 由于网构软件概念框架与逻辑内涵与经典的软件系统在上述诸多方面存在差异,因 此,它必然在理论、模型、方法、技术、应用等方面对经典的软件方法与技术体系提出 挑战,这些挑战主要包括: 基本理念的开放化:如何从软件的角度来认识开放环境下基础平台、应用需求、 以及软件系统的特征1 9 2 相关理论 硕1 :论文 核心理论的形式化:如何面向开放环境需求,为上述技术找到一套较为合用的、 一致的形式体系作为新一代软件方法学的理论基础! 软件实体的主体化:如何从开放的开发与运行的角度,使软件实体具有较好的 内容自包含性、结构独立性与实体适应性! 外部环境的显式化:如何从开放、动态、难控的角度对软件系统的外部环境特 征进行分析、建模、以及处理! 软件协同的分离化:如何将协同机制从软件实体中分离出来,并提供灵活多样 的协同方式以支撑软件结构模型的协同化! 运行机制的自适应:如何在开放、动态、难控环境下,使得软件系统对外部环 境的变化具有自适应能力! 系统管理的自治化:如何使得开放环境下的复杂软件系统能够根据管理者的要 求实现自我管理! 系统保障的可信化:如何在经典安全与可靠技术基础上为开放环境下软件系统 的可信性提供可行的支撑! 技术体系的系统化:上述方法、技术与系统主要涉及网构软件的某一侧面,如何 面向应用系统的需求,建立相应的方法与技术体系! 开发方法的群体化:如何使得软件开发活动从面向单个程序员的开发式变为面 向群体最终用户的成长式! 当然,网构软件的宏观设想、基本特征、概念框架、逻辑内涵、关键技术可作为未 来软件方法与技术的一种抽象规约,能够满足上述要求的具体的网构软件与方法的技术 体系应该是多种多样的,它们应该是在某一应用背景或应用模式框架下,选取上述各类 方法、技术要素,进行适当的剪裁,并加以有机融合而成。而就现阶段而言,研究工作 的主要内容侧重于开放环境下的局部化的方法、技术与系统的研究,而系统化的方法与 技术体系则比较多的集中于基本理念与探索阶段。 2 2a g e n t 技术理论 2 2 1a g e n t 技术定义及特点 由于a g e n t 的研究者来自许多不同的领域,使得a g e n t 的含义也具有多重性。下面 给出一些典型的观点【9 l 1 1 】:a g e n t 是一个为完成某一特定任务而持续运行的软件实体; a g e n t 是通过代理你完成某项任务来模拟人类关系的计算机程序;a g e n t 是一个可被委 托任务的软件实体;a g e n t 是处在某个环境中的计算机系统,该系统有能力在这个环境 中自主行动,以实现它们的设计目标。归纳起来,a g e n t 可定义为“一个能够根据它对 其环境的感知,主动采取决策和行为的软件实体”。 1 0 硕十论文基于网构软件的动态演化技术研究与实现 a g e n t 的关键属性主要有自主性、交互性、适应性、智能性、协同性、移动性等。 自主性表示没有外部直接干涉能够根据自身经验进行行动;交互性表示与环境及其它 a g e n t 交流;适应性表示在某种程度上能够响应其它a g e n t 或环境;智能性是由知识所 形式化的状态与其它a g e n t 使用符号语言交互;协同性是指a g e n t 能在多a g e n t 系统环 境中协同工作,以执行和完成一些相互受益的复杂任务;移动性表示能够将自己从一个 环境转移到另一个环境。事实上,很难看到一个a g e n t 具有全部的上述各种特性,一般 认为,前三项属性是一个a g e n t 所必需的。 多a g e n t 系统( m a s ) e h 多个自主或半自主的智能体组成,每个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 构成的社会环境中,通过某 种a g e n t 语言与其他a g e n t 实施灵活多样的交互和通讯,实现与其他a g e n t 的合作、协 同、协商、竞争等。自制性:在多a g e n t 系统中一个a g e n t 发出请求后,其他a g e n t 只有同时具备提供此服务的能力与兴趣时才能接受动作委托,即一个a g e n t 不能强制另 一个a g e n t 提供某种服务。这一特点最适用于学习者特征的获取。协作性:在多a g e n t 系统中,具有不同目标的各个a g e n t 必须相互协作、协同、协商对未完成问题的求解。 软件a g e n t 技术可以看作是软件开发的又一重大突破,这是因为它不仅能够以一种 自然、高效的方式解决传统软件业中存在的问题,而且还能为解决目前其他技术难以解 决的问题提供了一个理想的途径。软件a g e n t 与其他软件技术相比,在解决传统软件业 中存在的问题时具有如下优点:( 1 ) 系统的数据、控制、专家知识和资源可以分布存储处 理。( 2 ) 对a g e n t 组成的系统可以进行自然的描述,有利于各有关人员对软件系统的理解。 ( 3 ) a g e n t 软件系统具有灵活性,有利于现有软件的集成。( 4 ) 具有开放性和复杂性。 i n t e m e t i n t r a n e t 的发展对软件的开发提出了新的问题,高度开放的计算机网络是 一个松散耦合的软件环境,软件生产所面临的难题是系统具有高度的开放性和复杂性, 而软件a g e n t 为解决这两个问题提供了独特的思路:开放性:在以网络( i n t e m e t i n t r a n e t ) 为中心的计算环境中,用户预先无法得知与其交互的各种资源情况,而a g e n t 软件系统具备这种高度的灵活性和坚固性。复杂性:问题领域的广泛性、复杂性和不 可预测性,使得通用应用系统的开发是不可行的,唯一的解决途径是开发一些能够解决 特定应用领域的专用模块化构件。而a g e n t 的应激性和主动性使得它既能对环境变化做 出反应,又能根据目标主动规划自己的行为。 2 2 2 基于a g e n t 的软件开发步骤 9 基于a g e n t 技术的应用开发可以按照下述步骤进行: ( 1 ) 分析系统的特点,选择合适的实现技术。在进行应用开发时,首先应根据实际 情况决定应采取何种技术实现。一般而言,当应用需要具有跨平台、跨网络、跨地域甚 2 相关理论硕上论文 至跨行业的互操作性以及较高的个人化、智能化时可以考虑采用a g e n t 技术。这里并不 排除以多种技术实现应用系统的可能性。在确定以a g e n t 技术实现应用系统后,应当具 体分析应用所涉及的各个对象,决定哪些采用a g e n t 实现,哪些采用其他方法实现。 ( 2 ) a g e n t 的功能设计。确定系统采用a g e n t 技术实现部分的数据和功能。a g e n t 间 明确分工后,应当根据各自功能确定内部数据。此外还要考虑a g e n t 的种类:移动a g e n t 还是静态a g e n t 。此外,移动a g e n t 的内部数据应尽可能的少,以减少移动带来的网络 负担。 ( 3 ) a g e n t 接口的设计。a g e n t 接口的设计非常关键,它往往影响系统的性能,这既 要考虑a g e n t 间的交互方式,又要考虑a g e n t 与非a g e n t 部分的交互方式。 ( 4 ) a g e n t 的详细设计和实例化。首先要了解目前已有的a g e n t 平台能做什么,不能 做什么,它们各有什么优缺点;然后根据系统的需要选择合适的代理平台;接着进行详 细设计和具体的编码、调试工作,从而实现整个系统。 ( 5 ) a g e n t 的运行与维护。运行维护基于a g e n t 技术的应用系统,及时发现和解决实 际运行过程中遇到的问题。总之,任何系统的设计都要综合应用多方面的因素,根据实 际情况而定。 2 2 3 面向a g e n t 的软件开发方法 面向a g e n t 的软件开发方法是指以a g e n t 为基本概念和系统主要构成元素进行软件 开发的方法【1 6 1 。与所有软件开发方法一样,一个成熟的面向a g e n t 的软件开发方法应该 包括至少三个组成部分:过程、描述语言以及一组使用其过程和语言的指导规则。过程 反映了该方法对软件生命周期的认识以及相应的开发、维护和使用的步骤,描述语言建 立在一定的概念模型的基础上,提供对软件系统进行描述的语言设施和表示形式。对 a g e n t 系统进行描述的本质实际上就是在一定抽象层次上对a g e n t 系统进行建模。遵循 软件工程的抽象、逐步求精、多视点的原则,面向a g e n t 的软件开发方法不仅需要支持 从不同抽象层次、不同的视点对a g e n t 系统进行建模,而且需要支持从高层次模型( 问 题描述) 到低层次模型( 软件解决方案) 的逐步过渡和细化,最终得到可实现的系统模型。 面向a g e n t 的软件开发方法的基础是多a g e n t 系统概念模型,其核心思想是:系统 是由一组具有自主性、反应性、自发性和交互性等特征的a g e n t 组成,a g e n t 之间通过 社会性的行为来实现系统的整体功能和目标。a g e n t 间的社会性行为不同于对象技术中 的消息传递,而是基于某种a g e n t 通讯语言的a g e n t 交互以及在此基础上的复杂协

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论