在开放分布式环境下,构成软件系统的构成元素具有独立自主性,相应地,软件系统也具有了开放性、控制的局部化、交互的个性化、以及自主性等新的特征。开放环境下、真分布的软件系统及其构成元素所具有的新特征给高效地开发高可靠和灵活的软件系统带来的极大的挑战,这要求探索新的方法来建模和开发具有自主性的构成元素、以及新的过程来开发由自主元素构成的开放分布式自适应软件系统。本课题将深入探讨在开放、分布式环境下、自适应软件系统的构成元素的基本特征,并将结合agent技术和构件技术,研究构成元素(即自主构件)的建模、开发、和运行支撑技术。在此基础上,进一步探索基于自主构件的开放、分布式自适应软件系统的开发方法及其开发平台,希望为新一代的软件工程方法提供一种全新的理念。
Adaptive Software;Autonomous Component;Application Scenario;Adaptability Degree;Intelligence Sensor
本项目围绕开放动态环境下的自适应软件系统的开发方法展开了探索和研究,较好地完成了项目的研究目标,取得了如下研究成果1).提出将质量抽象和决策抽象看成是与数据抽象和处理抽象同等重要的软件抽象机制,建立了一种集数据、处理、质量、和决策于一体的自主构件的形式化模型。2).提出并实现了一种动态策略驱动的自主构件。自主构件的行为策略可以动态加载,同时,自主构件还可以根据策略的执行效果评估策略的有效性并动态选择策略。3).提出了一种基于应用场景的软件自适应方法。应用场景为自主构件提供了在特定情形下适应环境变化的行为方式。将应用场景实现为一种声明式的一级软件实体,可以动态定制和部署,有效地实现了软件系统对意外环境变化的动态适应。4).对自主构件的自适应度进行了量化和评估,并评估了在不同的环境复杂度下,自主构件的自适应度对构件的服务质量的影响。同时,还提出了一种评估软件系统自适应度的数学模型,并给出了自适应软件系统的形式化定义。5).提出了一种评估软件自适应机制的效率的形式化方法,对选择不同的自适应机制提供了理论指导。6).将自主构件的开发技术运用到了物联网软件开发领域,提出了一种面向智能传感器的编程模型,借鉴自主构件的开发技术构造了一个面向智能传感器的应用程序的开发工具。7).为了实现自适应的物联网应用,进一步探讨了面向智能传感器的高质量应用程序的编程框架,提出了一种智能传感器应用程序的通用编程框架,该框架可以根据应用对质量的不同需求,自动形成具有相应行为模式的程序代码。