欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    计算机软件系统结构分析.docx

    • 资源ID:1865091       资源大小:665.30KB        全文页数:80页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机软件系统结构分析.docx

    计算机软件系统及结构分析摘 要本文在综述了结构化系统分析与设计方法、面向对象技术、软件代理、软件重用等方面计算机软件技术的发展趋势的基础上,提出了柔性软件系统的概念和基本原理,介绍了与之相应的工程方法和支持工具,并详细阐述了其在CIMS应用集成平台运控系统开发中的具体应用。首先,本文指出柔性软件系统是在一定范围内能够满足和适应不断变化的环境和需求的软件系统。其概念包括系统结构模型和方法两方面内容。其中柔性软件系统体系结构由基于软件代理的软件支撑系统和基于软件组件的应用软件系统两部分组成;相应的柔性软件系统的BPRO工程方法包括软件经营(Business)的指导思想、软件工程的过程(Process)观念、基于重用(Reuse)的软件系统的开发步骤和面向对象(Object-Oriented)的系统分析与设计四个基本要点。研究工作结果表明,在面向对象的系统分析与设计工具Rational Rose和面向对象的文档生成工具Rational SoDA的支持下,BOOCH方法学递归增量式的开发过程和与之相应的软件文档规范在柔性软件系统BPRO工程方法的实际应用中具有重要作用。在此基础上,本文对集成平台运控系统代理的设计与开发进行了深入研究,提出了由分布式的体系结构和代理通信层、解释控制层、任务调度层、服务管理层组成的层次化的单元结构组成的运控代理模型结构,并给出了系统详细设计与实现过程中的关键技术及其解决方案与主要流程。以基于代理的平台消息传递服务的具体实现为例,本文的研究成果表明,只有在代理为核心的运控系统的支持下,集成平台才真正成为一个协调运作的统一整体。最后本文指出柔性软件系统是未来计算机软件系统发展的必然趋势,其中综合并系统化了当前计算机软件技术中的诸多新思想和新方法,因此具有重要的理论意义和明显的实际应用价值。关键词:柔性软件系统,面向对象技术,应用集成平台,运控代理 Abstract Flexible Software System and Its ApplicationIn this paper, the concepts of Flexible Software System are proposed after the survey of the latest development of software technology, such as Structured System Analysis and Design, Object-Oriented technology, Software Agents and Software Reuse. As the application of Flexible Software System, the analysis and design of operation administration agents are deeply studied, which is on the basis of the research on CIMS Application Integration Platform, a national high-technology key research project.Firstly, it is put forward that Flexible Software System is a kind of software system which can meet the needs of everchanging situation and requirement to a certain extent. The architecture model of Flexible Software System is studied, which is mainly composed of agent-based software support system and component-based application software system, and the feasible engineering method of Flexible Software System named BPRO is given, which means Business, Process, Reuse and Object-Oriented.Then it describes the BOOCH methodology and document criterion of recursive incremental development supported by CASE tools of Rational Rose and Rational SoDA, which is the most important in the practice of engineering method of BPRO.With this understanding operation administration agents is deeply studied. The layered system and unit structure models are given, which is composed of communication, explanation, dispatch and service layers. Meanwhile It introduces the implementation of operation administration agents in details, for example, key technology problems and settlements, main programming flows, and so on. In addition, the implementation of agent-based message service shows the CIMS Application Integration Platform to be operated as a really integrated whole system.Finally, as summary of the paper, the idea is proposed that Flexible Software System indicates the trend of computer software system in the future. Integrating many new ideas of software technology, Flexible Software System has a wide research horizon and a great application value.Cao Junwei ( Control Theory and Control Engineering)Directed by Prof. Fan YushunKeywords:Flexible Software System, Object-Oriented Technology, Application Integrated Platform, Operation Administration Agents目录目 录摘要 I第一章 绪论 11.1 计算机软件的发展 11.2 应用软件开发技术 21.3 本文的主要内容 2第二章 柔性软件系统的概念和基本原理 42.1 结构化系统分析与设计方法 42.1.1 结构化分析方法 42.1.2 结构化设计方法 52.1.3 结构化编程方法 52.1.4 结构化方法的问题 52.2 面向对象技术 62.2.1 面向对象的系统分析 72.2.2 面向对象的系统设计 72.2.3 面向对象的编程 72.2.4 面向对象方法的优点 82.2.5 面向对象方法的不足 92.3 软件代理 92.3.1 为什么软件需要代理 102.3.2 什么是软件代理 112.3.3 代理通信语言 122.3.4 代理实现的典型应用 132.4 软件重用 152.4.1 什么是软件重用 152.4.2 结构模型 152.4.3 过程模型 172.4.4 组织模型 202.5 柔性软件系统 212.5.1 柔性软件系统的概念 212.5.2 柔性软件系统结构模型 212.5.3 柔性软件系统工程方法 22第三章 柔性软件系统的工程方法和工具 233.1 BOOCH方法学 233.1.1 系统模型描述 233.1.2 递归增量式的开发过程 253.2 面向对象系统设计工具Rational Rose 263.3 软件文档规范 273.3.1 文档的组成与管理 283.3.2 文档规范细则 283.4 面向对象文档生成工具Rational SoDA 29第四章 集成平台运控代理的设计与开发 324.1 CIMS应用集成平台 324.2 运控代理模型结构研究 344.2.1 运控代理模型体系结构 344.2.2 运控代理模型单元结构 364.2.3 体系结构与单元结构的关系 394.3 运控代理设计的性能要求 394.4 运控代理实现的关键问题与技术方案 404.4.1 运控代理的启动与关闭 404.4.2 运控代理的消息队列维护 424.4.3 运控代理的通信机制 434.4.4 运控代理任务调度 454.4.5 运控代理的并发执行 484.4.6 运控代理的信息管理 484.4.7 运控代理的进程管理 484.4.8 运控代理应用编程接口 504.5 基于代理的平台消息传递服务 504.5.1 消息传递服务的组成 504.5.2 消息传递服务的功能实现 514.5.3 消息传递服务的特点 52第五章 结语 545.1 本文要点小结 545.2 进一步的研究 55参考文献 56攻读硕士学位期间论文发表情况 58附录 运控系统控制代理模型文档 59致谢 73第一章 绪论第一章 绪 论自一九四六年世界上出现了第一台电子数字计算机以来,仅仅五十多年的时间计算机系统得到了飞速的发展,随着计算机硬件技术的广泛使用,软件也逐步得到丰富与完善,本文在综述了结构化系统分析与设计方法、面向对象技术、软件代理、软件重用等方面计算机软件技术的发展趋势的基础上,提出了柔性软件系统的概念和基本原理,介绍了与之相应的工程方法和支持工具,并详细阐述了其在CIMS应用集成平台运控系统开发中的具体应用。1.1 计算机软件的发展计算机资源包括硬件和软件,其硬件受到原设计的局限,增添和更新有一定的限度,但其软件的扩充是大有可为的。计算机硬件和软件组成的统一的整体称为计算机系统。计算机系统使用的好不好,不只是指物质基础即硬件的使用是否正确、运行是否可靠,而且包括软件掌握的如何、发挥多少效用,这是更为关键的一个方面。所谓软件应是程序的集合,这种程序不是用户为解决某一个具体问题而编制的,而是具有支持计算机工作和扩大计算机功能的作用。软件大体可分为四个发展阶段:1汇编语言的出现。2高级语言的出现。3操作系统的形成。4计算机网络软件、数据库软件的出现。软件可分为系统软件与应用软件,但有时不是截然可分的。例如各种标准程序库,可看作是应用软件,也可以看作是计算机厂提供的系统软件,因为用户稍加改造,甚至不必改造就能将它们编到自己的程序内。又如CIMS应用集成平台,相对于计算机操作系统和集成开发环境来说是应用软件,而相对于企业中的用户和基于平台的更高层次的其他应用来说又是系统软件。本文主要介绍集成平台运控代理的研制与开发过程,而不是使用说明,因此将更多的从应用软件的角度加以研究。1.2 应用软件开发技术大型应用软件系统的开发在五、六十年代是用手工业方式进行的,这种生产方式生产出的软件产品在使用过程中经常发生错误,需要不断进行修改,因此继续用这种方式研制大型软件系统是不行的,软件工程的概念便应运而生了。并由此发展出一套结构化的系统分析、设计、编程和测试方法。然而,随着计算机科学的发展和应用领域的不断扩大,对应用软件开发技术本身的要求也越来越高。同时实践证明六十年代后期发展起来的软件工程方法不能从根本上解决软件发展面临的问题。计算机硬件技术飞速发展及计算机应用软件系统日益复杂和规模日益庞大的情况下,人们对软件系统的分析、设计、开发及维护方面提出了越来越高的要求。这些要求包括缩短软件设计开发周期、提高软件质量与可靠性、提高软件系统的开放性、可扩展性和可重用性等。于是面向对象的思想和技术产生了,并迅速成为近二十年来学术界和工业界研究和应用的一个热点。近几年来,在应用软件系统方面又出现了许多新概念、新技术和新的标准规范,如集成平台、集成框架、软件代理、软件重用等概念,WEB技术,CORBA(Common Object Request Broker Architecture)、DCOM(Distributed Common Object Management)、DCE(Distributed Computing Environment)等标准规范,JAVA语言与OLE技术。这些概念与技术的出现对设计与开发具有高度可重用性的独立于硬件平台和操作系统的软件系统提供了良好的前景,同时也对软件设计与开发方法提出了更高的要求,本文的主要内容柔性软件系统的概念和方法就是在这种情况下提出的。1.3 本文的主要内容从第二章开始本文介绍了柔性软件系统的概念和基本原理。指出柔性软件系统是在一定范围内能够满足和适应不断变化的环境和需求的软件系统。其概念包括系统结构模型和方法两方面内容。其中柔性软件系统体系结构由基于软件代理的软件支撑系统和基于软件组件的应用软件系统两部分组成;相应的柔性软件系统的BPRO工程方法包括软件经营(Business)的指导思想、软件工程的过程(Process)观念、基于重用(Reuse)的软件系统的开发步骤和面向对象(ObjectOriented)的系统分析与设计四个基本要点。第三章介绍了柔性软件系统的工程方法和工具。研究工作结果表明,在面向对象的系统分析与设计工具Rational Rose和面向对象的文档生成工具Rational SoDA的支持下,BOOCH方法学递归增量式的开发过程和与之相应的软件文档规范在柔性软件系统BPRO工程方法的实际应用中具有重要作用。在此基础上第四章本文对集成平台运控系统代理的设计与开发进行了深入研究,提出了由分布式的体系结构和代理通信层、解释控制层、任务调度层、服务管理层组成的层次化的单元结构组成的运控代理模型结构,并给出了系统详细设计与实现过程中的关键技术及其解决方案与主要流程。以基于代理的平台消息传递服务的具体实现为例,本文的研究成果表明,只有在代理为核心的运控系统的支持下,集成平台才真正成为一个协调运作的统一整体。最后一章在总结本文主要内容的基础上,提出了进一步的研究方向,指出柔性软件系统是未来计算机软件系统发展的必然趋势,其中综合并系统化了当前计算机软件技术中的诸多新思想和新方法,因此具有重要的理论意义和明显的实际应用价值。74 第二章 柔性软件系统的概念和基本原理第二章 柔性软件系统的概念和基本原理本章综述了结构化系统分析与设计方法、面向对象技术、软件代理、软件重用等方面计算机软件技术的发展趋势,详细阐述了柔性软件系统概念和基本原理逐渐形成的过程及其主要内容。2.1 结构化系统分析与设计方法结构化系统分析与设计方法基于两种对系统结构的基本认识1:1层次化的系统结构。这种方式是将复杂系统进行分解,采用由高度抽象到逐步具体的方法,形成树形结构。每层都设计成为独立的模块,模块可以调用它下一层的模块,是逐层分解的方式,也称为自顶向下的结构。这种结构简单明了,各层次间联系少,可靠性强,便于修改。2模块化的系统结构。模块的系统结构是将系统分成若干模块,这种结构不一定是树形的,特点是结构灵活,整个系统类似搭积木一样,独立性强,可靠性强。2.1.1 结构化分析方法结构化分析(Structured Analysis,简称SA)方法是一个简单、实用、应用广泛的方法,基本思想是采用“分解”和“抽象”的基本手段,由顶向下逐层分解,使分析工作有条不紊的进行,使复杂性的问题有效地被控制。SA方法的具体步骤可分为四步:1理解当前的现实环境,获得当前系统的“具体模型”。2从当前系统的“具体模型”抽象出当前系统的“逻辑模型”。3分析目标系统与当前系统在逻辑上的差别,然后建立目标系统的“逻辑模型”。4为目标系统的“逻辑模型”作补充。SA方法通过数据流图来描述组织的业务活动,包括组成部分和各部分之间的数据关系,同时通过数据字典给出数据流图中每一成分的具体定义。2.1.2 结构化设计方法结构化设计(Structured Design,简称SD)方法是使用最广的一种方法,其主要考虑的是如何建立一个良好结构的程序系统,并提出评价模块结构质量的两个具体标准块间联系和块内联系。SD方法划分模块是遵循下面的原则进行的:1每一模块功能单一、相对独立。每一模块可以独立的被理解、编写、测试、排错和修改。这样使得研制工作得到简化,且由于模块的相对独立性有效地防止错误在模块之间扩展蔓延,因而提高了系统的可靠性。2模块间联系小、模块内联系大。模块间的联系反应主要有调用、共有信息等方面。SA是以分析阶段获得的数据流图及描述说明书作为基础,进行模块结构设计。一般是首先从数据流图导出初始结构图,再根据系统最终目标进行修改,获得满意的系统模块结构图。2.1.3 结构化编程方法结构化编程(Structured Programming,简称SP)方法是用于程序编写阶段的基本技术,同时也涉及到设计、测试阶段的一些问题。SP方法指出任何程序逻辑上都可用顺序、选择和循环三种基本结构表示。可以把任意复杂的流程图转换成为几种标准形式组成的结构,因而整个程序的结构清晰,易于阅读和修改,并且可以进行正确性的检验。SP方法避免了GOTO语句带来的程序难以阅读、会产生互相交叉、易出错等问题,但有时相对于非结构化程序来说却不一定会取得高效率。2.1.4 结构化方法的问题层次化和模块化的系统结构以及结构化系统分析与设计方法中的许多基本思想至今仍具有较强的借鉴意义,但同时由于软件系统需求的不断提高愈来愈显现出其不适应性:1软件系统复杂程度的增长使得以模块作为系统结构的最小单位时,模块间的层次化关系的复杂度仍然难以得到控制。2模块化系统结构忽视了模块内结构的统一性,模块内结构各异给模块间互操作和软件系统的重用带来困难。3传统的具有严格逻辑关系的层次化的软件系统不能适应环境变化的加剧对软件灵活性的要求,无法支持软件系统的可扩展性要求。4从本质上讲,基于功能分解的软件是不易维护的,因为功能一旦有变化就会使开发的软件系统产生较大的变化,甚至推倒重来。2.2 面向对象技术所谓面向对象技术,顾名思义,就是以对象观点来分析现实世界中的问题。从普通人认识世界的观点出发,把事物归类、综合,提取出共性并加以描述。在面向对象的系统中,世界被看成是独立对象的集合,对象之间通过消息相互通讯,对象具有“智能化”的结构,它将数据和消息“封装”在一起,对一个对象的访问完全通过其外部的接口来进行,内部的实现细节、数据结构对外是不可见的。对象是主动体而过程是被动体。对象被描述为数据(又称为属性)以及基于这些数据的行为的复合体。面向对象方法是一种分析方法、设计方法、和编程方法。它是一种围绕真实世界的概念来组织模型的全新的思考问题的方式,其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式,建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使所设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,并能够控制软件的复杂性和降低开发维护费用。在面向对象方法中,对象作为描述实体的统一概念,把数据和对数据的操作融为一体,通过方法、消息、类、继承、封装和实例化等机制构造软件系统,并为软件重用提供强有力的支持。2.2.1 面向对象的系统分析面向对象的系统分析(Object-Oriented Analysis,简称OOA)是采用从特殊到一般的归纳方法,对现实世界中的实体进行分类,区分对象及其属性,整理对象及其组成部分,划分成不同的对象类,从而得到现实系统中对象及其关系,进而分析并掌握系统运行的规律。OOA的重点是使用面向对象的观点解决现实世界模型的建立问题。OOA是利用问题领域中找出的类和对象的观点来研究系统实际需求的一种分析方法。2.2.2 面向对象的系统设计面向对象的系统设计(Object-Oriented Design,简称OOD)是采用从一般到特殊的演绎方法,基于对现实系统的认识,指出其中不合理的环节,对相应的类及类之间的关系进行改造,设计出更合理的系统。OOD是一种设计方法,它包含二个重要的方面:1 面向对象的分解过程。2 使用面向对象表示方法描述所设计系统的逻辑模型(类和对象结构)和物理模型(模块和过程体系结构),以及描述系统的静态和动态模型。OOD提供的面向对象分解是使得面向对象设计方法在本质上区别于结构化设计方法的重要方面。2.2.3 面向对象的编程面向对象的编程(Object-Oriented Programming,简称OOP)是一种系统实施方法,在这种方法中,程序由一组相互协作的对象组成,其中每个对象是某个类的实例,这些产生对象的类都是有继承关系形成的类层次结构中的一个成员。通俗的理解OOP是指在软件开发中,把OOD的结果代码化的方法,即编程方法,其中程序所处理的是一组相互关联协作的对象,而这些对象又是按一定关系组织在一起的许多类的实例,OOP需要有相应的开发环境(如C+)的支持。OOP有三个重要方面:1 OOP中使用的是对象而不是算法作为其基本的系统逻辑组块。2 每个对象是某个类的实例。3 类之间通过继承关系连接。这三个方面缺少任何一个都不能称为面向对象的编程。2.2.4 面向对象方法的优点OOA、OOD和OOP之间具有密切的关系。面向对象的系统分析的结果是生成一个模型,基于这个模型可以进行面向对象的系统设计,面向对象的系统设计的结果是利用面向对象编程方法实施整个系统的蓝图。相对于结构化的系统分析与设计,面向对象方法具有以下优点:1以自底向上和自顶向下相结合的方法取代单纯的自顶向下逐步细化的系统分析与设计方法。2传统的结构化的分析与设计方法在系统复杂程度增加后会造成软件系统功能与实际系统需求之间的偏差,这不但来源于子系统内分析、设计、实现以及检测等步骤转换带来的偏差(见图1中标志1),而且在于子系统之间由于对系统结构理解的不一致而导致的相互协调过程中出现的问题(见图1中标志2)。采用面向对象技术,首先将系统体系统一在类结构上,消除了子系统结构各异造成的协调中的偏差;其次,面向对象的方法贯穿于系统分析、设计、实现以及检测等各个步骤,也最大限度的减少了步骤转换带来的软件系统的“失真”(见图1中标志3),使得软件系统的功能实现真正能够反映实际系统的需求。图1 采用面向对象的系统分析与设计带来的变化示意3功能是对对象的使用,它依赖于应用的细节,并在开发过程中不断变化。由于对象是客观存在的,因此当需求变化时对象的性质要比对象的使用更为稳定,从而使建立在对象结构上的软件系统也更为稳定。而且可以比较好地解决软件的可维护性方面存在的问题。4需求分析不彻底是软件失败的主要原因之一。传统的软件开发方法不允许在开发过程中用户的需求发生变化,从而导致种种问题。正是由于这一原因,人们提出了原型化方法,推出探索原型、实验原型和进化原型,积极鼓励用户改进需求。在每次改进需求后又形成新的进化原型供用户试用,直到用户基本满意,大大提高了软件的成功率。但是它要求软件开发人员能迅速生成这些原型,这就要求有自动生成代码的工具的支持。而面向对象的软件开发则彻底解决了这一问题。因为需求分析过程已与系统模型的形成过程一致,开发人员与用户的讨论是从用户熟悉的具体实例(实体)开始的。开发人员必须搞清现实系统才能导出系统模型,这就使用户与开发人员之间有了共同的语言,避免了传统需求分析中可能产生的种种问题。2.2.5 面向对象方法的不足面向对象的技术和方法为软件系统实现可重用性和可扩展性提供了基础,但单纯的面向对象思想还不足以工程化、系统化的实现上述性能。1数据和应用的动态与分布性的增强要求软件不仅有被动地响应信息需求的能力,而且能以一定程度的智能主动地预测、适应乃至积极地寻找途径支持用户需要,这就要求各个系统的软件能自动地合作完成更加复杂的功能。由此产生了基于对象模型的更高层次上的软件代理的概念。2许多软件开发组织寄希望于面向对象的技术,以为这样就可以自然而然地实现软件重用。而实际上,没有一个系统化的软件重用方法作指导,单凭面向对象技术所进行的努力仍不可能成功地完成大规模的软件重用。2.3 软件代理事实上,代理并不是在计算机领域内出现的一个新概念或名词,人类热衷于非人类代理的想法由来已久,但仅仅是从二次大战以后类似带有自治性的代理装置才开始出现。与今天的智能代理最密切相关的“祖先”恐怕是一些服务性的机械装置和其它一些控制装置。不过,现在意义上的代理已经在许多重要方面不同于早期的概念,从硬件到软件,从基本器件组成的机器人到比特构成的数字代理,形象的说,软件代理是一个“软机器人”,在计算机的软件世界中完成它的使命26。Nwana将代理的研究划分为两个主要阶段:第一阶段始于1977年,主要根源于分布式人工智能(Distributed Artificial Intelligence,简称DAI),集中于具有符号式内在模型的“思考”型代理的研究,所涉及的是代理间的通信与交互,任务的分布与分解以及冲突检测与解决等微观性问题;第二阶段始于1990年,代理的研究迅猛发展,出现了多种代理类型,并逐渐地从“思考”转向“行动”,从内在推理发展向远程操作7。2.3.1 为什么软件需要代理主要有两方面的困难促进了软件代理技术的研究:一是分布计算的复杂性;另一个是直接操作人机界面(Direct Manipulation Interface,简称DMI)的局限性。由此需要软件代理出于以下的考虑。1简化分布计算。大多数人认为未来计算环境将由运行于多种异构硬件平台上的分布软件系统组成,而目前软件则大多数处于分离状态,或者只能在一些基本方面进行通信和合作。高层次的软件间互操作要求具备描述各系统能力的知识,以保证任务规划、资源分配、执行、监听以及可能的干预等在系统间得以实现。软件代理的实现便可以起到这样的作用,它可以在高层次上对用户意图而不是具体实现加以反映,对底层基本通信原型进行封装的同时还可提供规划层等高层次的封装。当然,单个代理在小型网络系统下也许能起作用,但当系统协调操作的数量增加时便会因单代理的能力有限而出现系统瓶颈。进一步智能化互操作是在每一个相互协作的系统中应用多个对等软件代理。2克服用户界面的局限性问题。目前,DMI已成为标准,相对于命令行交互方式是很大的进步。它要求软件对象是可见的,用户要不断地被告知可作用于哪类对象。当任务在规模和复杂程度上增加时,DMI的益处便显不出来了。其可能遇到的问题和应用面向代理方法(Agent_Oriented Approach,简称AOA)相应的好处见表1。表1DMI与AOA比较典型DMI局限性的表现相应AOA的好处巨大搜索空间后台运行搜索及过滤功能帮助人们获取大量信息资源只响应实时的用户要求规划及事件驱动行为响应不能通过组合得到更高层次的功能代理间相互联系完成功能过于僵化、严格在目标与战略层次上帮助灵活解决问题面向软件功能,而不是用户任务和环境将用户任务及条件考虑在内不能通过学习对行为加以改进通过学习算法改进行为2.3.2 什么是软件代理各种变化形式的代理在多个领域大量出现,导致了应用这一名词泛滥的同时却没有具体定义到底什么叫代理。一些程序被称为代理仅仅是因为可以在远程机器上执行一些任务;一些是因为在构建于高层次的编程语言的同时可以完成一些计算机底层的服务;一些是因为抽象或者封装了不同的信息资源或服务的具体差别;一些是因为具有分布式智能的某些特点;一些是因为在可以自引导下活动于不同计算机之间;一些因为“讲”代理通信语言(Agent Communication Language,简称ACL);一些是因为对象具有某些“智能状态”。一个能为许多软件代理研究者接受的定义是:软件代理是一个能在特定环境下连续、自治地实现功能并同时与相关代理和进程相联系的软件实体。连续与自治的要求来源于环境的变化,要求代理能在没有人的引导和干预下以柔性、智能的方式对用户需求实时地加以响应;更理想的情况是在某一特定环境下,在一段时间内,反复实现某一功能后能汲取经验教训,即所谓的学习。另外,我们希望代理能与环境中的其它代理和进程通信与合作,甚至可以在不同地方来回移动。现在许多软件代理都是相当脆弱和特殊的,没有一个能在一般意义下符合这样的描述。因此目前软件代理最好被视为一种统一的代名词,用以概括诸多特定条件下带有局限性的代理类型。目前研究的代理大体可概括为七类,即协作代理、界面代理、活动代理、信息代理、反馈代理、混合代理和智能代理。对代理概念的定义和理解是在实际应用中逐渐发展的。在这样的过程中,有两个既相互联系又相互区别的定义方法值得注意:1描述性定义。即通过对事物内在属性的完整描述来定义事物。虽说各种代理具有其特殊性,但从问题需求的一致性可以看出每种代理都或多或少具有反应能力、自治性、协作行为、知识层通信能力、推理能力、时间一致性、人格化、适应性、活动性等方面的属性。2归因化定义。即用事物的外在行为和功能说明事物。由于代理的概念处于发展和逐渐完善阶段,一个人所谓的智能代理在另一个人看来可能只不过是带有某些智能状态和属性的对象;今天的智能化的程序在明天也许会显得很笨拙,因而目前情况下一次性全面地通过罗列一系列属性来完整的说明代理的特征是不可能的,归因化定义便是这种条件下的产物。软件代理即软件的行为及其所实现功能的集合,就是用这种方法对代理进行的抽象定义。时间和经历最终将决定“代理”名词的含义和寿命,就象现在常用的许多其它计算机名词,如“桌面”、“鼠标”等一样,开始仅是一种隐喻,而最终将代表一种具体的软件制品。随着软件代理的不断实现与应用,一定会逐渐变成能为大家都理解和接受的某一确切意义上的代名词。2.3.3 代理通信语言软件代理之间要有效地相互协调运作,需要通用语言、对所交换知识的通用理解、交换以上内容的能力这三方面基本成份。我们把对代理通信语言ACL的要求分成七大类:1格式。2内容。3语义。4实现。5网络。6环境。7可靠性。KQML(Knowledge Query and Manipulation Language)是发展较完善的ACL之一,许多现有的代理实现系统都应用KQML,它可看成由三个层次组成:1内容层。2消息层。3通信层。内容层包括消息的实际内容,用程序自己的表达语言写成;通信层是消息特征的集合,描述底层的通

    注意事项

    本文(计算机软件系统结构分析.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开