论文部分内容阅读
Internet的出现和普及使计算机软件开发、部署、运行和维护的环境开始从封闭、静态、可控逐步走向开放、动态、难控。单纯的面向对象、面向构件以及面向服务的软件开发技术都不能满足Internet环境下软件开发的需求。因此,具有自主性、协同性、反应性、演化性和多目标性等特征的新一代软件形态——网构软件(Internetware)被提出。其构建依赖于开放环境中各种异构的、自治的软件服务实体间的有效协同。然而,Internet开放、动态、难控的网络环境对网构软件的研究是一个重大难点。因此,本文采用Peer-to-Peer(P2P)网络来做支撑网络环境,使得能够在较低的成本下完成资源的聚合和共享。另外,在上述需求的基础上,我们提出采用目前在社会学、人工智能和软件工程等领域已进行了深入研究的智能主体(Intelligent Agent)技术来支持P2P网络环境中网构软件的研究。所开展的工作和取得的主要成果体现在以下几个方面:提出了基于P2P网络拓扑结构的网构软件模型。分析了网构软件模型的设计需求,对基于P2P网络结构的网构软件模型的组成、架构进行了深入的研究。提出了基于P2P网络的网构软件构件库管理模型(P2P-basedInternetware Repository Model,简称P2P-IWRM)的体系结构,对构件的复本、构件复用形式、构件模型、构件复本测试状态以及构件检索方法进行了深入的研究。该体系结构提供了一个能够整合分布的、异构的构件库的逻辑视图。每个Peer维护本地构件库,自行管理本地的构件,为系统提供了一个很好的安全机制。同时,这些本地构件库在逻辑上又构成了一个公共的网络构件库,供所有Peer使用。提出了采用抽象状态机(Abstract State Machine,简称ASM)的方法从较高的抽象层次(概念层)描述整个系统的行为与状态变迁,使系统特征易于把握。分析了网构软件模型中ASM的架构,详细的阐述了ASM的运行规则,说明了系统状态特征的变迁情况。本研究还提出采用体系结构描述语言(Architecture Description Language,简称ADL)的方法进行架构分析和体系结构的概念设计,用ADL来描述系统的高层逻辑结构。提出了网构软件模型中的Agent模型,设计了本研究中使用到的Agent结构。通过Agent的功能以及Agent之间的协作实现网构软件的构件检索和组装。由于Agent的自治性和智能性,这一基于Agent的方案是比较灵活和低耦合的,容易进行扩展。为了便于实现,本文提出了用面向对象的技术对Agent进行建模。并且深入的介绍了本研究中需要使用到的各种Agent。提出了基于P2P-IWRM的网构软件的软件工程管理机制,为新型的版本管理方式提供了一个初步的解决方案。网构软件的版本管理以Peer Group为单位进行。每个Group被认为是一个结构化的子网络,负责相应的子系统的管理,没有任何Server的存在。每个Peer根据自己机器的负载和响应能力运行那些属于自己所在的Group的服务。最后通过原型系统,验证了上述方法的可行性。