Detecting and Describing Variability-Aware Design Patterns in Feature-Oriented Software Product Lines

被引:1
作者
Schuster, Sven [1 ]
Seidl, Christoph [1 ]
Schaefer, Ina [1 ]
机构
[1] TU Braunschweig, Braunschweig, Germany
来源
PROCEEDINGS OF THE 6TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT | 2018年
关键词
Software Product Line; Feature-Oriented Programming; Design Pattern; Family Role Model; IMPLEMENTATION;
D O I
10.5220/0006749307310742
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Product Lines (SPLs) enable customization by reusing commonalities and variabilities within a family of similar software systems. Design patterns are best practices of established solutions in object-oriented source code for recurring design challenges. Although certain design patterns realize variability, they are only defined in the context of stand-alone systems and not for SPLs. Employing design patterns to realize variability allows using best practices in design for SPL development. However, the exact usage of design patterns within SPLs has not been explored, and a formal notation to capture their usage within different features does not exist. In this work, we provide a model-based analysis method to determine the variability-aware usage of design patterns in source code within the context of Feature-Oriented Programming (FOP). Moreover, we introduce Family Role Models (FRMs) as an extension to role modeling, which offer a language-independent, unified, formal notation for decomposed design patterns. We apply the analysis method in a case study on the variability-aware usage of design patterns in feature-oriented SPLs and derive FRMs from the results.
引用
收藏
页码:731 / 742
页数:12
相关论文
共 35 条
  • [1] Alves V., 2006, Proceedings of the 5th international conference on Generative Programming and Component Engineering, P201, DOI DOI 10.1145/1173706
  • [2] [Anonymous], 2016, Feature-Oriented Software Product Lines
  • [3] [Anonymous], 2000, Generative Programming: Methods, Tools, and Applications
  • [4] Apel S, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P421, DOI 10.1145/1985793.1985851
  • [5] An Overview of Feature-Oriented Software Development
    Apel, Sven
    Kaestner, Christian
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2009, 8 (05): : 49 - 84
  • [6] FEATUREHOUSE: Language-Independent, Automated Software Composition
    Apel, Sven
    Kaestner, Christian
    Lengauer, Christian
    [J]. 2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 221 - +
  • [7] Scaling step-wise refinement
    Batory, D
    Sarvela, JN
    Rauschmayer, A
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (06) : 355 - 371
  • [8] Beck DJS, 1996, INEC SER, P103, DOI 10.1109/ICSE.1996.493406
  • [9] Clements P., 2001, SOFTWARE PRODUCT LIN
  • [10] Cohen S., 1990, Tech. Rep. CMU/SEI-90-TR-021