论文部分内容阅读
软件演化指的是软件进行变化并达到所希望形态的过程,可分为静态演化和动态演化两种类型。由于动态演化具有持续可用性的优点,已成为软件工程研究的热点。但动态演化比静态演化更为复杂,技术上更难以处理。现代软件的复杂性决定了动态演化研究应从宏观层面入手。为支持基于体系结构的动态演化,本文较系统地从构件、软件体系结构框架、软件体系结构动态配置等方面逐步展开研究。本文基于神经传导理论,提出了模拟神经元电信号传导的神经构件信息处理模型NCIAM,并根据该模型建立了神经构件。在神经构件中,某一构件与其他构件之间的信息传导被模型化为模拟神经传导的抽象类型。构件自身计算功能等传统构件功能被模型化为新的构件体;构件之间的交互点则被模型化为信息传导连接体。神经构件具有自主分析传导的信息,并根据分析结果来进行构件自身行为和构件间信息传导连接,可显性表示信息传导的变更计划。计划行为被形式化描述,从而直接地以自组织自我管理的形式达到动态演化的要求。在神经构件基础上,继续对动态演化的软件体系结构进行研究。本文引用多Agent系统设计思想,提出了基于神经构件的动态演化软件体系结构模型NDSA。定义了该体系结构模型的基本元素,阐述了模型的组成结构,并分别就局部演化和全局演化的演化实现进行了设计和分析。该模型可支持神经构件间的连接改变、神经构件的增加、删除以及体系结构拓扑结构的重新配置等等,能够很好地支持局部和全局的动态演化。在该模型的基础上,从大粒度的宏观角度描述并分析了基于NDSA模型的动态演化软件体系结构框架。最后为了使基于神经构件的动态演化软件体系结构能够更加完善更加高效地实施动态演化,本文引入了反射理论提出了一个反射配置模型,该模型可以从体系结构的高度高效地迅速地辅助软件系统进行演化。根据该模型建立的基于反射理论的动态配置系统,可以实现比基于传统体系结构的演化行为更加具有开放性和动态适应性的动态演化功能。