Thursday, November 26, 2009

Visualization in Software Product Lines

Software product lines (SPL) have become a reality in software development. Tools are appearing to deal with the different activities in SPL. One fundamental problem in software product line engineering is related to the fact that a product line of industrial size can easily incorporate thousands of variation points, and therefore, imposing a limitation of the amount of information that users are able to manage at the same time.

Visualization has proven useful to deal with large data sets and amplify cognition in many ways, for example, by increasing the “memory” and “amount of processing” available to users, by supporting the search for information, and by encoding information in a manipulable medium [1]. Then, in 2007, Nestor et al. [2] proposes some visualization techniques to improve some common tasks in SPL engineering.

Since, several works have been developed using visualization techniques, in different tasks of software product line engineering, for example: feature modeling, variability management, product derivation, design and implementation. How variability management and product derivation are essentials in SPL, the effort spent on these activities has been greater.

So, some questions remain interesting for discussion:
  • Which others tasks could be benefited by visualization techniques?
Other tasks should be investigated in order to find advantages in using visualization
  • Would be interesting create (implement) a visual framework to support all tasks of SPL projects?
To get more benefits and to avoid inconsistencies between the artifacts, tools should be integrated

[1] S. K. Card, J. D. Mackinlay, and B. Shneiderman, Readings in Information Visualization: Using Vision to Think. Morgan Kaufmann Publishers, 1999.
[2] Daren Nestor, Luke O'Malley, Aaron J. Quigley, Ernst Sikora, Steffen Thiel: Visualisation of Variability in Software Product Line Engineering. First International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS 2007)