Measuring Non-Functional Properties in Software Product Line for Product Derivation

A software product line (SPL) enables stakeholders to derive different software products for a domain while providing a high degree of reuse of their code units. Software products are derived in a configuration process by composing different code units. The configuration process becomes complex if SPLs contain hundreds of features. In many cases, a stakeholder is not only interested in functional but also in non-functional properties of a desired product. Because SPLs can be used in different application scenarios alternative implementations of already existing functionality are developed to meet special non-functional requirements, like restricted binary size and performance guarantees. To enable these complex configurations we discuss and present techniques to measure non-functional properties of software modules and use these values to compute SPL configurations optimized to the users needs.

[1]  Gary J. Chastek,et al.  Measures for Software Product Lines , 2003 .

[2]  Rolf Ernst,et al.  Methods for power optimization in distributed embedded systems with real-time requirements , 2006, CASES '06.

[3]  Steve McConnell,et al.  Code Complete, Second Edition , 2004 .

[4]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[5]  Goetz Botterweck,et al.  Towards Supporting Feature Configuration by Interactive Visualisation , 2007, SPLC.

[6]  Ilka Philippow,et al.  Details of formalized relations in feature models using OCL , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[7]  M. Mannion,et al.  Visualising Product Line Requirement Selection Decision Inter-dependencies , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[8]  Jason Flinn,et al.  Self-Tuning Wireless Network Power Management , 2003, MobiCom '03.

[9]  Stanley M. Sutton,et al.  Hyper/J™: multi-dimensional separation of concerns for Java™ , 2001, ICSE '02.

[10]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[11]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[12]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[13]  Mike Mannion,et al.  Visualizing Product Line Requirement Selection Decisions , 2007, SPLC.

[14]  Douglas C. Schmidt,et al.  Automating Product-Line Variant Selection for Mobile Devices , 2007, 11th International Software Product Line Conference (SPLC 2007).

[15]  Wolfgang Stolz,et al.  Introducing PLA at Bosch Gasoline Systems: Experiences and Practices , 2004, SPLC.

[16]  Douglas C. Schmidt,et al.  Distributed Continuous Quality Assurance: The Skoll Project , 2003 .

[17]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[18]  Ron Cytron,et al.  Footprint and feature management using aspect-oriented programming techniques , 2002, LCTES/SCOPES '02.

[19]  Sven Apel,et al.  Measuring and Characterizing Crosscutting in Aspect-Based Programs: Basic Metrics and Case Studies , 2007, FASE.

[20]  Felix Lösch,et al.  Optimization of Variability in Software Product Lines , 2007, 11th International Software Product Line Conference (SPLC 2007).

[21]  Patrick Martin,et al.  Managing database server performance to meet QoS requirements in electronic commerce systems , 2002, International Journal on Digital Libraries.

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

[23]  Charles W. Krueger,et al.  New methods in software product line practice , 2006, CACM.

[24]  Wolfgang Schröder-Preikschat,et al.  On the Configuration of Non-Functional Properties in Software Product Lines , 2007, SPLC.

[25]  Rong Ge,et al.  Green Supercomputing Comes of Age , 2008, IT Professional.

[26]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[27]  John Lane,et al.  IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries , 1991 .

[28]  K. Shin,et al.  Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach , 2002, IEEE Trans. Parallel Distributed Syst..

[29]  Charles W. Krueger,et al.  Incremental return on incremental investment: Engenio's transition to software product line practice , 2006, OOPSLA '06.

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

[31]  Luc Bouganim,et al.  Memory Requirements for Query Execution in Highly Constrained Devices , 2003, VLDB.

[32]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..