Generative software product line development using variability-aware design patterns

被引:6
|
作者
Seidl, Christoph [1 ]
Schuster, Sven [1 ]
Schaefer, Ina [1 ]
机构
[1] Tech Univ Carolo Wilhelmina Braunschweig, Braunschweig, Germany
基金
欧盟地平线“2020”;
关键词
IMPLEMENTATION; !text type='JAVA']JAVA[!/text;
D O I
10.1016/j.cl.2016.08.006
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Product Lines (SPLs) are an approach to reuse in-the-large that models a set of closely related software systems in terms of commonalities and variabilities. Design patterns are best practices for addressing recurring design problems in object-oriented source code. In the practice of implementing SPL, instances of certain design patterns are employed to handle variability, which makes these "variability-aware design patterns" a best practice for SPL design. However, currently there is no dedicated method for proactively developing SPLs using design patterns suitable for realizing variable functionality. In this paper, we present a method to perform generative SPL development with design patterns. We use role models to capture design patterns and their relation to a variability model. We further allow mapping of individual design pattern roles to (parts of) implementation elements to be generated (e.g., classes, methods) and check the conformance of the realization with the specification of the pattern. We provide definitions for the variability-aware versions of the design patterns Observer, Strategy, Template Method and Composite. Furthermore, we support generation of realization's in Java, C++ and UML class diagrams utilizing annotative, compositional and transformational variability realization mechanisms. Hence, we support proactive development of SPLs using design patterns to apply best practices for the realization of variability. We realize our concepts within the Eclipse IDE and demonstrate them within a case study. (C) 2016 Elsevier Ltd. All rights reserved.
引用
收藏
页码:89 / 111
页数:23
相关论文
共 50 条
  • [41] Variability-Aware Circuit Design: Monte Carlo Simulation Versus Noise Analysis
    Kloes, Alexander
    Dersch, Nadine
    Nikolaou, Aristeidis
    [J]. 2024 IEEE LATIN AMERICAN ELECTRON DEVICES CONFERENCE, LAEDC, 2024,
  • [42] A Feasibility Study on Ferroelectric Shadow SRAMs Based on Variability-Aware Design Optimization
    Takeuchi, Kiyoshi
    Kobayashi, Masaharu
    Hiramoto, Toshiro
    [J]. IEEE JOURNAL OF THE ELECTRON DEVICES SOCIETY, 2019, 7 (01) : 1284 - 1292
  • [43] Variability-aware Design Method for a Constant Inversion Level Bias Current Generator
    Antunez-Calistro, G.
    Siniscalchi, M.
    Silveira, F.
    Rossi-Aicardi, C.
    [J]. 2018 IEEE 9TH LATIN AMERICAN SYMPOSIUM ON CIRCUITS & SYSTEMS (LASCAS), 2018, : 186 - 189
  • [44] Managing product line variability by patterns
    Meister, J
    Reussner, R
    Rohde, M
    [J]. OBJECT-ORIENTED AND INTERNET-BASED TECHNOLOGIES, PROCEEDINGS, 2004, 3263 : 153 - 168
  • [45] Variability-Aware Design Method for a Constant Inversion Level Bias Current Generator
    Antunez-Calistro, Guillermo
    Siniscalchi, Mariana
    Silveira, Fernando
    Rossi-Aicardi, Conrado
    [J]. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I-REGULAR PAPERS, 2019, 66 (06) : 2027 - 2036
  • [46] Variability-Aware Safety Analysis using Delta Component Fault Diagrams
    Seidl, Christoph
    Schaefer, Ina
    Assmann, Uwe
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE CO-LOCATED WORKSHOPS (SPLC'13 WORKSHOPS), 2013, : 2 - 9
  • [47] Memristive Logic in Crossbar Memory Arrays: Variability-Aware Design for Higher Reliability
    Escudero, Manuel
    Vourkas, Ioannis
    Rubio, Antonio
    Moll, Francesc
    [J]. IEEE TRANSACTIONS ON NANOTECHNOLOGY, 2019, 18 : 635 - 646
  • [48] Design of CNFET based power- and variability-aware nonvolatile RRAM cell
    Pal, Soumitra
    Gupta, Vivek
    Islam, Aminul
    [J]. MICROELECTRONICS JOURNAL, 2019, 86 : 7 - 14
  • [49] Managing variability for software product-line
    Kim, Young-Gab
    Kim, Jin-Woo
    Shin, Sung-Ook
    Baik, Doo-Kwon
    [J]. FOURTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS, PROCEEDINGS, 2006, : 74 - +
  • [50] Variability management in software product line engineering
    Metzger, Andreas
    Pohl, Klaus
    [J]. 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 186 - +