Modeling Product-Line Architectural Knowledge

The documentation of architectural knowledge helps to understand and prevent the violation of previous decisions. Documenting the architectural knowledge of product lines is more complex than in the case of single-product architectures because it requires considering the existing variability in a product family. This implies having the capability to describe design decisions and relationships related to variability. This paper presents the concept of Product-Line Architectural Knowledge (PLAK): the knowledge of product line architecture and its variability. This concept has been realized through a solution based on models and traceability between models called the PLAK Model.

[1]  Dharini Balasubramaniam,et al.  Controlling software architecture erosion: A survey , 2012, J. Syst. Softw..

[2]  Goetz Botterweck,et al.  Software diversity: state of the art and perspectives , 2012, International Journal on Software Tools for Technology Transfer.

[3]  Muhammad Ali Babar,et al.  A comparative study of architecture knowledge management tools , 2010, J. Syst. Softw..

[4]  Philippe Kruchten,et al.  Value-Based Design Decision Rationale Documentation: Principles and Empirical Feasibility Study , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[5]  Muhammad Ali Babar,et al.  On the Role of Architectural Design Decisions in Software Product Line Engineering , 2008, ECSA.

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

[7]  Felix Bachmann,et al.  A Meta-model for Representing Variability in Product Family Development , 2003, PFE.

[8]  M. Cecilia Bastarrica,et al.  Feature model to product architectures: Applying MDE to Software Product Lines , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[10]  Jennifer Pérez,et al.  Self-Balancing Distributed Energy in Power Grids: An Architecture Based on Autonomic Computing , 2014, 2014 47th Hawaii International Conference on System Sciences.

[11]  Dong Li,et al.  Initiating and Institutionalizing Software Product Line Engineering: From Bottom-Up Approach to Top-Down Practice , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[12]  Jan Bosch,et al.  Software Variability and Design Decisions , 2013, Systems and Software Variability Management.

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

[14]  Hans van Vliet,et al.  Software Architecture Knowledge Management , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[15]  Klaus Schmid,et al.  On the interdependence and integration of variability and architectural decisions , 2014, VaMoS.

[16]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[17]  이준상,et al.  미래 소프트웨어 개발기술 : Aspect - Oriented Programming과 Subject - Oriented Programming , 2003 .

[18]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[19]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[20]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[21]  Kannan Mohan,et al.  Change management patterns in software product lines , 2006, CACM.

[22]  Jennifer Pérez,et al.  Plastic Partial Components: A solution to support variability in architectural components , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[23]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[24]  Jennifer Pérez,et al.  A model for tracing variability from features to product-line architectures: a case study in smart grids , 2014, Requirements Engineering.