论文部分内容阅读
面向方面编程技术与传统的重构技术融合,掀起了面向方面软件重构研究的热潮。这一课题分为方面挖掘和方面重构两个步骤,方面挖掘是方面重构的先决条件,也是面向方面软件重构的关键步骤,其结果直接影响软件重构的进行。本文选取一种典型的方面挖掘方法——标识符分析方法,将研究重点放在对方法的改进和提高上。标识符分析方法面临着概念生成时间爆炸、手工挑选概念复杂难行以及在大型遗产系统中难于应用三大难题,其原因在于标识符分析使用形式概念分析算法生成大量形式概念,时间消耗大,并且结果包含了大量干扰挖掘的冗余概念。通过分析,作者发现,能够通过对生成概念格的上下文表进行预过滤,阻止那些对有效概念的生成毫无用处的元素和属性进入概念生成阶段。据此,作者给出了一系列定义、命题及其证明,保证所用的过滤方法有正确的理论依据,并在此理论基础上,提出了名为“预过滤器”的预过滤算法,将上下文表转化成上下文矩阵,通过对矩阵进行简单、巧妙的数学变换和运算,高效、灵活地实现对上下文的过滤。值得说明的是,预过滤算法的应用范围不局限于方面挖掘方法,只要对感兴趣的概念包含的元素和属性个数有要求,就可以考虑使用,因此具有一定的普遍意义。改进的标识符分析方法,将预过滤器加入到概念生成步骤之前,有效地控制了概念生成的输入量,节省了大量概念生成时间,减少了冗余概念的生成,生成的概念格结构更加清晰,向“所得即所需”的理想状态迈进了一大步;并且降低了手工挑选横切概念的工作量和复杂度,提高了标识符分析方法的挖掘能力和适应性。