Full text
Three-Dimensional Feature Diagrams Visualization Pablo Trinidad, Antonio Ruiz–Cort´ es, David Benavides, Sergio Segura Dpto. Lenguajes y Sistemas Inform´ aticos University of Seville {ptrinidad,aruiz,benavides,sergiosegura}at us.es Abstract Visualizing and manipulating large feature diagrams is still an open issue for the SPL community. Few effort has been made on improving the techniques to get the most out of drawing space and current feature modeling tools either use file-system-like trees or 2D graphs that must be scrolled to locate features. The aim of this paper is presenting a new method to draw large feature models based on cone trees, a three-dimensional visualization technique to represent hierarchical information. In order to evaluate our proposal, we develop a prototype that generates standard 3D files so it can be easily integrated into existing tools. Finally, we present a roadmap for a future extension of our proposal with dynamic behaviour so large feature models handling might be improved. 1. Motivation As software product lines (SPL) have become a reality in software development and tools are appearing to deal with the different activities in SPL, the size of the systems impose a limitation of the amount of information that users are able to manage at the same time. Last edition of ViSPLE workshop [15] was held with the intention of finding solutions for complex SPL visualization. It remarks the community interest in finding solutions to problems such as the understanding of large SPL and variability representation. In the workshop conclusions report, it was emphasized the importance of visualization techniques when the user wants to look at a lot of informations at the same time and was recommended to find for solutions in the visualization theory and other applications of visualization techniques. That is the intention of this work, which is based on works in 3D visualization such as [5, 10] that propose using threedimensional rooms to visualize information. We focus on feature diagrams in all their possible forms [14] are affected by the increasing size of SPL. Most of existing tools either use browser-like viewers to represent feature diagrams or traditional graph layout algorithms to provide graphical interfaces for feature modeling. As an advance towards finding better techniques for SPL visualization, Nestor et al.[12] propose some visualization techniques to improve some common tasks in SPL engineering. This paper intends to propose an alternative to existing works by introducing three-dimensional representation techniques to the visualization techniques used to manipulate feature diagrams. Specifically, cone trees [6, 7, 13] are proposed as an alternative to represent large hierarchies in the three– dimensional space. Cone trees distribute the elements of tree-like structures in a virtual 3D room where roots of subtrees are placed in the apex of cones that link them to their child nodes which are placed around their cone bases. Some experiments have evaluated how they have improved some tasks when users work with large hierarchies, which is our premise to propose them to manipulate large feature models. In this paper our contribution is fourfold: i)we propose a roadmap to produce and evaluate the use of cone trees to represent feature diagrams in what we call feature cone trees (FCT); ii)We provide a detailed description of the process to obtain static FCT; iii)We propose using several techniques to incorporate dynamic behaviour into FCT to improve the user experience; iv)A prototype to produce static FCT is provided so a first evaluation of our proposal can be given. This paper is structured as follows: Section 2 briefly describes cone trees and comments the benefits of using them compared to traditional 2D layout algorithms; In Section 3, we propose a process to produce FCT from feature diagrams, remarking how the original proposals on cone trees are adapted to fit into feature diagrams structure; Some details about a prototype implementation of our proposal that integrates into our FAMA tool[4] are given in Section 4; In Section 5, we discuss about the applicability our proposal based on previous evaluations of cone trees in other contexts; Lastly, some conclusions and a roadmap for our future work in feature diagrams visualization are given in
parent node space an can be a better choice. 6. Conclusions and Future Work This is the first step (Fig. 1) towards a full integration of 3D interaction to feature modeling. Our intention is presenting an alternative in a field that we think that has not been sufficiently explored such as feature diagrams visualization. We want to highlight that our contribution brings several solutions that have succeeded in other research areas to the software product lines context. This paper cannot be understood without taking into account any further work. As a final goal, we want to evaluate the user interaction with FCT so we can compare current feature modeling tools visualization to our proposal. To achieve it, we will develop a tool that extends our prototype with a dynamic behaviour, as already approached in this paper. Techniques such as fish-eye view, different DOI formulae, colouring and rotations may increase the usability of FCT. However, they will not only improve its usability but also increase our tool functionality as we might incorporate cross-tree constraints to FCT. As they break the tree-like structure, some techniques should be developed to avoid constraint relationship lines crossing and passing node spheres. We are aware that our proposal is by no means exhaustive while no evaluation is provided. In this paper we have evaluated our proposal relying on previous case studies in other contexts. Whenever we finish our tool implementation, we want to evaluate our proposal by making a full user experience study similar to those commented in this paper. Acknowledgements This work has been partially supported by the European Commission (FEDER) and Spanish Government under CICYT project Web-Factories (TIN2006-00472) and by the Andalusian Government under project ISABEL (TIC2533). References [1] Web3d consortium. x3d specifications. http://www.web3d.org/x3d/specifications. [2] Computer Graphics: Principles and Practice, second edition. Addison-Wesley Professional, 1990. [3] D. Benavides, A. Ruiz-Cort´ es, and P. Trinidad. Automated reasoning on feature models. LNCS, Advanced Information Systems Engineering: 17th International Conference, CAiSE 2005, 3520:491–503, 2005. [4] D. Benavides, S. Segura, P. Trinidad, and A. Ruiz-Corts. FAMA: Tooling a framework for the automated analysis of feature models. In Proceeding of the First International Workshop on Variability Modelling of Software-intensive Systems (VAMOS), pages 129–134, 2007. [5] S. K. Card, G. G. Robertson, and J. D. Mackinlay. The information visualizer, an information workspace. In CHI ’91: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 181–186, New York, NY, USA, 1991. ACM Press. [6] J. Carriere and R. Kazman. Research report: Interacting with huge hierarchies: beyond cone trees. infovis, 1995. [7] A. Cockburn and B. Mckenzie. An evaluation of cone trees, 2000. [8] G. A. Korn and T. M. Korn. Mathematical Handbook for Scientists and Engineers. McGrawHill, New York, 1968. [9] J. D. Mackinlay, S. K. Card, and G. G. Robertson. Rapid controlled movement through a virtual 3d workspace. SIGGRAPH Comput. Graph., 24(4):171–176, August 1990. [10] J. D. Mackinlay, G. G. Robertson, and S. K. Card. The perspective wall: detail and context smoothly integrated. In CHI ’91: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 173–176, New York, NY, USA, 1991. ACM Press. [11] E. B. Messinger, L. A. Rowe, and R. R. Henry. A divideand-conquer algorithm for the automatic layout of large directed graphs. Systems, Man and Cybernetics, IEEE Transactions on, 21(1), 1991. [12] D. Nestor, L. O’Malley, P. Healy, A. Quigley, and S. Thiel. Visualisation techniques to support derivation tasks in software product line development. In CASCON ’07: Proceedings of the 2007 conference of the center for advanced studies on Collaborative research, pages 315–325, New York, NY, USA, 2007. ACM. [13] G. G. Robertson, J. D. Mackinlay, and S. K. Card. Cone trees: animated 3d visualizations of hierarchical information. In CHI ’91: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 189–194, New York, NY, USA, 1991. ACM. [14] P.-Y. Schobbens, P. Heymans, J.-C. Trigaux, and Y. Bontemps. Generic semantics of feature diagrams. Computer Networks, 51(2):456–479, February 2007. [15] S. Thiel, P. Healy, A. Quigley, D. Nestor, and L. O’Malley, editors. 1st International Workshop on Visualization in Software Product Line Engineering (ViSPLE 2007), 2007. [16] P. Trinidad, D. Benavides, A. Dur´ an, A. Ruiz-Cort´ es, and M. Toro. Automated error analysis for the agilization of feature modeling. Journal of Systems and Software, 81(6):883– 896, 2008.