A model for tracing variability from features to product-line architectures: a case study in smart grids

In current software systems with highly volatile requirements, traceability plays a key role to maintain the consistency between requirements and code. Traceability between artifacts involved in the development of software product line (SPL) is still more critical because it is necessary to guarantee that the selection of variants that realize the different SPL products meet the requirements. Current SPL traceability mechanisms trace from variability in features to variations in the configuration of product-line architecture (PLA) in terms of adding and removing components. However, it is not always possible to materialize the variable features of a SPL through adding or removing components, since sometimes they are materialized inside components, i.e., in part of their functionality: a class, a service, and/or an interface. Additionally, variations that happen inside components may crosscut several components of architecture. These kinds of variations are still challenging and their traceability is not currently well supported. Therefore, it is not possible to guarantee that those SPL products with these kinds of variations meet the requirements. This paper presents a solution for tracing variability from features to PLA by taking these kinds of variations into account. This solution is based on models and traceability between models in order to automate SPL configuration by selecting the variants and realizing the product application. The FPLA modeling framework supports this solution which has been deployed in a software factory. Validation has consisted in putting the solution into practice to develop a product line of power metering management applications for smart grids.

[1]  Jennifer Pérez,et al.  Flexible Working Architectures: Agile Architecting Using PPCs , 2010, ECSA.

[2]  André van der Hoek,et al.  Representing Product Family Architectures in an Extensible Architecture Description Language , 2001, PFE.

[3]  Jon Oldevik,et al.  Scenarios of Traceability in Model to Text Transformations , 2007, ECMDA-FA.

[4]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[5]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[6]  Rick Kazman,et al.  Realizing and Refining Architectural Tactics: Availability , 2009 .

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

[8]  Lidia Fuentes,et al.  Language Support for Managing Variability in Architectural Models , 2008, SC@ETAPS.

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

[10]  Susan Carlson Skalak House of Quality , 2002 .

[11]  Massimiliano Di Penta,et al.  Sixth international workshop on traceability in emerging forms of software engineering: (TEFSE 2011) , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[12]  Hannes Schwarz,et al.  Model-Driven Software Development , 2013 .

[13]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[14]  Keunhyuk Yeom,et al.  A Metamodeling Approach to Tracing Variability between Requirements and Architecture in Software Product Lines , 2007, 7th IEEE International Conference on Computer and Information Technology (CIT 2007).

[15]  Jennifer Pérez,et al.  Change-Impact Driven Agile Architecting , 2013, 2013 46th Hawaii International Conference on System Sciences.

[16]  Tony Gorschek,et al.  A systematic review of domain analysis solutions for product lines , 2009, J. Syst. Softw..

[17]  Sungwon Kang,et al.  Identifying Traceability between Feature Model and Software Architecture in Software Product Line using Formal Concept Analysis , 2007, 2007 International Conference on Computational Science and its Applications (ICCSA 2007).

[18]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[19]  Klaus Pohl,et al.  Integrating Requirement and Architecture Information: A Scenario and Meta-Model Based Approach , 2001 .

[20]  Samuel Ajila,et al.  Using traceability mechanisms to support software product line evolution , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[21]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[22]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[23]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[24]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[25]  KuleszaUirá,et al.  A model-driven traceability framework for software product lines , 2010 .

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

[27]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[28]  Giuliano Antoniol,et al.  5th international workshop on Traceability in Emerging Forms of Software Engineering (TEFSE 2009) , 2009, ICSE Companion.

[29]  Paris Avgeriou,et al.  Variability in quality attributes of service-based software systems: A systematic literature review , 2013, Inf. Softw. Technol..

[30]  R. Paige,et al.  On-Demand Merging of Traceability Links with Models , 2006 .

[31]  J. Whitney Case Study Research , 1999 .

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

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

[34]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[35]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

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

[37]  B.F. Wollenberg,et al.  Toward a smart grid: power delivery for the 21st century , 2005, IEEE Power and Energy Magazine.

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

[39]  R. Stake The art of case study research , 1995 .

[40]  Steffen Staab,et al.  Model Driven Engineering with Ontology Technologies , 2010, Reasoning Web.

[41]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[42]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

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

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

[45]  Patricio Letelier A Framework for Requirements Traceability in UML-based Projects , 2002 .

[46]  Giuliano Antoniol,et al.  The Grand Challenge of Traceability (v1.0) , 2012, Software and Systems Traceability.

[47]  Juliane Freud Software Reuse Architecture Process And Organization For Business Success , 2016 .

[48]  Kathrin Berg,et al.  Tracing software product line variability: from problem to solution space , 2005 .

[49]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[50]  Juan Garbajosa,et al.  A Proposal for Defining a Set of Basic Items for Project-Specific Traceability Methodologies , 2008, 2008 32nd Annual IEEE Software Engineering Workshop.

[51]  Keun Ho Ryu,et al.  Prediction of Frequent Items to One Dimensional Stream Data , 2007 .

[52]  Uwe Aßmann,et al.  Reasoning Web. Semantic Technologies for Software Engineering, 6th International Summer School 2010, Dresden, Germany, August 30 - September 3, 2010. Tutorial Lectures , 2010, Reasoning Web.

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

[54]  Thaís Vasconcelos Batista,et al.  PL-AspectualACME: An Aspect-Oriented Architectural Description Language for Software Product Lines , 2011, ECSA.

[55]  .. V. Heescha,et al.  The Journal of Systems and Software , 2022 .

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

[57]  Dennis Heimbigner,et al.  Capturing Architectural Configurability: Variants, Options, and Evolution , 1999 .

[58]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[59]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.