论文部分内容阅读
近年来,Internet已成为一种主流的软件运行环境。与传统的软件运行环境相比,Internet具有开放、动态、难控的特点,其上应用需求也多样而易变。如何协同Internet环境中的各种资源和服务,开发能够不断适应环境变化,满足用户演化的需求的软件系统成为一个重要的研究课题。
ARTEMIS—ARC系统是南京大学软件研究所开发的一个面向服务的动态协同架构支撑平台,旨在支持用户于开放环境下动态的协同网络上的服务,以构建具有动态演化能力的应用系统。ARTEMIS—ARC支持以软件体系结构为中心的服务协同,其核心技术之一是内置运行时软件体系结构机制,即将抽象的软件体系结构规约具体化为运行时刻可见可控的对象,并利用自省计算技术将其内置于应用系统运行之中,进而通过它来支持和管理系统的在线演化。
在基于软件体系结构的开发以及系统的在线演化过程中,需要保证接口相互匹配、结构配置正确、属性约束能够满足,以及行为符合预期,也就是说要在软件体系机构的层面上保障系统的一致性。本文结合ARTEMIS—ARC内置运行时软件体系结构模型探讨运行时演化过程中软件体系结构一致性的保障问题,主要工作包括:
1、在接口一致性方面,利用自省计算技术,将内置式体系结构实现为一个对象,并在该对象与系统之间建立因果互联,从而在利用类型继承和多态赋值等面向对象核心机制实现系统平滑的在线演化的同时,利用现代面向对象语言中的类型系统来帮助开发者保证动态软件体系结构的接口一致性。
2、在结构一致性方面,使用带属性图文法来形式地表达结构配置和属性约束的一致性要求。由于ARTEMIS—ARC使用基于图的体系结构描述,并且软件体系结构已经具体化为可操作的对象存在于具体的系统实现中,使得我们可在系统在线演化时方便地执行对体系结构结构配置及其属性约束的自动验证。
3、在行为一致性方面,基于前人工作,初步讨论了π演算在描述体系结构动态属性方面的应用和动态一致性问题。并提出利用其等价理论来考查功能一致性的初步设想。
4、在ARTEMIS—ARC系统中具体实现一套体系结构一致性保障机制。包括基于图的体系结构描述,基于AGG图文法的结构和属性约束,和基于语法制导规则的体系结构一致性的检查器,并针对AGG检查算法上的缺陷做了一定程度的改进。