计算机科学与探索 ›› 2014, Vol. 8 ›› Issue (7): 823-835.DOI: 10.3778/j.issn.1673-9418.1311023

• 系统软件与软件工程 • 上一篇    下一篇

面向软件密集型系统的体系结构可变性建模

聂坤明+,张  莉   

  1. 北京航空航天大学 软件工程研究所,北京 100191
  • 出版日期:2014-07-01 发布日期:2014-07-02

Software Architecture Variability Modeling Method for Software Intensive System

NIE Kunming+, ZHANG Li   

  1. Software Engineering Institute, Beihang University, Beijing 100191, China
  • Online:2014-07-01 Published:2014-07-02

摘要: 软件体系结构提供了软件系统的高层抽象,对于软件密集型系统的开发具有重要意义,基于体系结构层次的可变性管理可以有效地实现软件的定制和演化。目前体系结构层次的可变性建模并没有得到足够的关注,在分析出领域体系结构后,无法很好地实现体系结构的建模,而且体系结构层次可变性建模方法并没有很好地对可变性的复杂依赖关系进行建模。提出了一种基于多视图的体系结构可变性建模方法,基于UML Profile扩展机制,定义了可变性的构造型、标记值和相关的约束,并利用基于分离的可变性建模方法,定义可变点交互视图对系统中存在的依赖进行建模。基于可变性视图和依赖视图分离的可变性建模方法,实现了复杂依赖关系的有效管理,提高了可变性建模的效果。以船舶故障预测与健康管理系统作为研究案例,对该方法进行了验证,结果表明该方法能够有效地实现软件密集型系统的建模。

关键词: 软件产品线, 软件体系结构, 可变性建模, UML Profile

Abstract: Software architecture is a high-level abstraction of software systems. Software architecture is very important for the development of software intensive systems, and software product can be effectively configured and evolved based on the variability management at the software architecture level. Currently, the variability modeling at the architecture level has not gained enough attention, and it will be hard to represent the variability after the domain architecture has been analyzed. In addition, complex variability dependency/constraints are not well modeled at the architecture level. This paper proposes a multiple view variability modeling method at the architecture level, and defines the stereotypes, tagged values and relevant constraints based on the UML Profiles. This paper also uses the variability modeling method and defines the variability point interaction view to model the constraints of the system. In order to manage the complex constraints effectively, the variability view and constraints view are separated, and the effect of the variability modeling is improved. Finally, this paper uses the ship prognostics and health management system as the cases to verify the effect of the proposed method, and the results show that the method can model the software intensive system effectively.

Key words: software product line, software architecture, variability modeling, UML Profile