论文部分内容阅读
当前,基于构件的软件开发方法已经受到越来越多的重视。大多数构件经过了严格的质量认证,单独运行时功能十分明确,但当来自于不同开发者、不同开发时间的构件组装在一起时,就会发生很多问题,这些问题被称为“特征干扰”,而其中那些影响系统正常运行或降低系统运行效率的特征干扰被称为“特征干扰问题”,这些问题是必须被检测出来并予以解决的。 由于构件可能具有不同的抽象层次和粒度,我们采用了时序逻辑语言XYZ/E作为构件描述语言,这种语言能够描述构件的静态语义和动态执行,并且能在不同抽象层次上对系统进行形式化描述。在本文,我们主要针对设计阶段的构件进行描述,并给出其组装中特征干扰问题的检测方法。但是,这种方法还可以应用于其它阶段和其它抽象层次的构件。 构件间的特征干扰不仅与构件功能有关,还与构件间的组装方式相关,所以我们提出了一种基于组装方式的特征干扰问题检测方法。这种检测方法分为两个层次:状态控制层次,即检测构件以某种方式组装时状态之间是否存在不匹配的问题;结构层次,对多个构件组装后的行为进行检测。 在特征干扰问题的检测中还需要考虑相关问题:状态、事件的相关性问题和状态可达性问题。相关性问题是为了找出必须共存、可能共存和矛盾的状态、事件,便于状态控制层次的检测。可达性问题是为了验证我们找出的发生特征干扰问题的状态是否能由系统的初始状态通过变迁得到,即特征干扰问题是否一定发生。 文章给出了使用这种方法检测IP过滤系统和Email系统中特征干扰问题的实例,并在附录中以升降机系统为例,说明了使用这种方法检测需求阶段的特征干扰问题的过程。