(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf_第1页
(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf_第2页
(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf_第3页
(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf_第4页
(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于多agent技术的软件质量协同控制模型研究.pdf.pdf 免费下载

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

文档简介

摘要 随着信息技术的发展,软件规模在日益扩大,软件开发的复杂度也在逐渐提 高,软件质量及软件质量控制成为人们越来越关注的焦点。特别是在团队协作开 发中,软件质量的协同控制更是质量管理的重中之重。此外,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 r e s e a r c ho f t h es o f t w a r eq u a l i t yc o o p e r a t i v ec o n t r o lm o d e lb a s e d o nm u l t i a g e n t a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ei n f o r m a t i o nt e c h n o l o g y , d i m e n s i o na n dc o m p l i c a t i o n o fs o f t w a r ei se x t e n d i n g s o f t w a r eq u a l i t yi sa t t e n d e db yp e o p l e e s p e c i a l l ys o f t w a r e q u a l i t yc o o p e r a t i v ec o n t r o li st h em o s ti m p o r t a n ta m o n gt h et e a mw o r k t h ea g e n t t e c h n o l o g yi sa l li m p o r t a n tb r a n c hi na r t i f i c i a li n t e l l i g e n c ed o m a i n ,i ti sp a i dm u c h a t t e n t i o nb yi t sc h a r a c t e r i s t i ci nm a n yr e s e a r c ha r e a s ,t h ea p p l i c a t i o np r o s p e c ti s e x t r e m e l yb r o a d t h e r e f o r e ,i no r d e rt oi m p r o v et h es o f t w a r eq u a l i t y , c o n s t r u c t i n ga q u a l i t yc o n t r o ls y s t e mb a s e do na g e n tt os u r p p o r tt h et e a mc o o p e r a t i v ed e v e l o p m e n t h a st h ei m p o r t a n tp r a c t i c a ls i g n i f i c a n c e t h i sa r t i c l et r a c k st h ed o m e s t i ca n df o r e i g nn e w e s ts o f t w a r eq u a l i t yc o n t r o lt h e o r y , f i r s ti tb r i e f e dt h er e s e a r c hs i t u a t i o na n dt h em a i nr e l a t e dt h e o r yo fs o f t w a r e q u a i l t y n e x li ti n t r o d u c e dt h ea g e n tt h e o r ya n dt h em a i nt e c h n o l o g y , a n a l y z e dt h ea g e n t c h a r a c t e r i s t i c ,t h es y s t e ms t r u c t u r ea n dt h ec o m m u n i c a t i o na m o n gt h em u l t i a g e n t t h e n i td i s c u s s e dh o wt oe f f e c t i v e l yc o n t r o lt h es o f t w a r eq u a l i t y , a n dp r o p o s e das o f t w a r e q u a l i t yc o o p e r a t i v ec o n t r o lm o d e l t h e ni tp r o d u c e dt h i sm o d e l st h el o g i c a lo r g a n i z a t i o n a n dt h ef u n c t i o n a la n a l y s i s ,s t u d i e dt h i sm o d e l sm a i nc o r r e l a t i o na c t i v i t ya n dt h e t e c h n i c a lm e t h o d ,a n di td e t a i l e de a c ha g e n t sr e c u r r e n c er e l a t i o n ,t h ec o o r d i n a t i o n r e l a t i o n s ,t h ew o r kf l o wa n dt h ea g e n ts t r u c t u r ea n ds oo n f i n a l l yi tm a d et h ef u r t h e r d i s c u s s i o no nt h em a i nf u n c t i o ns t r u c t u r ea n dt h ek e yt e c h n o l o g y sr e a l i z a t i o no ft h e s o f t w a r eq u a l i t yc o o r d i n a t i o nc o n t r o lm o d e l ,a n dp r o d u c e dq u a l i t ya g e n t st h ec o n c r e t e r e a l i z a t i o nm e t h o d t h er e s e a r c hs i g n i f i c a n c eo ft h i st o p i cl i e st oh e l ps o f t w a r ee n t e r p r i s et or e a l - t i m e c o n t r o ls o f t w a r ed e v e l o p m e n tq u a l i t y g u a r a n t e ee a c hp a r ti nd e v e l o p m e n tt e a mt o c o r r e s p o n dt h eq u a l i t y , i m p r o v i n gt h es o f t w a r ep r o c e s sq u a l i t y , i n c r e a s i n gp r o c e s s c o n t r o lv i s i b i l i t y , f i n a l l ya c h i e v i n gt oi m p r o v et h es o f t w a r ep r o d u c tq u a l i t y , e n h a n c i n g t h es o f t w a r ee m e r p r i s em a r k e tc o m p e t i t i v ep o w e r k e yw o r d s :s o f t w a r eq u a l i t y ;c o o p e r a t i v ec o n t r o l ;a g e n t ;m u l t i - a g e n t 大连海事大学学位论文原创性声明和使用授权说明 原刨性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博士硕士学位论文:基王垒g 逊越苤的筮佳厦量协园控剑撞型班究l 除论文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本论文中不包含任何来加明确注明的其他个人或集体 已经公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名哿孵辞弓月2 王日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被套阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密彳( 请在以上方框内打“,) 论文作者签名净稻燧名:捌宁 日期:2 呻0 6 年;月2 z 日 第1 章绪论 1 1 选题的背景和意义 1 9 6 8 年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议 上第一次提出了“软件危机”( s o f t w a r ec r i s i s ) 这个名词。“软件危机”使得人们 开始对软件及其特性进行更深一步的研究,学术晃和企业界对软件工程环境、工 具和技术的研究都倾注了大量的人力、财力和物力。在这三十多年的发展中,人 们针对软件危机的表现和原因,经过不断的实践和总结,越来越认识到:按照一 定的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出路。统计数据 表明,大多数软件开发项目的失败,并不是由于软件开发技术方面的原因,而是 由于不适当的管理造成的。没有良好有序的管理,任何新技术都是无法得以真正 实施的。事实上,尽管软件的开发和维护过程随着其硬件环境和应用领域的不同 而有所不同,但涉及软件生产的质量系统的指导性标准却是具有相同的科学规律, 并且是必须的。 软件质量问题,已经成为国家政府、工业界、学术界以及社会各界关注的重 要问题。2 1 世纪计算机软件发展的大方向将是质量的提高优先于性能和功能的改 进。在我国,提高软件质量也受到了国家的高度重视,信息产业部在“十五”计 划中,把提高软件产品质量,实现软件的产业化发展,加速软件产业和国际的接 轨,作为我国软件发展的重要目标。国内软件企业也越来越意识到提高软件产品 质量对于企业生存和发展的战略意义,软件质量的控制受到越来越多的关注。因 此,研究和应用软件质量控制技术,开发有效的软件质量控制工具,建立企业质 量保障体系的需求日益迫切。 本课题就是基于以上论述的背景选取的,对软件开发中质量协同控制技术和 方法进行研究。论文的研究工作得到了大连市科学技术局的研究课题“软件项目 管理系统的设计与实现”的资助,项目编号为2 0 0 3 a 3 g x 0 3 2 。 1 2 软件质量控制发展状况 国际上,从2 0 世纪7 0 年代初开始研究软件的质量控制问题,在8 0 年代中期 以前,世界范围内控制软件质量的手段主要集中在软件开发技术领域,通过技术 手段的发展和更新,提高软件设计的效率和软件开发的质量。人们在继续研究开 发技术的同时把软件质量控制的重心偏向了管理领域,力求通过有效的管理软件 生产的过程来控制软件产品的质量,从而产生了一些重要的国际标准。i s 0 9 0 0 0 和c m m 是最具代表性的成果。 近年来,我国政府也非常重视软件产业的发展,出台了一系列有利于软件产 业发展的产业政策;建立了保护软件知识产权的法律体系;并投资建立了一批软 件基地和软件园;形成了若干产值过亿元的软件企业;培养造就了一支高素质的 软件研究开发人才队伍;形成了一批在市场占有一定份额的软件产品。软件在中 国市场中的重要性正在增强。可以预见,2 1 世纪的中国软件市场的发展将会更为 迅猛,但我国的软件产业毕竟起步晚,而且仍然是以中小企业为主的群体,这些 中小企业普遍存在严重的质量管理问题。由于规模小、底子薄,质量管理处于无 序的状态,大多数企业无力承受高昂的质量改进费用和人力资源投入。国外的许 多基于过程改进的质量保证技术和管理模式,并不适合于这些企业。这些企业希 望寻求一种简单易行,且一朝投入就可以持之以恒的方式来进行企业的过程改进 和质量保证工作。 尽管理论界对于如何控制软件质量进行了几十年的研究,但是由于软件产品 本身具有的特殊性以及软件产业的迅速发展,迄今为止仍然没有一个公认有效的 方法能够系统地管理和控制软件质量。随着软件产业的发展壮大,管理和运作经 验的不断积累,软件质量控制的研究也必然会有更新的成果。 1 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 的结构等做了较详细的分 析与设计,最后就软件质量协同控制模型的主要功能结构及关键技术实现等作了 进一步的探讨,并给出质量a g e n t 的实现方法。 本文在对已有的质量控制方法的研究基础上,结合软件项目管理课题组几位 研究人员的研究结果,借鉴国内外相关理论成果,研究并提出一个基于多a g e n t 技术的适合于软件协同开发的质量控制模型, 1 4 本文的组织结构 本论文对软件开发中的质量协同控制方法进行了深入的探讨,完成了厦量控 制活动中关键技术的设计与实现。并利用一定量的模拟测试数据对所做的设计进 行验证,测试结果表明本文中的技术方法是可行的、有效的。 全文共分六章,内容安排如下: 第1 章绪论。介绍论文的选题背景和意义,分析了国内外研究现状,并指出 了研究的重点内容和章节内容分布。 第2 章软件质量与软件质量控肯8 活动。介绍软件质量及其相关概念,对几种 质量控制方法进行分析比较,探讨它们的特点和适用性。 第3 章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 的软件质量协同控制模型分析与设计。本章对质量协同 控制的工作流模型进行了整体架构的分析与设计。 第5 章软件质量协同控制模型中的关键技术实现。本章在分析了实现a g e n t 的平台j a d e 软件体系结构的基础上,具体研究了实现系统模型的几个关键技术, 并给出质量a g e n t 的实现方法。 第6 章总结。对本论文所作的工作进行了总结,客观地评价了本论文甲的优 点与不足,并指出未来需进一步完善的工作。 点与不足,并指出未来需进一步完善的工作。 第2 章软件质量与软件质量控制活动 2 1 软件质量 关于软件质量有许多好的定义。通过审视每个定义,我们可以正确评价什么 是软件质量。 传统的质量定义是: ( 1 ) 词典对质量的定义是:1 ) 典型的或本质的特征;2 ) 事物固有的或区别 于其他事物的特征或本质;3 ) 优良或出色的程度。 ( 2 ) c m m 对质量的定义是:1 ) 个系统、组件或过程符合特定需求的程 度;2 ) 一个系统、组件或过程符合客户或用户的要求或期望的程度。 那么,什么是软件质量呢? ( 1 ) 软件工程领域专家w a t t sh u m p h r e y 在d i s c i p l i n ef o rs o f t w a r e e n g i n e e r i n g ) ) 中从个体实践者的角度看软件质量: “你必须认识到软件质量是分层次的。首先,软件产品必须提供用户所需的 功能。如果做不到这一点,什么产品都没有意义。其次,这个产品必须能够正常 工作。如果产品中有很多缺陷,不能正常工作,那么无论这种产品其他性能如何, 用户也不会使用它。”f 1 】 ( 2 ) g ,g o r d o ns c h u l m e y e r 和j a m e si m c m a n u s 两位学者在( ( h a n d b o o ko f s o f t w a r eq u a l i t ya s s u r a n c e ) ) 中这样定义软件质量: “软件质量是软件产品满足使用要求的程度。” 2 j 其实,软件质量和传统意义上的质量概念并无本质上的区别。只是针对软件 的某些特性作了一些调整。从狭义上讲,质量可以被定义为“无缺陷”。但是, 绝大多数以顾客为中心的企业对质量的定义远不止运些。他们是根据顾客满意度 来定义质量的。 通过比较,我们可以把软件质量理解为由许多质量属性组成,各种质量属性 反映软件质量的不同方面。人们通过改善软件的质量属性来提高软件的整体质量。 常见的质量属性如图2 1 所示。 4 软件质量属性 功能性 li 可靠性 il 易用性 i 有效性 ii 可维护性ii 可移植性 正确性 精确性 适合性 互用性 依从性 安全性 健壮性 成熟性 容错性 可恢复性 2 2 软件质量控制 可理解性 易学习性 可操作性 灵活性 清晰性 时间特性 资源特性 图2 1 常见软件质量属性的描述 f 蹲1f a m i l i a rs o f t w a r eq u a l 时a t t r i b u t e s 可分析性 可变性 稳定性 可测试性 兼容性 可扩展性 适应性 可安装性 一致性 可替换性 可复用性 2 2 1 软件质量控制概念 “质量控制”一词最初是指一种在现代制造工业中广泛使用的确保产品质量的 强大工具。发展于二战期间,在美国和海外获得了广泛的使用,同时也成为联邦 政府机构和客户群去推动高质量产品生产的重要手段。它还是制造业组织在现代 市场中生存的有力武器。质量控制手段应用于软件开发中的软件质量控制只是其 应用的一个简单扩展。 软件工程领域专家f i s h e r 和l i g h t 在d e f i n i t i o n si ns o f t w a r eq u a l i t y m a n a g e m e n t 中这样定义质量控制:质量控制是对规程和产品的符合性的评估。 独立找出缺陷并予以更正以使产品与需求相符 3 1 。 专家d o n a l dr e i f e r 把软件质量控制与验证等同起来,他提出软件质量控制是 一系列验证活动,在软件开发过程的任何一点进行评估:开发的产品是否在技术 上符合上一个阶段制定的规约。 软件质量控制主要就是发现和消除软件产品的缺陷。工作包、同行评审、根 源分析、二进制跟踪、递增开发、系统性验证和确认等技术都是软件质量控制的 有效方法。软件开发过程的质量控制通常是与开发阶段的划分相关联的。在典型 的瀑布开发过程中,软件开发过程通常划分为软件需求分析、软件设计、软件实 现和软件测试等阶段。对软件质量进行粗控时,把每一个软件开发阶段当作一个 黑盒子,对每一个黑盒子的输入输出进行质量控制,如图2 2 所示。该控制方法 又可称为基线控制方法:将软件开发过程划分为若干条基线,每一条基线意味着 上一个开发阶段的结束和下一个开发阶段的开始,因此在每一条基线到来时需要 评审或测试本阶段的工作产品,进行缺陷修正后,结束本阶段工作,而该阶段产 品作为下一阶段工作的输入。在有些项目中,需要对软件质量和软件过程做更加 严格的控制,项目各开发阶段不荐被当作黑盒子,而是一个透明的玻璃盒子,在 各阶段内部过程中被插入若干控制点,使用多种方法,如同行评审、检查、审计 等方法查找软件错误,对软件质量进行监控。这种质量精控的过程,如图2 - 3 所 示。本文所讨论的软件质量控制属于质量精控的过程。 用户需求 用户需求 图2 2 软件质量的租控 f i 9 2 2s o f t w a r eq u a l i t yc u r s o r yc o n t r o l 产品 产品 二一l 一一一二二一度量控带0 点一。二一l i 一一一l ij 图2 3 软件质量的精控 f i 9 2 3s o f t w a r eq u a l i t ye l a b o r a t ec o n t r o 评审和测试是软件质量保证的基本技术,在已定义的质量控制点使用软件质 量保证技术是软件质量控制的过程化方法,如何保证这些方法的有效性,监督这 些方法的有效执行则是质量管理的内容。 2 2 2 软件质量控制活动 软件质量控制的目的就是要排除软件中的错误。质量控制活动可以是全自动 的,全人工的,也可以是自动工具与人员交互相结合的。质量控制中的关键概念 之一是所有工作产品都具有定义好的和可度量的规约,我们可以将每个过程的产 品与这一规约进行比较。反馈循环的引入对于把产生的缺陷降低到最低限度至关 重要。 传统上,评审和测试是进行软件质量控制的基本活动。评审是验证一个过程 或产品质量的应用最广泛的方法,它是对软件的中间产品,如软件需求规格说明、 软件设计说明、软件测试设计进行错误检查和规范遵从性检查的主要手段;而测 试主要是查找软件的最终产品,即软件运行代码中的错误。对于高质量的软件来 讲,最终产品应该尽可能达到零缺陷。而软件开发是一个以人为中心的活动,所 以出现缺陷是不可避免的。因此,要想交付一个高质量的软件,消除缺陷的活动 就变得很重要。当今,成熟的软件开发过程在每一个可能会引入潜在缺陷的阶段 完成之后都会开展质量控制活动。这些为了消除软件缺陷的质量控制活动包括: 需求评审、设计评审、代码审查、单元测试、集成测试、系统测试以及验收测试 等等。 软件质量控制活动的任务就是监督检查整个软件开发过程,以确保质量保证 规程和标准严格执行。好的质量控制系统应是: 选择控制什么; i i , 设定标准,为可能的正确行动决策提供基础; 建立可用的测量方法; - 将实际结果与质量标准作对比; i b 在收集信息的基础上采取行动将非一致性的过程和材料规范到标准上来: 管理和校准测量设备; 包括所有过程的详细文件。 软件工程按照工程的规律来组织软件的生产与开发。软件工程化要求以软件 质量控制为核心,紧紧抓住软件生产方法、需求分析、软件设计、软件生产工具、 测试、验证与确认、评审和管理等八个主要环节。如图2 4 所示。 图2 4 软件质量控制的主要环节 f i g 2 4m a i nl a c h eo fs o f t w a r eq u a l i t y 2 3 软件质量控制的重要性 不论c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) 还是i s 0 9 0 0 0 等质量管理体系都有 一个共识,即在软件开发过程中控制软件质量要比产品完成后的检i 9 1 更为有效, 这一点,是总结制造业的经验教训并结合软件开发的特点得出来的。c m m 的软 件过程成熟度已成为衡量一个企业水平的重要标志。现在国内大多数大中型企业 都在研究或努力达到c m m 第三级( 已定义级) 及以上的水平。这是因为,方 面,软件工程理论的发展日益成熟,八十年代之后软件工程取得了很大成就,关 于软件质量管理方面的理论一直在探索研究中:另一方面,软件企业的开发人员 和负责人对于软件质量控制体系的正确认识不断提高,软件生产行业的竞争使他 们充分认识到利用软件质量完备体系约束软件开发整个过程的迫切性和必要性, 而且国内一些软件企业通过执行c m m 和i s 0 9 0 0 0 质量管理体系,取得了较大成 就,如鼎新( 清华大学与i b m 合资) 、东软股份、摩托罗拉中国软件中心等。这 一批软件企业为软件行业做出了表率,并积累了经验教训,收集了初期的数据。 软件质量贯穿于软件生存期,整个庞大的软件产业已进入全面质量管理阶段。 如何产生一个高质量的软件产品,尤其是,如何从企业角度出发,控制整个软件 的生产过程、确保软件产品的高质量;如何使软件摆脱极强的特殊性,如业务领 域,开发人员能力等而达到统一的水平,是现阶段摆在许多软件企业面前的一个 迫切需要解决的问题。现代工业生产的主要特点之一就是生产过程标准化、规范 化和自动化。任何产品的生产都是由具体的生产过程来完成的。过程是开发某种 产品、实现某种任务的系统化的手段,同样软件产品的开发也是由具体的软件开 发过程来完成的,软件开发过程的质量在很大的程度上决定了所产生的软件产品 的质量和软件生产率。 在现运营的许多软件公司,特别是一些国内的中小型企业中,软件质量由开 发者个人或小组决定。由于没有有效的软件质量控制手段,往往出现项目在时间 上拖期,财政上超出预算的情形,当项目交付期比较紧张时,易于为赶时间而抛 弃其它的品质指标。软件的质量无法从整体上得到保证,企业本身的信誉也将蒙 受损失。通过在软件开发过程中,进行实时的质量控制,对规范软件开发、提高 软件质量都具有很大的益处。 2 4 协同概念 所谓协同,是指能协调两个或者两个以上的不同资源或者个体,协同一致地 完成菜一目标的过程或能力。而所有能够协同工作的软件都可以称作是协同软件。 从概念上可以得出,协同并不是新生事物,它是随人类社会的出现而出现,并随 着人类社会的进步而发展的。当技术从人们日常生活和商业社会的边缘逐渐成为 核心,人们就越来越需要通过技术来提供更多的东西。作为一个新的软件热点, “协同”概念有着更深的含义,不仅包括人与人之间的协作,也包括不同应用系 统之间、不同数据资源之间、不同终端设备之间、不同应用情景之间、人与机器 之间、科技与传统之间等全方位的协同。协同工作的群体性、交互性、分布性和 协作性等特点正是它与个体独立工作最大的区别。 计算机支持的协同工作是多学科交叉性的技术,它是在计算机网络环境下协 调一个工作群体的工作,提高群体的工作效率,降低人们的工作成本,成为人们 的一种便捷、有效的工作方式。 第3 章a g e n t 相关理论与技术研究 3 1 a g e n t 主要理论及基本结构 3 1 1a 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 9 9 5 年,英国的a g e n t 理论专家 w o o l d r i d g e 和j e n n i n g s 作出了权威性的a g e n t 定义: ( 1 ) 弱定义a g e n t 是一个基于软件或硬件的计算机系统,它拥有以下特 性:自治性、社会能力、反应性和能动性。 ( 2 ) 强定义a g e n t 在弱定义的特性基础上,还要包括情感等人类的特性 【4 】。 对于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 具有不同的能力,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 系统,往往是 从应用的实际出发来开发包含以上部分特性的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 1 2a g e n t 基本结构 a g e n t 结构需要解决的问题是a g e n t 由哪些模块组成,它们之间如何交互信 息,a g e n t 感知到的信息如何影响它的行为和内部状态,以及如何将这些模块用 软件或硬件的方式组合起来形成一个有机的整体,真正实现主体。 专家n w a n a 定义了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 的社会能力,侧如它的合作和协商技术。 图3 1 中的另外两层:通信层定义了a g e n t 之间通信的更低层的细节;a p i 层将a g e n t 与它的资源、技能的物理实现联系起来。 图3 ,1a g e n t 的三层结构 f i g 3 1t h r e el a y e rf r a m eo f a g e n t 3 1 3a g e n t 系统的知识库 a g e n t 系统的知识库中有四类知识:领域知识、控制知识、问题求解知识及通 讯知识。 ( 1 ) 领域知识:是一种描述性的知识,表示对象及概念的特征及其相互关系, 也称为事实性知识,可以用( 对象,属性,值) 的三元组形式来表示。 ( 2 ) 控制知识:是一种判断性知识,表示与领域知识有关的问题求解知识, 可以用产生式规则表示。对每个a g e n t 来说,有其私有知识库和公有知识库,规 则名可以体现规则所属知识库。 ( 3 ) 问题求解知识:是一种过程性知识,表示问题求解的策略,即如何应用 判断性知识进行推理的知识,用与或图表示的图解描述。 ( 4 ) 通讯知识:属于上述三类知识的混合知识,是处理人类交互及a g e n t 协 作的知识。对于人类交互来说,由于存在自然语言的理解问题,所以是一种相当 复杂的知识。而对于a g e n t 来说,由于所采用的通讯原语是规范的,且数量也是 有限的,所以相对来说比较容易。 3 2 多a g e n t 主要理论及体系结构 3 2 ,t 多a g e n t 系统的概念及特性 多a g e n t 系统( m a s :m u l t i a g e n ts y s t e m ) 6 ,7 1 是指由多个a g e n t 组成的系统, 这些a g e n t 成员之间相互协同、相互服务,共同完成一个任务。备a g e m 成员的 活动是自治的和独立的,其自身的目标和行为不受其它a g e n t 成员的限制,它通 过竞争、协商、协作等手段来共同完成系统设定的目标。 多a g e n t 系统是为了解决单个代理不能够解决的复杂问题,由多个代理协调 合作形成的问题求解网络。它可以是紧密型的,也可以是松散型的,其组成粒度 可粗可细。如人工神经网络就被某些人认为是一种紧密型的、精细的多代理系统; 而分布式问题求解系统通常是由一组松散耦合的代理组成的分布式代理网,每个 代理能够完成高级问题求解的一部分工作,能够随环境而修改自己的行为,并且 与其他代理进行通信和协作。m a s 的资源是分散的,计算和任务的执行是分布式 的。各a g e d 之间的任务划分、资源分配、行为的协调,在遵循一定的知识规则 和管理策略基础上,由各a g e n t 通过相互作用和对环境的感知来进行判断和决策。 多a g e d 系统具有如下的特性:( 1 ) 系统中的各个a g e n t 是异步动作的。它 们以不同的步调自主地各行其事,所以多a g e n t 系统非常适合于各种分布式系统 的应用;( 2 ) 每个a g e d 都具有独立解决部分问题的能力或者都具有独立完成某 个功能的能力。系统中的每个a g e n t 的独立性强,某个a g e n t 出了问题不会影响 系统的其它部分,从而提高了系统的可靠性;( 3 ) 任务的分布。一个任务可分成 若干个子任务并分派到一系列a g e m 上。通过知识交换、协商及控制信息的传送 等,这些a g e n t 可并行地协调工作:( 4 ) 易于伸缩,易于扩展。当网络、管理或 业务能力不够时,新的功能就可以通过引入相应的a g e n t 或a g e n t 子系统来添加: ( 5 ) 有效的协商。通过高级的a g e n t 通信语言a c l ,m a s 使在用户、业务提供 者及网络提供者间提供动态的有效协商机制成为可能,从而在任务分派、业务花 费、业务参数及业务质量等方面达成协议;( 6 ) 个人化。个人a g e n t 可根据用户 的需求调整自身以便向用户传送合适的业务。在管理业务的提供及使用中也可采 用同样的恩想。 当然并不是每个多a g e n t 系统都具有上述所有的特点,在不同的实际应用中, 多a g e n t 系统的侧重点不同,往往会呈现出不同的特点。尽管上述某些优点并不 是m a s 技术独有的,但要找到一种能具有所有这些优点的另一技术并不容易。 m a s 提供了一种普遍的、开放的、一致的框架结构,以支持各种业务的开发及个 性化。 3 2 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 系统有三种基本结构1 8 】。 ( 1 ) 网络结构 基于网络结构的多a g e n t 系统中没有特权者,各a g e n t 间是对等的关系。通 信对等、信息局部化是这类结构的显著特点,每两个进行通信的a g e n t 之间要有 一条专用的通道连接,通过这条通道它们之间可以互相交流协作。如图32 所示。 a g e n t 3 图3 2 多a g e n t 系统的网络结构 f i g 3 2m u l t i a g e n ts y s t e mn e ts t r u c t u r e 这种体系结构不但要求a g e n t 保存的信息量大,而且要求a g e n t 之间的通信 链路多,系统中a g e n t 数目的增多将直接导致系统的效率降低a ( 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 。如图3 3 所示。 a g e n tc 1a g e n tc 2 图3 3 多a g e n t 系统的层次结构 r i g 3 3m u l t i a g e n ts y s t e mh i b e r a r c h ys t r u c t u r e 这种结构的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 ,不同联盟中a g e n t 之间的交互都是通过各联盟中的协作a g e n t 控制的。例 如在分布式系统中一般是根据节点的分布来划分的,如图3 4 所示。 一 图3 4 多a g e n t 系统的联盟结构 f i g ,3 4m u l t i a g e n ts y s t e ma l l i a n c es t r c t u r e 热抛 联盟内部一般采用两层层次结构,由协作a g e n t 负责联盟结构中各a g e n t 联 盟之间的协商与合作。在联盟内部,共享数据可根据需要选择分布式存贮或集中 式存贮。联盟结构与人类社会的组织活动特征更接近,能更好地模拟人类社会。 在实际应用中,应该根据不同的情况采用不同的结构形式,更多的情况是将 几种形式进行结合使用。 3 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 的利益发生冲突。为了在动态、开放的环境中实现各个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 3 1 通信的方式 常用的通信方式有两类:一类是黑板( b l a c k b o a r d ) 方式,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 独立地完成 它们答应求解的子问题 9 1 。黑板可以用在任务共享和结果共享的系统中,它提供 了一种比较灵活、迅速和高效的通信方式,但由于a g e n t 的个性不同,知识库及 计算处理能力有异,要求它提供灵活的公用信息表示机制;另外它的事件驱动性 还要求集中控制机构,这使其实现和运行代价较大。 另一类是二者之间的信息传递( m e s s a g ed e l i v e r i n g ) 方式,即点对点的传递 方式,如图3 5 所示。这是目前软件系统,尤其是面向对象系统中常用的方法, a g e n t 使用一组事先约定的格式和规则通过消息形式相互传递计算请求和处理结 果,当特定状态出现或预先定义的事件发生时,比如a g e n t 收到消息或者感知到 环境的某些变化,这些规则就会被激活,于是a g e n t 采取相应的行动【1 。 发送者 r 一庶 r p a g e n t b 图3 5 点对点的消息传递方式 f i g ,3 5d o tt od o ti n f o r m a t i o nd e h v e r y 消息传递方式又

温馨提示

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

评论

0/150

提交评论