论文部分内容阅读
随着互联网的快速发展,计算机软件的运行环境逐渐开放化,软件动态演化已经成为软件工程领域的研究热点之一。面向方面编程(AOP)是一种新兴的编程技术,其关注点分离技术能较好地支持系统非功能属性(方面)的非侵入式演化。但是AOP只是一种编程技术,很难支持系统在较高抽象层次的动态演化。近年来,动态软件体系结构逐渐成为软件体系结构研究者的研究焦点,它是从软件体系结构层次研究系统的动态演化。因此,本文结合AOP及动态软件体系结构的优点,从软件动态演化的角度出发,提出了一种面向方面的动态软件体系结构模型(AODSA),并研究其演化方法。已有的软件体系结构元素无法表示AOP的横切关注点(方面),因此,本文首先扩展已有的体系结构元素,增加了方面及动态重配置两个元素。它们分别用于表示AOP中的横切关注点与管理系统的动态演化机制,实现将AOP的概念作为一阶实体引入到软件体系结构中,从而建立AODSA模型。其次,从基础演化和动态重配置两个不同的角度对AODSA的演化操作进行了分析。Bigraph是一种基于图形的形式化描述工具,具有既精确又直观的表达方式。本文扩展了已有的Bigraph,并使用扩展后的Bigraph描述AODSA的结构及行为。为了直观地表述AODSA的动态演化操作,文中使用Bigraph反应系统(BRS)表示AODSA的演化操作,从而将AODSA上的演化操作转化为在BRS中对Bigraph的转换操作,即通过反应规则从一个Bigraph转化为另一个Bigraph。与此同时,Bigraph的项语言可精确地表述AODSA的结构及演化操作,为进一步的形式化验证打下基础。文中最后通过一个网上拍卖系统实例展示了本文提出的思想和动态演化操作,说明基于Bigraph的面向方面动态软件体系结构在支持软件动态演化方面的优势。