论文部分内容阅读
基于构件的软件开发作为一种新的软件开发方式在软件开发过程中得到了广泛的使用。该方法通过对已有构件的组装来开发新的应用软件,而应用软件的功能是通过其内部组成构件之间的交互来实现的。构件是由不同构件开发者封装,能够完成特定功能的基本单元,其开发过程与具体应用软件的开发是相互独立的,软件开发人员在使用构件时并不需要了解构件内部的具体运行机制。因此,在构件的组装交互过程中,构件之间可能因为某些因素产生相互影响,导致应用系统表现出非期望的行为,也就是构件交互冲突问题。如何很好的解决构件交互冲突问题在基于构件的软件开发中具有重要的意义。构件交互冲突的产生不仅与构件的内部实现有关,而且和构件之间的交互连接方式密切相关。形式化检测技术对于构件交互冲突的检测具有很好的效果,但是该方法目前受到“组合状态爆炸”等诸多问题的制约。因此本文在已有构件系统扩展的前提下,对构件交互冲突问题以及其相关影响因素进行了研究,提出了一种新的构件交互冲突检测方法。文本首先对构件的模型以及构件的交互过程进行分析和总结,将构件的交互连接方式概括为四种基本交互类型,并对每种类型的交互进行了抽象描述的分析。其次,本文针对构件之间的相关性进行研究,提出了构件系统接口矩阵的概念,通过接口矩阵在更细的粒度上对构件之间的交互关系进行描述;并提出了一种基于接口矩阵的构件相关性检测方法,通过该方法可以在构件系统变化时,检测出系统中可能发生冲突的构件,从而缩小了系统构件的检测范围,减小了“组合状态爆炸”等问题的影响,也避免了一些不必要的假设。最后,本文提出了一种新的构件交互冲突检测方法,该方法利用了构件的相关性检测精简状态空间,并根据构件的交互方式进行了特征冲突检测;同时本文还利用了一个电子邮件客户端系统进行了相关实验和分析,对该方法的有效性进行了验证。