● 摘要
软件产品线作为系统化的软件复用方式可以提高软件的开发效率和质量,可变性建模与配置技术是实现软件产品线的关键技术。复杂集成软件系统往往由涉及不同专业的子系统组成,由于各可变点之间错综复杂的约束关系的存在,使得产品线可变性模型的协同建模尤其困难。同时可变性模型可能配置的产品数量与可变点数量呈指数级关系,没有配置辅助功能的支持,可变性模型的准确配置难度非常大。因此,研究复杂集成软件系统的产品线可变性建模与配置技术是非常必要的。
基于模型驱动的思想,开展可变性建模的辅助方法研究,研究协同场景下的可变性建模过程,以更好地实现多专业领域下的产品线需求建模;研究可变性模型的约束分类和建模,克服传统的可变性建模技术仅仅为了表示可变性,较少考虑可变性模型配置的问题。为了辅助配置过程,以便实现关键可变点度量,并且降低配置冲突,开展可变性模型配置影响分析,同时研究可变性模型配置优先级排序方法,可以降低配置的复杂度,更好地实现软件产品定制。论文的主要贡献包含两个方面:
在软件产品线可变性建模方面的创新性成果有:1) 提出一种半自动的软件产品线领域需求建模方法,利用基于标记和结构的相似度计算方法实现特征匹配。通过定义插入算子和组合算子实现基于约束的特征模型组合,实验验证该方法提高了产品线需求建模的效率和可扩展性;2) 提出一种关注点分离的产品线体系结构建模方法,通过UML扩展机制,在体系结构模型中对可变点和可变体建模,对可变点依赖关系独立建模,有利于可变性依赖关系的管理;3) 在对工业案例的可变性约束建模需求进行分析的基础上,提出一种面向交互式配置的可变性约束分类方法,工业案例的应用表明基于该分类可以降低可变性约束建模的难度。
在软件产品配置方面的创新性成果有:1) 提出一种基于模型切片的配置影响分析方法,在传统模型依赖的基础上,考虑可变性依赖,建立系统依赖图,实验表明模型切片方法可以显著地降低待配置模型的规模,而且基于该方法可以实现关键配置可变点的度量,为配置优化提供支撑;2) 提出一种基于搜索算法的配置优化方法,使得在保证满足可变性模型约束的情况下,支持最关键的可变点优先配置,并使得配置路径尽可能短,实验表明该方法可以提高软件产品配置的效率。