网构软件是开放、动态和难控网络环境下的分布式软件系统的一种抽象,她对传统的软件开发理论、方法、技术和平台提出了一系列的挑战。针对上述问题,本项目从另一角度探索网构构件形式化模型及其自适应演化方法。包括(1)将软件(构件)实体抽象描述成单子(monads),探索并建立一种网构软件的形式化模型,以更好地反映实体所具有的自主性等特性;(2)根据"关注点分离"思想,利用单子的可组合性,研究网络环境下网构构件(单子)的生成与协同机理;针对开放网络环境中的动态和不稳定因素,利用单子的自身可调节性及切片技术,从网构软件的实体和协同两部分研究其环境自适应方法;(3)在上述方法研究的基础上,并借助于Web 服务技术,实现网构软件系统开发的平台原型,以便通过示范案例验证软件实体的自主性、动态性和自适应演化等特性。本项目预期研究成果将提出网构软件构件的新理论和方法,从而大大拓展网构软件的研究视野、手段和方法。
Internetwares;components;monad techniques;coalgebraic methods;Web services
网构软件是开放、动态和难控网络环境下的分布式软件系统的一种抽象,她对传统的软件开发理论、方法、技术和平台提出了一系列的挑战。针对上述问题,从另一角度探索研究网构软件的构件模型及其组合演化方法,研究内容包括(1)将网构软件的基本计算单元——构件,抽象成余代数单子(称为构件单子),从而以一种黑盒方式给出构件的观测语义模型。利用余代数方法对研究基于状态系统(如不确定、并发系统等)的独特优势,以及单子的抽象性、反射性和可组合性,对开放网络环境下的构件和服务进行形式化描述和深入研究,建立并实现了一种面向服务的网构构件形式化模型;(2)利用所设计的余代数单子和余代数单子转换器,探讨了如何从现有系统(遗产系统)中抽取构件,并进行服务的生成、发布、服务质量评价、运行等;(3)以网构软件的特例—Web服务作为实例,研究其在单子模型下的Web服务发现、自动测试、组合演化等活动,并给出了基于Web服务的服务计算平台系统原型的实现。