论文部分内容阅读
随着计算机技术的迅速发展,特别是Internet的出现和普及,基于服务的软件开发技术逐渐成为软件开发的主流技术。然而由于Internet不同于传统计算平台,Internet平台具有无统一控制的“真”分布性、网络连接的多样性和动态性、硬件设备和软件平台的多重异构性、用户需求的多样性、以及运行环境的潜在不安全性等特点。这些特点使得在Internet这个开放动态的环境下,软件服务之间的协同和软件服务集成存在以下特点:软件服务的独立性,软件服务复杂的私有特性,软件服务的不可靠性,集成要求的多样性,系统需要具备对环境的适应性等。
当前已有的中间件技术在开放环境下支持软件协同时在一些方面存在欠缺,主要表现在:软件服务交互的表达能力不够;对多种模式交互的支持不足;适应性支撑能力有所欠缺。
针对这个问题,南京大学软件研究所提出了一种基于agent的软件服务多模式协同方法并给出了基于该方法的多模式协同中间件系统Artemis-M<3>C的设计和实现。本文结合本人在Artemis-M<3>C项目中的工作,主要探讨了多模式协同模型及其支撑机制中的某些关键技术。主要工作概括如下:
1. 一种多模式软件协同模型──交互要素的分层多维分解与组合模型
软件交互是软件协同的基础。本文首先利用“关注分离”的思想,分析并分解软件交互的本质,提出了出一种软件交互要素的层次式分解模型,和基于此分解模型的交互要素的组合模型。
此分解组合模型的意义在于提供了一个可扩展的统一的框架,一方面可以指导协同媒体的实现,另一方面由此模型可以发现很多新的交互模式,从而丰富了现有的交互模式集合。
2.多模式协同模型支撑机制中的关键技术──可编程协同媒体
自省是实现多模式软件协同的较好的途径。本文在研究软件交互模型的基础上,提出基于自省的多模式协同模型支撑机制中的关键技术──可编程协同媒体。可编程协同媒体采用单个Interceptor和“Interceptor对”统一的表示独立的协同要素,然后利用Interceptor组合方法对Interceptor进行组合,从而实现协同要素的组合。本文而后还对Interceptor组合合理性的问题进行了初步的探讨,提出了基于一阶谓词逻辑的组合合理性检查方法。相对于传统的中间件实现方法,基于自省的可编程协同媒体提供了一定的编程能力,使得交互模式可配置。可编程协同媒体在实现层次支持软件交互要素的分层多维分解与组合模型,从而支持多模式软件协同。
3.基于agent的可编程协同媒体原型系统的设计与实现
本文在上述讨论的基础上,利用软件agent技术,给出可编程协同媒体的设计与实现。并针对原型系统进行了模拟试验和性能分析,结果表明该方法的可行性和系统在支持异构软件服务的多模式协同方面具有的良好实用性和效率。