Systematic Integration of Variability into Product Line Architecture Design

Product lines consider related products, their commonalities and their differences. The differences between the single products are also referred to as variability. Consequently, variability is inherent in every product line and makes a key difference as compared to single systems. While, on the requirements level, the methods for analyzing product line variability are understood today, their transition to architecture remains vague. Bringing variability to architecture as an "add-on" is just a provisional solution and forebodes the risk of violating other intentions. This paper presents a systematic approach to integrate variability with product line architecture design. In particular, it promotes variability as an architectural driver, embeds variability requirements in the architecture design framework "Quality-Driven Software Architecting" (QUASAR), and gives guidelines and examples for documenting variability in architectural views.

[1]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[4]  Frank Puppe,et al.  XPS-99: Knowledge-Based Systems. Survey and Future Directions , 1999, Lecture Notes in Computer Science.

[5]  Steffen Thiel,et al.  Starting a product line approach for an envisioned market , 2000, SPLC.

[6]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[7]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[8]  Mike Mannion,et al.  Using Patterns to Model Variability in Product Families , 1999, IEEE Softw..

[9]  Felix Bachmann,et al.  The Architecture Based Design Method , 2000 .

[10]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[11]  Andreas Hein,et al.  Applying feature models in industrial settings , 2000, SPLC.

[12]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[13]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[14]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[15]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[16]  Martin Becker,et al.  Mapping requirements to reusable components using Design Spaces , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[17]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[18]  Andreas Hein,et al.  Configuring Software Product Line Features , 2001, FICS.

[19]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[20]  Martin L. Griss Implementing Product-line features by composing aspects , 2000, SPLC.

[21]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[22]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[23]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[24]  Patrick Donohoe,et al.  Product Line Analysis: A Practical Introduction , 2001 .

[25]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[26]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[27]  John M. Favaro,et al.  FODAcom: an experience with domain analysis in the Italian telecom industry , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[28]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[29]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[30]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[31]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[32]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[33]  Andreas Günter,et al.  Knowledge-Based Configuration: Survey and Future Directions , 1999, XPS.

[34]  Andreas Hein,et al.  A Case Study in Applying a Product Line Approach for Car Periphery Supervision Systems , 2001 .

[35]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[36]  Steffen Thiel On the Definition of a Framework for an Architecting Process Supporting Product Family Development , 2001, PFE.

[37]  Patrick Donohoe Software Product Lines; Experiences and Research Directions, Proceedings of the First International Conference, SPLC 1, Denver, Colorado, USA, August 28-31, 2000, Proceedings , 2000, SPLC.

[38]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[39]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .