计算机科学与探索 ›› 2008, Vol. 2 ›› Issue (3): 274-295.

• 学术研究 • 上一篇    下一篇

基于适应性构件模型的软件产品线设计和实现

杨益明,彭 鑫+,赵文耘   

  1. 复旦大学 计算机科学与工程系,上海 200433
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2008-06-20 发布日期:2008-06-20
  • 通讯作者: 彭鑫

Feature-oriented software product line design and implementation based on adaptive component model

YANG Yiming, PENG Xin+, ZHAO Wenyun   

  1. Department of Computer Science and Engineering, Fudan University, Shanghai 200433, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2008-06-20 Published:2008-06-20
  • Contact: Peng Xin

摘要: 在当前面向特征的软件产品线开发方法中, 需求级的可变性分析、可变点表示以及面向应用的定制已经得到了较好的支持。但是, 从需求级的定制和裁剪(特征模型)到实现级(体系结构和构件)的映射仍然存在许多困难。针对这一问题, 文章提出了一种基于适应性构件模型的软件产品线开发方法。这种适应性构件模型引入基于特征的领域模型作为构件端口(包括内部端口和外部端口)的语义基础。另一方面, 适应性构件模型所具有的微体系结构使得面向特定应用的构件行为定制成为可能。为了实现构件级面向特征的定制, 构件内部负责内部和外部协作的控制中心与构件的计算逻辑被分离开来, 执行经定制后的构件行为协议和端口语义。构件协作和计算功能的分离使针对构件行为的面向应用的定制更加便利。这样, 产品线应用开发中需求级的特征定制就可以映射为体系结构和构件级的结构和行为调整。

关键词: 软件产品线, 特征, 适应性构件, 构件模型, 定制, 产品线实现

Abstract: In current feature-oriented methods for Software Product Line (SPL) development, requirement-
level variability analysis, representation and application-oriented customization have been well understood and supported. However, it is still difficult to map customization and tailoring on requirement level (feature model) to implementation level (architecture and components). In this paper, a SPL development method based on the feature-oriented adaptive component model proposed in authors’ previous work is proposed. The adaptive component model introduces feature-based domain model as the semantic basis of component ports (including internal and external ports). On the other hand, the adaptive component model has a micro control structure within the component, which enables the adaptation of the component behavior, including inter-component interactions, interaction sequence and style. In order to implement the feature-oriented customization on the component level, an in-component control center is separated to enforce the customized behavioral protocol and port semantics for each component according to the mapping specification. This separation of component coordination and computation facilitates the application-oriented customization on component behaviors. Then, in application development, requirement-level feature customization can be mapped to architecture- and component-level adaptations on architectural structure and component behaviors.

Key words: software product line, feature, adaptive component, component model, customization, product line implementation