Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA

Product line architectures (PLAs) have been under continuous attention in the software research community during the past few years. Although several methods have been established to create PLAs there are not available studies comparing PLA methods. Five methods are known to answer the needs of software product lines: COPA, FAST, FORM, KobrA and QADA. In this paper, an evaluation framework is introduced for comparing PLA design methods. The framework considers the methods from the points of view of method context, user, structure and validation. Comparison revealed distinguishable ideologies between the methods. Therefore, methods do not overlap even though they all are PLA design methods. All the methods have been validated on various domains. The most common domains are telecommunication infrastructure and information domains. Some of the methods apply software standards; at least OMG's MDA for method structures, UML for language and IEEE Std-1471-2000 for viewpoint definitions.

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

[2]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[3]  Kyo Chul Kang,et al.  Domain-oriented engineering of elevator control software , 2000, SPLC.

[4]  Ari Jaaksi,et al.  Tried & true object development: industry-proven approaches with UML , 1999 .

[5]  Eila Niemelä,et al.  ATTRIBUTE-BASED PRODUCT-LINE ARCHITECTURE DEVELOPMENT FOR EMBEDDED SYSTEMS , 2003 .

[6]  Patricia Lago,et al.  The WISE Approach to Architect Wireless Services , 2002, PROFES.

[7]  Dirk Muthig,et al.  The Library Systems Product Line: A Case Study Demonstrating the KobrA Method , 2004 .

[8]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[9]  David R. Barstow,et al.  Proceedings of the 25th International Conference on Software Engineering , 1978, ICSE.

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

[11]  Per Runeson,et al.  A Taxonomy of Orthogonal Properties of Software Architectures , 1999 .

[12]  Jan Gerben Wijnstra Critical Factors for a Successful Platform-Based Product Family Approach , 2002, SPLC.

[13]  Roberto Erick Lopez-Herrejon,et al.  A Standard Problem for Evaluating Product-Line Methodologies , 2001, GCSE.

[14]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[15]  Nimal Jayaratna,et al.  Understanding and Evaluating Methodologies: NIMSAD, a Systematic Framework , 1994 .

[16]  IEEE-SA Standards Board , 2000 .

[17]  Kyo Chul Kang,et al.  Feature‐oriented engineering of PBX software for adaptability and reuseability , 1999 .

[18]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[19]  Pierre America,et al.  Multi-view Variation Modeling for Scenario Analysis , 2003, PFE.

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

[21]  Pierre America,et al.  CoPAM: A component-oriented platform architecting method family for product family engineering , 2000, SPLC.

[22]  Eila Niemelä,et al.  Quality-driven architecture design and quality analysis method: A revolutionary initiation approach to a product line architecture , 2002 .

[23]  Jan Bosch,et al.  Widening the Scope of Software Product Lines - From Variation to Composition , 2002, SPLC.

[24]  Khaled El Emam,et al.  Fraunhofer Institute for Experimental Software Engineering , 1997, Softw. Process. Improv. Pract..

[25]  Klaus Kronlöf,et al.  Method integration: concepts and case studies , 1993 .

[26]  M. Mari,et al.  The impact of maintainability on component-based software systems , 2003, 2003 Proceedings 29th Euromicro Conference.

[27]  Kyo Chul Kang,et al.  Domain-oriented engineering of elevator control software: a product line practice , 2000 .

[28]  Gerrit Muller A Collection of Viewpoints , 2002 .

[29]  Colin Atkinson,et al.  Component-Based Software Engineering : The KobrA Approach , 2000 .

[30]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

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

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

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

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

[35]  Jarmo Kalaoja,et al.  Requirements for Service Architecture Modeling , 2002 .

[36]  M. Harsu A Survey of Product-Line Architectures , 2002 .

[37]  Eila Niemelä,et al.  Viewpoints of DSP software and service architectures , 2004, J. Syst. Softw..

[38]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[39]  Michel Coriat,et al.  The SPLIT method: building product lines for software-intensive systems , 2000 .

[40]  Eila Niemelä,et al.  The impact of maintainability on component-based software systems , 2003, 2003 Proceedings 29th Euromicro Conference.

[41]  Colin Atkinson,et al.  Component-based product line development: the KobrA Approach , 2000, SPLC.

[42]  A. Eberlein,et al.  Requirements Engineering for Software Product Lines , 2002 .

[43]  Michel Coriat,et al.  The SPLIT Method , 2000, SPLC.