论文部分内容阅读
Internet的出现使计算机软件所面临的运行环境开始从静态封闭逐步走向动态开放。为了适应这样一种发展趋势,软件系统开始呈现出一种柔性、多目标、连续反应式的新的系统形态,我们称为网构软件(Internetware)。与集中封闭环境下发展起来的传统软件形态不同,网构软件具有自主性、协同性、反应性、演化性和多态性等基本特征。这些新的特征对于软件理论、方法和技术都提出了新的要求。特别是在软件理论与模型方面,软件的基本模型是软件技术的核心,只有对组成网构软件的实体元素的本质属性和行为特征有清晰的认识和刻画,才能为网构软件提供建模基础及开发范型。
考查网构软件系统中的实体元素,本文认为它们具有相对独立性、主动性和白适应性,即自主性。已有的构件模型对于集中封闭环境下开发的基于构件的软件系统有比较好的适用性,但缺乏对实体自主性的刻画。而在软件自主性研究领域,主动对象、自主消息以及Agent技术分别针对不同的实体元素对自主性的刻画和支持进行了比较广泛的讨论和研究。
本文在传统构件模型的基础上借鉴软件自主性研究领域中对于实体的自主性的规约和支持手段,提出自主构件(autonomouscomponent)的概念用来刻画网构软件的实体元素,建立了从目标、服务、使用合约、操作语境以及实现五方面进行规约的自主构件模型,并在语义层上支持对自主构件行为和状态的推导。在实现方面,本文建立了一种自主构件的实现结构,开发了自主构件的开发工具ACEra,并探讨了改进现有构件框架(即构件运行支撑平台)从而为自主构件提供支撑的可行方案。