(计算机应用技术专业论文)用agent连接件提高软件体系结构适应性研究.pdf_第1页
(计算机应用技术专业论文)用agent连接件提高软件体系结构适应性研究.pdf_第2页
(计算机应用技术专业论文)用agent连接件提高软件体系结构适应性研究.pdf_第3页
(计算机应用技术专业论文)用agent连接件提高软件体系结构适应性研究.pdf_第4页
(计算机应用技术专业论文)用agent连接件提高软件体系结构适应性研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机应用技术专业论文)用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 的类型和数目可变,各个a g e n t 之间通过 a g e n t 连接件进行通信和协作,这些a g e n t 连接件不仅负责匹 配a g e n t 之间的需求与能力,同时也负责信息的路由与传递。 文中还使用z 规格说明语言对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 开发工具和平台。 太原理工大学硕士学位论文 关键词:多a g e n t 系统,a g e n t 连接件,适应性软件体系结构 i i 太原理工大学硕士学位论文 r e s e a r c ho ne n h a n c l n gt h ea d a p t a b i l i t y0 f s o f t w a r ea r c hit e c t u r ewlt ha g e n tc o n n e c t o r a b s t r a c t i nt h et i m eo fn e t w o r kc o m p u t i n g t h ed i f f i c u l tp r o b l e m so f s o f t w a r ep r o d u c t i o na r et h ei n s u r a b l er e q u i r e m e n t s ,h i g h l yo p e n e d a n d c o m p l e x o fs y s t e me n v i r o n m e n t s o ,i ns o m ea s p e c t , a d a p t a b i l i t yb e c o m e st h em o s ti m p o r t a n ta t t r i b u t eo fs o f t w a r e a t p r e s e n t ,p e o p l e a r e a t t e m p t i n g t os o l v et h ed y n a m i cc h a n g e p r o b l e m s o fo p e n s y s t e mw i t ha g e n tt e c h n o l o g y h o w e v e r , i m p r e c i s e ,i n c o n s i s t e n tm o d e le x i s t s f o r d e s c r i b i n gm u l t i a g e n t s y s t e mu n t i ln o w t h i st h e s i sp u t sf o r w a r dt h ec o n c e p to fa g e n tc o n n e c t o ra n d p r o p o s e st h ea b a cm o d e lb a s e do ns t u d y i n gs o f t w a r ea r c h i t e c t u r e a n da g e n tt e c h n o l o g y i ti su s e f u lf o ra g e n tr e u s ea n dc o n s t r u c t i n g m u l t i a g e n ts y s t e md y n a m i c m l y a n df l e x i b l y , i ta l s o s u p p o r t s c o o p e r a t i o na m o n ga g e n t sa tt h es a m et i m e i na b a cm o d e l ,t y p e a n dn u m b e ro fa g e n t sa r ev a r i a b l e ,a n dt h ea g e n t c o n n e c t o ri st h e s o u l c o m m u n i c a t i o na n dc o o p e r a t i o nb e t w e e na g e n t sa r eh a n d l e d b yo n eo rm o r ea g e n t c o n n e c t o r s ,w h i c ha r er e s p o n s i b l ef o rn o t o n l yr e s p o n d i n gr e q u e s t sf r o mo t h e ra g e n t s ,b u ta l s ot h er o u t i n ga n d t r a n s m i t t i n g t h et h e s i sa l s og i v e ss o m es i m p l ea g e n tc o n n e c t o r f o r m a l i z a t i o n sw j t hz n o t a t i o n b e s i d e st h ea r c h i t e c t u r e ,t h i st h e s i sa l s o g i v e s ac e r t a i n i i i 太原理工大学硕士学位论文 m u l t i - a g e n ts y s t e md e v e l o p m e n tm e t h o db a s e do na b a c ,w h i c h s t a r t sw i t hs o f t w a r ee n v i r o n m e n ta n a l y s i sa n df o c u s e so nh o wt o b u i l dt h ec o r r e c ta b a cf r a m e w o r ku s i n gc o m b i n a t i o no ft o p - d o w n a n db o s o m - u pm e t h o d ,r a f t e rt h a t ,o r g a n i z e sd e v e l o p m e n ta c c o r d i n g t ot h ea r c h i t e c t u r e i nc o n c l u s i o n ,t h i st h e s i si n t r o d u c e sa g e n tt e c h n o l o g yt ot h e f i e l do fs o f t w a r es t r u c t u r e e n r i c h i n ga n dd e v e l o p i l a gt h es y s t e m s t r u c t u r eo ft h es o f t w a r ea n dc o n t e n to ft h es t y l e ,a n dt h ed e v e l o p e r c a nu s et h i sm o d e lt oc o n s t r u c ts y s t e m sf a s ta n de f f e c t i v e l y t h e f u t u r ew o r ks h o u l db es t u d y i n ga n dd e v e l o p i n gt o o l sa n dp l a t f o r m f o ra b a cm o d e 】 k e yw o r d s :m u l t i a g e n ts y s t e m ,a g e n tc o n n e c t o r , a d a p t i v e s o f t w a r ea r c h i t e c t u r e 太原理工大学硕士学位论文 第一章绪论 i n t e r n e t i n t r a n e t 的发展对软件开发提出了许多新问题,当前软件 生产所面临的难题是系统环境具有高度的开放性和复杂性。由于缺乏对这 种环境下软件开发生产的系统研究,现在对网络环境下的资源的利用仍然 是有限的。目前,人们正试图使用a g e n t 技术来解决开放系统的动态变化 问题。本文就是在研究软件体系结构和a g e n t 技术的基础上,针对系统的 开放性和适应性,提出了a g e n t 连接件的概念和基于a g e n t 连接件的适应 性软件体系结构模型。本章首先对论文研究的目的、意义和内容做一个简 要介绍。 1 目的和意义 在面向对象技术给解决软件危机带来曙光之时,分布式网络计算的巨 大压力又给软件开发提出了许多新的难题,使软件开发仍处于高风险状态。 与以前相比,现代软件系统具有如下特性: 需求的不定性:严格来说,现代软件开发过程面临的最大挑战就 是需求的不定性。需求变动造成重新设计的实例屡见不鲜。传统的软件设 计方法虽然对稳定的任务能够提供良好的支持,但面对需求变更几乎无能 为力。按照传统软件设计方法得到的软件产品对需求是高度敏感的,变动 的直接结果往往是系统设计、编码、测试等全过程的多次重复。 复杂的层次性:软件系统不仅限于单个人或单个组织使用,往往 涉及大规模、大范围的依照层次结构组织的复杂机构。机构中的功能和需 求具有层次性,不同层次用户间存在同类的功能需求:同类功能需求在不 同层次用户间存在着实现细节的差异。软件体系结构既需要充分尊重和利 用层次功能的类属关系,又必须有效解决层次变化带来的实现差异,以较 小的代价支持类属功能在层次间的迁徙。 太原理工大学硕士研究生学位论文 广域的分布性:软件系统的用户可能分布在广泛的地域范围,系 统硬件平台不再是集中的大型主机与终端,而包括数以百计的桌面设备, 信息也以分布的信息点的形式散播。软件系统需要为用户提供透明的信息 访问界面,保证分布信息处理过程中的一致性、实时性和安全性等问题。 因此,从某种程度上讲,适应性成为现代软件最为重要的质量属性。 从满足现代软件的需求特点这一的角度来看,可以发现面向对象的软件结 构有以下三方面的问题【1 】: 1 ) 系统目标和结构确定性的限制:一般来说,在构建系统的过程中, 系统的基本功能和基本结构是按照系统所要解决的问题和问题领域的特 性通过系统分析与设计逐步确定的,未能兼顾i n t e r n e t 开放、多变和动态 的特性。因此,它难以适应软件系统的动态协同、逐步适应和不断演化的 需求。 2 ) 实体单元自主性的欠缺:面向对象方法中的对象概念通常是静止 和被动的,尽管信息隐藏和继承机制为软件中的变化提供了一定支持,但 是为了实现对变化的适应,软件构造者必须对类继承层次有清楚的认识, 并且构造的适配器还必须限定变化类的范围,以保持原结构的完整。同时 由于语义的缺乏,程序构造者无法从接口上得到适应性修改所需的必要信 息。信息隐藏所产生的完全黑盒在适应性问题上却成为一种不利因素。因 此。它难以在i n t e m e t 开放、动态和多变环境下调整自己的目标和行为, 以适应网络环境的变化和用户的个性化需求。 3 ) 协同方式的单一性:程序实体问传统的协同方式是过程调用和对 象允引。一般来说,由于时间和空间耦合的特征,过程调用和对象允引通 常只适合于和程序实体功能固定、位置固定以及协同逻辑固定的静态和封 闭世界,难以满足开放、动态和多变的i n t e m e t 环境对时间或空间的紧耦 合或松耦合等多种协同方式的需要。 与面向对象不同的是,a g e n t 具有自主性、能动性、反应性、社会性 等新特点,为解决开放性和复杂性提供了独特的思路: 2 太原理工大学硕士学位论文 i ) 开放性:在以网络为中心的计算环境中,用户无法预先得知与其 交互的各种资源情况,也很少能预测到将来可能发生的交互行为,因此, 要求软件必须具有灵活性和适应性,具有高超的社交能力和控制协同工作 的协调机制等。开放性还要求软件系统能够不断地监控它所处的环境,并 在适当的时机产生新的目标。所有这些问题都无法使用传统的软件技术, 而必须依赖具有智能的软件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 系统开发方法要求 构造一些复杂的、能够自治的构件,并能够与其它一些独立开发的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 连接件的适应性软件体系结构模型为认识 软件系统提供了一个新的观点,这有助于人们从不同侧面理解软件的本质 和作用。因此,可以这样认为,该课题的研究不仅具有鲜明的实用价值, 也为人们对以网络为中心的软件系统再认识提供了有益的参考,为基于 i n t e r n e t 的软件系统的研究和开发开创一条崭新的途径,必将推动软件系 统理论研究和实践工作向前发展。 2 研究背景 i n t e r n e t i n t r a n e t 技术的发展对软件开发提出了许多新的问题,同 时,与以往相比,软件及其开发、使用环境也呈现出一些新的特点。 ( 1 ) 软件处理的信息量越来越大,形式多样,不确定性更强。 i n t e r n e t 环境下软件涉及的数据比以往明显增多,其结构、存储方法及交 互方式也纷繁复杂。同时分布式存储使其更新、处理、发布的方式更具多 样性。高度开放的计算机网络具有丰富的软件资源和信息资源,并且这些 资源还在不断地补充和更新,如何利用这些资源,发挥其巨大潜力为用户 提供新的服务,解决更多的问题是科研人员面临的有力挑战。 ( 2 ) 程序运行在分布、异构平台上。当前软件生产所面临的难题是 系统环境具有高度的开放性、动态性、复杂性和资源的多样性,由于缺乏 对这种环境下软件开发生产的系统研究,现在对这种环境下资源的利用仍 然是有限的。 ( 3 )环境开放、易变。以网络为中心的计算不再以集中控制模式为 主,i n t e r n e t 使软件系统的边界发生了很大变化,开放性甚至使软件系统 也包括将要与之交互的系统,各部分的实现方式、运行平台、用户环境也 呈现异构、易变的特点。 ( 4 ) 构件化、多种语言开发,软件复杂性大。程序设计范型历经“程 序= 数据结构+ 算法”、“程序= 对象+ 消息”向“程序= 脚本语言+ 构件”的新 形式转化。近年来,人们对软件及其本质有了新的认识,软件构件技术的 发展使开发出来的软件产品具有高度的互操作性,但构件技术缺乏对各部 4 太原理工大学硕士研究生学位论文 件之间并发协调机制的设计支持。中间件的提出不仅有利于解决异构平台 软件互操作的问题,也为传统软件的互操作提供了一定的思路。但仅有中 间件是不够的,传统软件缺乏一定的结构是它们之间难以进行互操作的关 键。 目前,国际上针对新环境下的代表性研究工作有: ( 1 ) 软件中间件技术:随着i n t e r n e t 的快速发展,中间件主要呈现 出两方面的趋势 1 ,一方面,支撑软件越来越多地向运行层渗透,提供 更强的对系统实现的支持,另一方面,中间件也开始考虑对高层设计和运 行部署等开发工作的支持。而这两个技术趋势从本质上正是源于软件体系 结构和软件构件技术的发展和应用。 ( 2 ) 网格计算( g r i dc o m p u t i n g ) :i n t e r n e t 的发展使许许多多不 同类型的服务器都连接在网上,计算机系统的发展趋势开始从 c l i e n t s e r v e r 结构转变为c l i e n t n e t w o r k 结构。各种服务器在高层系统 软件控制下形成一个巨大计算数据处理能力的服务“环境”对各行各业 和社会大众提供一体化的信息服务。这种环境被称为“网格”。可以说, i n t e r n e t 实现了计算机硬件的连通,w e b 实现了网页的连通,而网格试图 实现网上所有资源的全面连通。如何在一个跨地域的网络上实现单一系统 映象、透明、可靠、安全、负载平衡和资源共享的网格系统,是近年来计 算机系统结构研究的热点。 ( 3 ) w e bs e r v i c e s 技术:w e bs e r v i c e s 以x m l 、s o a p 、w s d l 和u d d i 为核心,致力于软件在应用层的互操作问题。为了适应开放、动态的 i n t e r n e t 环境,w e bs e r v i c e s 忽略了具体的底层消息传输协议和端点的 消息处理等导致传统中间件异构的特征,增强了服务动态发布、查找和使 用能力,并支持开放、动态的互操作模式。微软的n e t 是一分布式的运算 框架,它以x m l 为基础,以w e b 服务为核心,辅以其它各种技术实现,旨 在充分利用i n t e r n e t 上强大一计算资源和丰富的带宽资源,提高用户的工 作效率。因此作为i n t e r n e t 下的一个革命性进步,w e bs e r v i c e s 获得了 产业界广泛的支持和学术界的重视,将开创一个分布式应用程序开发的新 太原理工大学硕士学位论文 时代。 ( 4 ) i n t e r n e t 2 项目:i n t e r n e t 2 是美国1 8 0 多个大学联合企业、政 府组成联盟,研究先进的网络应用与技术,为未来的i n t e r n e t 提供基础。 i n t e r n e t 2 的目标在于为国家的研究团体提供领先的网络能力,促进 i n t e r n e t 应用的演化,使新型的网络服务和应用广阔的t n t e r n e t 社会需 求相适应。如果说i n t e r n e t l 解决了通信问题的话,那么i n t e r n e t 2 将致 力解决协作和联合,为人们的学习、生活和工作提供高质量的服务。 这些方面的研究成果和新技术的出现,为本课题的研究构筑了一个良 好的研究环境,可从中借鉴一些方法和思想,得到一些启发。 3 相关研究现状 ( 1 ) 体系结构的适应性 随着计算的网络化、移动化和多样化,由需求结构变化引起的适应性 问题越来越突出。目前研究人员对适应性问题的认识尚不统一。在软件质 量领域,i s o i e c 9 1 2 6 将软件适应性定义为移植性的一个子特征,与软件 不采取任何步骤或方法就能适应不同环境的机会有关。结合研究实际,本 文将采用李刚、金茂忠等在文献 2 】中对适应性所下的定义。 定义1 1 适应性是指当软件生存环境( s o f t w a r es u r v i v i n ge n v i r o n m e n t ,s s e ) 发生变化时软件实体的结构或行为可以随之改变并满足新环境需要的特 性。适应性可分为两个层次:_ 类实体本身能够适应环境的变化,称为完 全自适应;另一类需要对其进行修改和配置后才能适应环境的变化称为可 适应。 在整体上,体系结构具有两面性,一方面它是一种软件实体,另一方 面对构件、结构片段而言又是一种结构环境,因此,软件体系结构不仅要 具有一定稳定性,而且要具有适应性调整的能力。具有上述特性的软件体 系结构被称为适应性软件体系结构。 6 太原理工大学硕士学位论文 适应性与软件的扩展性、修改性、动态性有密切关系,表现为产品的 一种应变能力,但适应性强调的是在不进行系统设计的修改的前提下对技 术与应用需求的适应能力。软件产品的适应性通常表现为产品的可配置能 力。动态是指在一次计算过程中构件间的交互关系可以改变,其发生是在 运行时。适应是软件实体对生存环境变化的适应,可以在设计时、组装时、 运行时发生,它需动态特性的支持但包括的内容比动态要广,动态是实现 适应的一种手段。 ( 2 ) 主动连接件 连接件是软件体系结构描述中的重要概念。张家晨等人在文献 4 中提 出了在连接件中引入引擎机制,并提出主动连接件概念,使其在与相关构 件连接的过程中成为活动的触发元素,而且在目标系统的实现中转化为可 见的组成部分。主动连接件由若干角色和一个引擎组成,如图卜1 所示。 图卜i 主动连接件及组件的装配图 f i g 1 1a c t i v ec o n n e c t o ri n t h ec o n f i g u r a t i o no fc o m p o n e n t s 连接件中角色之间的关系有静态和动态两种关系。静态关系由各角色 的类型以及它们之间的继承、聚合和关联关系描述。角色之间的动态关系 由引擎描述,引擎描述了角色之问的联系、协同工作等动态行为,它定义 了所有角色参与连接的活动过程。在这种关系中,所有角色是不直接相关 的,它们只能被引擎使用,相互之问的通信也是通过引擎来定义完成。引 擎与角色之间的这种主动和被动的关系,决定了装配后的连接件与相关构 件之间是主动和被动的关系,即在实现系统运行过程中,相关构件的连接 活动是由连接件中的引擎驱动完成的。这样的连接件称作主动连接件。 太原理工大学硕士学位论文 ( 3 ) c a r b a 模型 焦文品、史忠植等人在文献 5 中从软件体系结构这一全新的角度对 m a s 进行了分析研究,将m a s 描述 成一个由多个已存在的具有共同目 标、受到公共行为规范约束的自主 a g e n t 构成的系统,然后根据a g e n t 在m a s 中所扮演的角色及地位,建 立了一种与c o r b a 相似的m a s 的体 系结构c a r b a ,如图卜2 所示。在 c a r b a 中: 1 ) a g e n t 请求代理这一角 色由具有协调能力的a g e n t 扮演。 它负责在分布式环境下传播客户应 己圈 图i - 2m a s 的体系结构c a r b a f i g1 - 2t h es ao fb i a sc a r b a 用与服务a g e n t 之间的请求和服务,并动态地建立应用a g e n t 与服务a g e n t 间的连接:同时它还管理和维护m a s 中的常识,并为系统中的其它a g e n t 提供一系列管理服务等。 2 ) c a r b a 公共设旌由一系列提供服务的服务a g e n t 组成。服务 a g e n t 可以单独向应用a g e n t 提供服务,也可以进行合作以完成复杂的应 用请求。 在文中,还使用兀演算对m a s 中的各种成分进行了形式化描述,并基 于这些形式化描述分析了该体系结构的动态性。 4 研究内容 针对当前的问题及研究现状,本文将从软件生存环境系统、a g e n t 连 接件、基于a g e n t 连接件的适应性体系结构三方面对适应性问题产生的环 境、解决适应性的关键和层次进行了深入系统的研究,以提高软件对需求、 结构变动的适应能力。主要研究内容如下: 软件生存环境与适应性 r 太原理工大学硕士学位论文 一 软件生存环境由影响实体的各要素及其相互关系组成,环境要素的变 化向软件提出了适应性要求。本文将从软件生存环境入手,分析其中的可 变和不变因素,以指导面向适应的体系结构或系统设计。环境变化是产生 适应性问题的根源。软件实体在开发、使用过程中会受到外部因素的影响, 这些因素构成了软件从影响软件的环境入手,分析其中的可变因素和不变 因素,有利用提高软件体系结构的适应性。 软件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 建立较为紧密的联系才能达到用户对系统效 率的要求。构件连接是软件体系结构的重要组成部分,连接选择、设计是 否恰当直接影响体系结构的适应性。另一方面,系统所处的开放环境要求 这种连接机制必须使系统能在用户的干预下或由其自身进行合理的动态 重组,以便适应环境的变化。 适应性软件系统应该采用什么样的开发过程和方法? 在i n t e r n e t 开放的环境下,网络上必然存在大量可供用户直接使用 的软件资源。在某种意义下,软件开发过程就是将这些资源加以适当协同 并进行逐步演化的过程。由于协同模式与功能体的分离,程序设计的本质 就成为进行协同的过程,是一种查找实体,实体聚合的过程。本文针对这 种变化提出了从软件生存环境入手,基于性能驱动,自顶向下和自底向上 相结合,动态目标,逐步组合,渐趋稳态,从无序到有序的方法和过程。 5 研究思路 未来的软件架构在网络环境之上,具有自主性、协同性、动态性、反 应性和演化性的特征。现代的网络和计算机技术无不体现着这一优势,利 用网络和计算机体系结构的研究成果和思想,采用a g e n t 技术去研究提高 9 太原理工大学硕士学位论文 软件系统的适应性,不失为一种好的思路和方法。 完整的软件系统,从体系结构的角度,可以分为软件生存环境和构件 层、构件连接层、整体结构层。采用分层的思想,降低了问题的复杂度, 有利于抓住重点,找到解决问题的关键。连接件将两个或几个构件组装在 一起,规定了参与交互的构件范围和交互方式,同时它体现了构件的组装 方式,与非功能的质量属性关系密切。显式连接件是一种重要的构件连接, 合理的显式连接能够容纳较大范围的连接关系变化,减少变化对构件的影 响,方便构件替换和组装,减少体系结构不匹配的发生,并能通过参数设 置或编程满足片段适应性的调整。为此本文从连接件入手,对其进行扩充 和抽象,引入a g e n t 的特性和技术,提出a g e n t 连接件的概念。 j 总的来说,本文的研究思路是利用现有的相关研究成果借鉴计算机网 络、计算机的技术和体系结构思想,来解决构架在网络、运行在网络之上 的复杂软件系统的适应性问题,采用分层的方法,整体分析,局部着手, 普遍联系,抓住连接件这一关键环节,从软件体系结构的高度对提高软件 的适应性进行了有益的探索。 6 论文组织 论文的第一章首先介绍了课题的研究背景、内容、相关研究现状、研 究思路。第二章对产生适应性的软件生存环境进行较为系统的研究分析。 第三章主要对本课题所涉及的两大技术:软件a g e n t 技术和软件体系结构 进行了较全面的介绍。第四章提出a g e n t 连接件的概念和基于a g e n t 连接 件的适应性软件体系结构模型。文中对a g e n t 连接件还采用z 语言进行了 形式化的描述,并对提出的模型进行了性能分析。第五章通过对软件工程 技术发展历史的研究,提出从软件生存环境入手,基于性能驱动的软件开 发方法和过程。这两章是本文的核心内容。 最后,第六章在对本文的工作进行了简单总结的基础上,指出存在的 不完善之处和今后要深入研究的若干工作。 太原理工大学硕士研究生学位论文 第二章软件生存环境 “适者生存”,环境因素对软件有重要的影响。一个软件从最初的可 行性研究到发布、运行、直至最终废弃,都要受到各种环境因素的作用, 这些因素对软件体系结构及功能、非功能质量属性有很大影响,对它们进 行系统分析和研究对选择、改善与设计软件体系结构,提高软件适应性, 延长软件使用寿命都有重要意义。 1 软件生存环境与生存环境系统 目前,已有一些研究人员认识到环境因素对软件的重要影响。l e n b a s s 在其论著中涉及了客户及最终用户、开发组织、技术环境、结构工 程师经验等对软件体系结构的影响,提出了a b c ( a r c h i t e c t u r eb u s i n e s s c g c l e ) 的概念 5 。n a o y a s uu b a y a s h i 将一组相互作用对象构成的逻辑域 定义为环境,并依次提出了一种实现个体对象动态演化的程序设计级的模 型一环境适应性模型( e n v i r o n m e n t a d a p t i v ec o m p u t a t i o nm o d e l ) 6 , 力图提高软件的适应性。总的来说,这些工作对外部因素考虑得不够全面, 没有将软件实体与生存环境当作一个整体来规划,也未能提供一种全面的 环境分析方法用以辅助适应性软件实体设计。 环境变化是产生软件适应性问题的根源。为了提高软件对需求、结构 变化的适应能力,就必须将软件与环境作为一个统一的整体来进行分析和 规划。李刚等在文献 2 e e 对软件生存环境和软件生存环境系统做了如下 定义: 7 定义2 一l 软件生存环境 软件生存环境( s o f t w a r es u r v i v i n ge n v i r o n m e n t ,s s e ) 可以定义 为一个二元组s s e = 。其中e = e 。li = l ,2 ,nn n 为环境要素集,n 为自然数集,r e e x e 为环境要素间关系的集合。 定义2 2 软件生存环境系统 太原理工大学硕士研究生学位论文 软件生存环境系统( s o f t w a r es u r v i v i n ge n v i r o n m e n ts y s t e m ,s s e s ) 可以定义为一个三元组s s e s = ,其中s = s i = i ,2 ,nn n 为软件实体集,n 为自然数集,软件实体可以是一个软件系统、体系结构、 框架,也可以是构件,s s e 为软件生存环境,r 为软件实体与软件生存环 境要素之间关系的集合,r c e x s us x e 。环境因素多种多样。软件生存环 境系统具有边界性,只考虑与软件实体密切相关的因素。环境分析也不是 漫无目的,它只分析对实体产生重要影响的要素。现有开发方法把实体与 环境分离,忽视了环境因素变化的作用。 软件生存环境出影响软件实体的诸要素及其相互关系组成,总与某个 或某组软件实体相对应,并影响实体的功能非功能质量属性。环境要素 是组成软件生存环境的基本因子,性质不尽相同,具有相对独立性,从整 体上服从一定演化规律,对软件持有者是否应继续保留或运行某软件实体 有很大影响。 s s e 与软件实体密切相关。实体与环境相互作用,对整个s s e s 而言, 环境变化和实体对变化的适应都不是无限的,当环境或实体变化超出一定 范围时,生存环境系统的平衡将被打破,旧系统将被新系统所取代。s s e 或软件实体的演化都会导致s s e s 的演化。为了延长软件系统的使用期, 软件实体应在结构和行为上适应环境变化,适应可以通过外部调节实现, 也可以由实体本身实现,前者通过定制、代码修改等修改实体结构,后者 通过编程修改实体的行为或结构。 环境要素多种多样,如项目目标、可用资源、开发组织的开发策略等, 对实体的作用是多方面的,如:需求变化会引起软件修改,影响开发结果 和交付日期;新技术会引起软件版本更新:用户组织结构、工作流程变化 会引起软件体系结构变动;开发人员的技术背景会影响软件的质量及结 构。文化因素对软件尤其是应用软件有很大影响,某些过程、算法及其面 向的问题与文化有关,商务逻辑和文化的关系更是密切。s s e 为软件的实 体的开发、运行与演化提供了环境,软件实体对其具有反作用,促使环境 要素发生变化。如:软件执行会启发用户提出新需求,使需求或其他要素 太原理工大学硕士研究生学位论文 发生变化;体系结构会影响开发团队的组织结构。 同时,不同要素在生存环境中的稳定程度也不一样,软件过程能力成 熟度的提高有助于某些要素的稳定。稳定的s s e 对软件实体影响较弱,但 影响是不可避免的。 环境要素多种多样,可按其性质将常见要素分为需求要素、客户及最 终用户要素、技术要素、运行条件等几大类: 需求要素:包括软件实体的功能性和非功能性的需求等。需求要素在 某些情况下是一种易变要素,对软件实体有相当大的影响。半数以上的软 件费用是由需求变化或系统扩展造成的,大约3 0 的开发费用用于系统构 造过程的需求变动。 ” 结构要素:指包龠某个软件实体的整个软件或硬件系统中除该实体外 的其他组成部件及其相互关系。如:框架是一种结构要素。软件体系结构 也是一种结构要素,特定体系结构提供了构件复用与组装的环境,对软件 质量( 如:复用性、扩展性、功能性等) 及开发有重要影响。 技术要素:包括软件开发及维护所采用的工具、程序设计语言、规约 语言、开发管理团队的组织结构,开发管理团队成员的技术熟练程度、 开发约定、各种资源的使用策略、管理策略等。技术大约4 8 个月就会 发生一定的变化,迅速变化的技术要素会对软件开发及维护产生很大影 响。 客户及最终用户要素:包括客户的开发意图及投资意向、最终用户的 技术和业务熟练程度、组织和管理结构、人机交互心理、业务流程、文化 因素( 包括企业文化) 、项目目标、项目类型( 如维护、首次开发、版本 升级等) 、项目优先级、应用领域、使用风格及项目合同最后期限等。 运行环境要素:包括软件运行所需硬软件平台及功能性、非功能性 指标,各种软件运行所需的辅助模块或设备,各种影响软件的自然和社会 环境要素( 如:距离、温度、恶意用户等) 等。 太原理工大学硕士学位论文 市场要素:包括该类软件产品的供需状况、竞争压力、市场规模、价 格及利润、销售团队结构、销售策略等。随着软件的构件化,市场要素在 软件开发中的作用越来越重要,c o t s ( c o m m e r c i a lo f f - t h e ,s h e l f ) 构件市场 对c b s ( c o m p o n e n t b a s e ds y s t e m ) 的实现、升级和维护产生重要影响。 成本要素:按成本性质可将其分为资金成本、管理成本、技术成本、 人员成本等;按参与的活动可将其分为开发成本、维护成本等。 与环境要素分类相对应,软件生存环境可分为需求环境、结构环境、 技术环境、客户及最终用户环境、运行环境、市场环境、成本环境等。这 几类环境关系密切,相互作用相互影响,如:需求环境的变化可能会引起 结构环境的变化,技术环境的结构会影响结构环境的选择,市场变化会影 响技术环境结构等。引起环境变化的原因多种多样,如:与软件交互作用 的硬件发生变化;用户对系统外部行为提出新需求,设计人员决策的改变, 市场环境的变化等。 此外,按照环境要素对软件质量属性的影响还可将软件生存环境分为 功能生存环境、复用性生存环境、安全性生存环境等,相应的环境要素可 分为功能要素、复用要素、安全要素等。在工程实践中,几类要素并存, 共同构成一个完整的软件生存环境。环境及环境要素的分类有助于开发人 员分析和把握要素的本质特征及其对软件实体的作用,针对环境变化构造 适应性结构。 2 小生境与小生境系统 在软件体系结构的局部适应性研究中还会遇到一类特殊的生存环境 及生存环境系统小生境及小生境系统。 众所周知,软件中结构或功能关系密切的构件聚合成新模块,周围与 之相关的构件或模块将构成其结构上的一个小生存环境,在此将其称为结 构小生境。此外还有其他类型的小牛境,如:需求小生境、技术小生境等。 软件实体与其小生境一起构成小生境系统。从静态角度看,软件包含若干 处于不同状态并相互作用的小生境系统;从动态角度看,软件实体及其小 4 太原理工大学硕士研究生学位论文 生境随时间不断发展变化,它们的演化造成了整个软件生存系统的演化。 小生境苇口小生境系统对于设计构件,研究构件质景属性分析软件局部特 性及构件复甩和组装有薰要意义。能够适应小生境是构件成功复用的基 础。例如 在c 2 体系结构风格 7 中,在构件a _ l 层与之相关的构件底域 构成了a 的小生境。当另一构件b 要替换a 时,b 的顶域必须与a 的小生 境一致。否则将造成体系结构不匹配,导致体系结构复用及构件组装的失 败。c 2 风格可以概括为:通过连接件( c o n n e c t o r s ) 绑定在一起的按照一 组规则运作的并行构件( c o m p o n q i l s ) 网络。如图2 1 所示。组织规则是: 系统中的构件和连接件都有一个顶域平一个底域;构件的顶域应连接 到某连接件的底域,构件的底域则应连接到连接件的顶,而构件之问不允 许直接连接:一个连接件可以和任意数日的其它构件和连接件进行连 接;当两个连接件进行直接连接时必须 t t 其中一个的底域到另一个顶 域。 申 构什 连接件 图2 - ic 2 体系结构 f i g 2 t 1t h es o f t w a j ea r c h l t e c t u r eo f c 2 实体及其生存环境是一个有机的整体,能够适应小生境是构件成功复 用的基础。设汁、实现软件系统仅考虑软件实体是不够的还应详细分析、 规划和优化其生存环境。现有丌发方法如结构化方法、面向对象方法, 在这方面存在明显不足,它们侧蘑软件川:发对生存环境缺乏应有分析、 规划。虽然,丌发人员在设计、实现时电考虑运行环境,c m l ( c a p a b i l i t y m a t u r i t ym o d e lf o rs o f t w a r e ,软件能力成熟度模型) 为影响软件歼发的各 量 太原理工大学硕士研究生学位论文 种因素提供了管理框架,软件能力成熟度的提岛有利于生存环境的稳定, 如c m m1 级软件过程处于无序状态,嚣发人员、文档质量等因嚣对软f ,i 二, : 发的影响很太,随着成熟度的提高这冀因素的影响会有所减弱。但并没有 将各要素综合起柬作为个整体统规划。虽然,:1 1 :发人员也进行需求分 析,但并没有将需求作为影响软4 - l = t e j 环境要素,从演化、动态的角度加以 分析和考虑,而这对软件适应性来说十分蘑要。 3 研究软件生存环境的作用 软件生存环境系统将软件实体及其赖以存在的诸要素统一起来,作为 个整体岿虑,剥适应性软件体系结构及基于该结构的) r 发方法研究有重 要的意义。适应性软件体系结构及赫于该结构的丌发将适应、体系结构、 复用及生存环境结合起来为提高软件适应州i 提供1 ,新思路。 十 组成不同软件| c f c j 构件可能栩同,但出于构件问棉h 作用关系艘约束的 瓜同,实现的功能和所获得的其他质量属性会存在很大差异。软州体系结 构为构件复用和组装提供了结构环境体系结构复用是软件大规棱复用的 重要手段。征生存环境系统c 、,软件体系结构具有两面性,它既是一种实体, 又是一种环境。在体系结构层卜,复用n j - i 厂孓 , 图5 - 1 组合软件过程模型 f i g 5 - lt h ep r o c e s sm o d e lo f c m 构件选择:系统设计规范制订了对象的服务、属性和消息交换,针对以上 结构,从r c l 中选择已有构件或开发新构件,这些构件将和框架中原有的 构件一起构成目标系统; ( 2 ) 系统装配:领域框架是“预先封装”的需求模型、设计和一 组构件的综合体,在装配平台支持下,符合设计规范的构件插入领域框架, 按照设计规范的定义和约束实现组合,构成最终的目标系统。 与w m 、r p m 、和f m 相比,c m 具有以下特征:( 1 ) 需求建模、构件选 择、系统装配之间无严格的线性关系,可以并行推进,因此理论上可以达 到更高的软件生产率;( 2 ) 柔性构造应用系统。一旦企业环境和用户需求 发生变化,部分构件可以进行扩充和再定义,动

温馨提示

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

评论

0/150

提交评论