Exploring the use of reference architectures in the development of product line artifacts

Software Product Line (SPL) has arisen as an approach for developing a family of software-intensive systems at lower costs, within shorter time, and with higher quality. In particular, SPL is supported by a product line architecture (sometimes also referred to as reference architecture) that captures the architectures of a product family. In another context, a special type of architecture that contains knowledge about a specific domain has been increasingly investigated, resulting in the Reference Architecture research area. In spite of the positive impact of this type of architecture on reuse and productivity, the use of existing domain-specific reference architectures as basis of SPL has not been widely explored. The main contribution of this paper is to present how and when elements contained in existing reference architectures could contribute to the building of SPL artifacts during development of an SPL. We have observed that, in fact, reference architectures could make an important contribution to improving reuse and productivity, which are also important concerns in SPL.

[1]  Larry Sieh,et al.  The impact of software architecture reuse on development processes and standards , 2000, J. Syst. Softw..

[2]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[3]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[4]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[5]  Fabiano Cutigi Ferrari,et al.  An aspect-oriented reference architecture for Software Engineering Environments , 2011, J. Syst. Softw..

[6]  Elisa Yumi Nakagawa,et al.  Reference Architecture and Product Line Architecture: A Subtle But Critical Difference , 2011, ECSA.

[7]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).

[8]  Zhang You-Sheng,et al.  Architecture-based SW process model , 2003, SOEN.

[9]  Brian P. Gallagher,et al.  Using the Architecture Tradeoff Analysis Method SM to Evaluate a Reference Architecture: A Case Study , 2000 .

[10]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[11]  J. Granholm,et al.  Experience of Introducing Reference Architectures in the Development of Automotive Electronic Systems , 2005 .

[12]  William B. Frakes,et al.  Software Reuse Metrics and Models: A Survey , 1994 .

[13]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[14]  William B. Frakes,et al.  Software reuse: metrics and models , 1996, CSUR.

[15]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

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

[17]  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 .

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

[19]  Lynda L. McGhie,et al.  World Wide Web , 2011, Encyclopedia of Information Assurance.

[20]  Mari Matinlassi,et al.  Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA , 2004, Proceedings. 26th International Conference on Software Engineering.

[21]  Jens Knodel,et al.  A practical guide to product line scoping , 2006, 10th International Software Product Line Conference (SPLC'06).

[22]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

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

[24]  Dong Li A Robust-Reference-Architecture-Centric Approach for High Availability SPLE in Security Inspection Domain , 2010, SPLC Workshops.

[25]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.