论文部分内容阅读
计算机技术中软硬件技术的快速发展促使用户对各类软件的功能和性能提出更高期望和要求,软件成本也随之不断升高。网络覆盖地域范围的扩大与网络接入设备的多样化使得软件相关计算资源和数据与外界环境之间边界模糊化,软件所处环境动态变化且内部计算单元可动态加入或退出系统。如何增强软件对环境动态变化的适应能力属软件演化领域重要研究内容,同时对降低软件成本、延长软件生命周期也具有重要意义。由于Agent具有自主性、自适应性等特性,将Agent技术应用至软件动态演化过程被认为是一种实现动态环境下软件演化的可能途径。本文的研究重点在于基于Agent技术,提出一种采用软件集成方式实现软件在线演化的动态演化过程模型及其若干核心策略与算法。本文首先给出一种基于Agent的软件演化支撑框架,并重点对其内部Agent及其环境模型进行说明。在该支撑框架基础上给出基于Agent的软件演化过程模型的形式化表述,依据该过程模型分别面向用户需求和环境动态变化详细阐述两种软件演化过程。之后,本文围绕动态环境中软件演化过程的关键环节和问题分别在根据动态演化逻辑描述需求所设计的描述语言、主动-被动双向环境感知策略及动态演化中多Agent非预设性自主协作三方面进行详细阐述。最后,通过典型应用案例与测试针对性验证本文所提动态演化过程以及相应关键技术的可行性,并对实验结果进行分析。