Visual Tool Support for Configuring and Understanding Software Product Lines

Software product lines of industrial size can easily incorporate thousands of variation points. This scale of variability can become extremely complex to manage resulting in a product development process that bears significant costs. One technique that can be applied beneficially in this context is visualisation. Visualisation is widely used in software engineering and has proven useful to amplify human cognition in data intensive applications. Adopting this technique in software product line engineering can help stakeholders in supporting essential work tasks and in enhancing their understanding of large and complex product lines. This paper introduces a meta-model and accompanied research tool that employs visualisation techniques to support fundamental product line development tasks. The meta-model specifies major entities such as decisions, features, and components and relationships among them. We discuss which tasks can be supported based on the meta-model and show examples of how these tasks can be further enhanced by utilising interactive visualisation techniques implemented in our tool.

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

[2]  Edward M. Reingold,et al.  Tidier Drawings of Trees , 1981, IEEE Transactions on Software Engineering.

[3]  Danilo Beuche Demonstration : Variant and Variability Management with pure : : variants , 2004 .

[4]  Antonio Ruiz Cortés,et al.  Mapping Feature Models onto Component Models to Build Dynamic Software Product Lines , 2007, SPLC.

[5]  Mikolás Janota,et al.  Formal Approach to Integrating Feature and Architecture Models , 2008, FASE.

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

[7]  Silvio Romero de Lemos Meira,et al.  ToolDAy - A Process-Centered Domain Analysis Tool , 2007 .

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

[9]  Ben Shneiderman,et al.  Tree-maps: a space-filling approach to the visualization of hierarchical information structures , 1991, Proceeding Visualization '91.

[10]  Ilka Philippow,et al.  Feature-Oriented Development of Software Product Lines: Mapping Feature Models to the Architecture , 2004, Net.ObjectDays.

[11]  Tomi Männistö,et al.  Kumbang: A domain ontology for modelling variability in software product families , 2007, Adv. Eng. Informatics.

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

[13]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

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

[15]  Stuart K. Card,et al.  Degree-of-interest trees: a component of an attention-reactive user interface , 2002, AVI '02.

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

[17]  Marco Sinnema,et al.  COVAMOF: A Framework for Modeling Variability in Software Product Families , 2004, SPLC.

[18]  D. L. Moody Dealing with "Map Shock": A Systematic Approach to Managing Complexity in Requirements Analysis , 2006 .

[19]  Mary Czerwinski,et al.  Polyarchy visualization: visualizing multiple intersecting hierarchies , 2002, CHI.

[20]  Marco Sinnema,et al.  Tool Support for COVAMOF , 2004 .

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

[22]  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).

[23]  Marco Sinnema,et al.  Configuration in industrial product families - the ConIPF methodology , 2006 .

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

[25]  Liam O'Brien,et al.  Model-driven derivation of product architectures , 2007, ASE.

[26]  Daniel Hoffman,et al.  Software product lines: a case study , 2000 .

[27]  Colin Ware,et al.  Information Visualization: Perception for Design , 2000 .

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

[29]  Paul Grünbacher,et al.  Tool Support for Product Derivation in Large-Scale Product Lines: A Wizard-based Approach , 2007, SPLC.

[30]  Jock D. Mackinlay,et al.  Automating the design of graphical presentations of relational information , 1986, TOGS.