论文部分内容阅读
今天的Internet已经不仅是一个用来共享和交换数据的信息网络,同时也是一个最大规模的网络应用平台。其上许多应用系统的构建依赖于对分布于网络中的各种异构的、自治的资源实体(包括计算能力、处理软件、信息数据等等)的有效协同。也就是说,要用恰当的方式在这些实体之间建立通信联系,管理其间的交互,以使之和谐工作,达成应用目标。然而,考察实施软件协同所需的技术支持可以看到,传统的软件开发和运行技术主要面向集中和固定的计算环境;现有的中间件、协同模型和语言等分布软件技术多面向相对封闭、稳定的局域网或者企业内部网环境;而Internet环境具有的真分布性、开放性和动态性等特点,已有技术在提供针对这些特点的支持方面尚多有不足,表现为如何以主动适应的方式使用自治的协同实体、如何提高其间交互的灵活性以适应需求和环境的动态变化、如何在体系结构的层次上支持并约束系统的动态演化以及如何恰当部署并动态调整协同基理的分布等问题。针对这些问题,本文的主要工作如下:
1.首先对软件协同研究的现状进行了分析和综述。从软件中间件、软件体系结构及软件配置与重配置、协同模型和语言、软件Agent等几个侧面讨论了相关的研究工作,特别是那些面向开放动态环境的软件开发和运行支撑技术。这些技术确有助于解决Internet协同问题,但它们多从各自特定的技术角度出发,未能系统地针对Internet协同应用的需求;技术上,在对能适应Internet网络分布的灵活交互和动态软件体系结构的描述与实现等方面有较大的不足。
2.分析总结Internet协同应用系统的技术需求特点,借鉴、利用软件Agent(包括移动Agent)技术,提出了一个Internet协同基本概念框架模型。该框架给出了Internet协同应用系统的一种基本角色组成和整体运作机制,强调了对自治协同实体的适应性、对环境和自身运行的反馈调整和基于移动Agent技术的动态部署,并在一个较高的抽象层次上指出了实现灵活的协同实体交互和可控的体系结构动态演化的可行途径;
3.讨论了通过自省媒体实现可编程软件交互的技术途径,特别提出了基于移动Agent的分布的自省协同媒体技术,克服了现有自省中间件难以调整远程实体行为的不足。通过该技术可将软件交互进行动态调整的自省行为恰当地分布到网络上的各协同实体所处的主机上,从而能够实现适应Internet网络状况和资源分布的、可编程的协同实体灵活交互。设计了一种基于移动Agent的分布自省协同媒体,并将其映射到一个具体的、已实现的系统Cogent上。
4.提出一种面向“图”的动态软件体系结构描述和实现技术WebGOP。该技术利用严格定义的“图”来作为描述Internet协同应用系统体系结构的基本手段,并用图上的操作来实现系统体系结构的动态重配置。与已有工作相比,该技术的优点在于以图来表示的软件体系结构作为一个显式的可操作的对象实体存在于具体系统实现中,为体系结构的动态重配置提供了有力的支持,并有助于提高体系结构描述与系统实现之间的可追溯性。同时借助于面向对象语言的类型系统和多态机制,可以方便有效的控制和管理系统体系结构的动态演变。特别是能够较为系统地支持非预见的系统动态重配置的开发与实施。利用edNCE图文法来刻画WebGOP体系结构及其动态演化,以支持形式化的体系结构分析。用属性文法来表达体系结构约束,并用语法制导的规则来动态检查约束。给出了一种基于图转换的体系结构演化特别是非预设演化的基本处理办法。
5.为支持用户应用上述技术进行Internet协同应用系统开发,我们设计并部分实现了一个Internet协同环境。较具体地讨论了WebGOP的实现,并对其关键机制做了一组性能测试实验,结果表明其带来的开销是合理的、可以接受的。另一方面,为在一定程度上验证上述Internet软件协同技术的可行性和有效性,我们以油气勘探领域的地震成像偏移计算为应用背景,开发了一个远程高性能协同计算系统作为应用实例。