Extending the ATAM Architecture Evaluation to Product Line Architectures

Architecture-based development of software product lines requires well established methodologies for both development and assessment of software product line architectures. While several methodologies for the development of such systems have been proposed, their assessment has mostly relied on methods developed for single product architectures. In this paper, we extend the popular ATAM (Architecture Tradeoff Analysis Method) method to cover both the core architecture of the product line and the individual product architectures. In addition, the extended method prescribes a qualitative analytical treatment of variation points using scenarios. We present the main tenets of the new method and illustrate its use through a small case study.

[1]  Julie Johnson What is the Rational Unified Process ? , 1999 .

[2]  Alexander Sverdlov Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[3]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[4]  Kari Känsälä,et al.  Software Product Family Evaluation , 2003, SPLC.

[5]  Paul Clements,et al.  Using the Architecture Tradeoff Analysis MethodSM (ATAMSM) to Evaluate the Software Architecture for a Product Line of Avionics Systems: A Case Study , 2003 .

[6]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[7]  Liliana Dobrica,et al.  A strategy for analysing product line software architectures , 2000 .

[8]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[9]  James E. Tomayko,et al.  Integrating Software-Architecture-Centric Methods into the Rational Unified Process , 2004 .

[10]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[11]  Peter Knauber,et al.  PuLSE-DSSA—a method for the development of software reference architectures , 1998, ISAW '98.

[12]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[13]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[14]  Mary Beth Chrissis,et al.  CMMI: Guidelines for Process Integration and Product Improvement , 2003 .

[15]  Robert L. Nord,et al.  Proceedings of the Working IEEE/IFIP Conference on Software Architecture , 2006 .

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

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

[18]  Kari Känsälä,et al.  Software Product Family Evaluation , 2004, SPLC.

[19]  Eila Niemelä,et al.  Product line software engineering of embedded systems , 2001, SSR '01.

[20]  Mats Per Erik Heimdahl,et al.  Extending the product family approach to support n-dimensional and hierarchical product lines , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[21]  Eila Niemelä,et al.  Practical Evaluation of Software Product Family Architectures , 2004, SPLC.