Unified Modeling Language (UML) Diagram Visualization with a Large Display in a 3D Space
J. Rico1, V. Interrante2, and B. Ries3
1 Undergraduate, Informatics Department, University of California, Irvine. E-mail: jrico@uci.edu; 2 Associate Professor, Department of Computer Science and Engineering, University of Minnesota, Twin Cities. E-mail: vinterran@cs.umn.edu; 3 Prospective Doctorate, Department of Computer Science and Engineering, University of Minnesota, Twin Cities. E-mail: bries0112@umn.edu
ABSTRACT: The benefits of using a large display for a reading task are without question. This project attempts to pair a large screen with a small virtual space that allows to user to interact with the screen based on position in the virtual space. Specifically, this project uses the large screen and the virtual space to allow the user to interact with UML diagrams. In this application, the user’s position in the virtual space determines which “level” of the diagram is displayed I. on the large screen. As the user walks II. towards the screen, the diagram becomes more low-level and as the user walks away from the screen it becomes more high-level. By pairing location of the user with the depth of the diagram, the project aims to bridge the gap between system design and implementation design by utilizing an incremental change between diagrams. Using this method, the project attempts to answer two questions. First, the application of the
large display to this software engineering task is explored. Second, a model for viewing the UML diagrams is developed which aims to solve problems within the software engineering domain. With these two ideas together, the implementation of this system is explored and some preliminary evaluations are carried out.
I. INTRODUCTION The use of a large display has recently become more widespread, not only in popular use but also within the research community. Not only has there been an increased interest in monitors of large size and resolution, but also more elaborate solutions. Displays such as a personal projected display which offer much greater screen area have emerged in daily use. Some more elaborate displays which offer a more involved user experience are now becoming more
applicable and available. This paper discusses the use of a semi-immersive display as applied to a software engineering task.
software which prepares the image for projection, and the tracking system. These pieces work together to create the final seamless display. VII. The VR Window’s shape is curved vertically and horizontally to provide a semi-immersive virtual environment with stereo capabilities. Horizontally, the screen shape curves away from the viewer presenting a slightly rounded shape around the viewer. Vertically, the screen was bowed towards the viewer, although this aspect of the shape was not easily perceivable by the viewer. The actual screen material is a continuous piece of projection screen where images are projected from behind the screen so that the projection aspect of the VR Window is transparent to the viewer. The VR Window produces images using three projectors which are carefully mapped to the screen to provide one seamless image to the viewer. In order to conserve space behind the screen, the projectors are placed directly above the VR Window and projected onto three large mirrors placed behind the screen. Using these mirrors, the projected image is able to fill the large screen area using a only a small amount of space behind the screen. The display projectors were run by three networked PCs. These computers worked together to achieve one seamless image on the display. The overlap of each image on the display was
III. II. THE VR WINDOW and UML Window IV. The project development and evaluation took place at the Virtual Reality (VR) Lab
at the University of Minnesota, Twin Cities. In the VR lab there were two pieces of technology; one immediately noticeable and one more subtle. Upon entering the VR lab, the largest and most notable item was the large display, called the VR Window. The VR Window was an eye-catcher in the room, and easily the most impressive item present. Less noticeable was the tracking system which spanned the entire ceiling of the room. This allowed users of the technology in VIII. the room to be tracked based on position. These items together comprised a large amount of the technology in the VR Lab.
V. The VR Window VI. The display used for the application spanned the entire side of the VR lab, roughly eight feet tall and thirty feet wide. There are four important aspects of the display which comprise the majority of the hardware and software that allow the display to function. The important aspects of this system are the screen shape, the projection system, the
quite significant. This allowed much more consistency in the display because there was never a risk of unused space on the screen and with calibration the images flowed smoothly over each other X. in overlapping areas. The problem that XI. came with this decision was that overlapped areas were “double-bright,” or appeared twice as bright due to projections coming from two projectors on the same area. This issue was handled in the program which provided the pre-divided images to the display. Before being given to the individual computers, the images were overlaid with a texture which faded to clear on the edge which overlapped with another image. Each overlapping area was given this texture in mirrored directions on edges which overlapped each other. This gave the images on the screen a smooth blend over areas which would have otherwise appeared double-bright. Using this method, the final image on theXII. screen was produced as one seamless image projected from three separate images. IX. Finally, the tracking system was in-place above nearly the entire area in front of the screen. This consisted of strips of infrared lights which could be detected using a special hat with the appropriate sensor on top. This hat is worn by the user in order to track their position in the space. All these elements together make
up the important aspects of the VR Window.
UML Window The UML Window was designed with two key goals in mind. The use of the large display represents the key motivation for the project. The uses of large displays to benefit software engineering tasks offers a wealth of possibilities. A UML reading task is just one of many. The secondary goal focuses on the software engineering side of UML Window and the “abstraction scale” method used to alternate the diagrams. The abstraction scale is described in detail in the next section. These goals together represent the core of the UML Window project. This application aimed to act as a tool for developers using UML to explore the diagrams and gain understanding in new ways. The use of the UML Window on the VR Window offers an interesting setting for research on a large display. Although the VR Window was physically large, the resolution of the display left something to be desired. At only 3420 by 1024 pixels, the VR Window does not offer the same kind of resolution as the “multiple flatpanel display walls” which can have resolutions of millions of pixels. Even given this resolution constraint, the benefit of the VR Window is still proven
the be substantial. In research carried about by D.S. Tan et. al. [8] the value of a large display is evaluated without taking advantage of the increased resolution present in many large display. Evaluations carried out on small and large displays contained equivalent amounts of visual content which were simply fit to the appropriate screen size. In this setting there is still an observed benefit from the large display. Thus, the lack of greatly increased resolution is not seen as a detriment to the goals of the UML Window. With this concern handled, the goal of creating a UML viewing XV. application for a large display is solidly met.
space as he or she walked in the space in front of the screen. Based on the user’s position in the room, the UML Diagram would update to show a new context of the diagram. The context in the diagram was based only on the user’s distance from the screen, meaning a user could move back and forth to view different contexts of the diagram or side to side to give attention to different sections of the currently displayed diagram. In this way, the user interacted with the diagrams by physically moving in the space in front of the diagram. To make movement of the user meaningful, the diagrams changed context in a very specific way. As the user walked towards the display, the diagram became incrementally less abstract. Likewise, as the user moved away from the display the diagram became incrementally more intact. This relationship between distance and level of abstraction creates the foundation of the abstraction-scale method.
XIII. To explore the second goal of the UML Window, we must address the way in which the application behaves and the software design principles used to develop the abstraction-scale method. The way the UML Window behaves is quite simple, although the motivation behind it warrants a separate discussion. We will first describe the behavior of the system, then discuss the abstractionXVI. The Abstraction-Scale Method scale method which inspired it.
XIV. For evaluation, sets of UML Diagrams XVII. The “context” chosen to be displayed was based on the software design concepts were developed for display on the VR of the multiple levels of abstraction Window. These consisted of simple image files, in this case JPG files, which where texture-mapped onto the screen. Once UML Window was launched, the user could be “tracked” in the virtual available for any given design. We can simply think of these as “system level” design and “implementation level” design. These concepts are represented
on a scale based on the level of abstraction or assumption used in a design, in this case UML diagrams. A system level design represents the most abstract version of a design, capturing the mere essence of the design problem. In contrast, an implementation design captures the entire solution of a problem, representing the most concrete version of
viewer with an understanding of each relationship in full and the effect which relationships possibly had on any particular item. Thus, UML Window attempts to bridge the gap between highlevel design and low-level design with this model of incremental change across the scale of abstraction.
a design. Using these principles, UML diagrams were generated for the UML XIX. III. CONCLUSION Window. XX. Upon completion, the system was running well with several available XVIII. The diagrams generated where done so diagrams. While this was enough for following a specific pattern based on the basic use and evaluation, several points abstraction-scale. The majority of the were identified where there was a diagram sets consisted of four diagrams weakness or chance for improvement of each. The first diagram was an the UML Window. architecture style diagram which represented the most abstract diagram in XXI. the set. The next diagram was a UML diagram consisting only of names and relationships between items. This is included to show basic information about interaction for the system displayed. The next diagram include names, relationships, and function signatures. The motivation in this diagram was to add meaning to relationships and allow XXII. the viewer to understand the kind of interaction happening in each relationship. The final diagram consisted of complete UML diagram with names, relationships, function signatures, and member data types. This final UML diagram was intended to provide the One of the major weaknesses of the UML Window was how tightly this application was coupled to the VR Window software. Because of this relationship, UML Window could not be used outside of the VR Window without significant work. This takes away from the portability, and ultimately usability, of the UML Window application. There were several points where improvement could be seen after evaluation of the UML was carried out. One major concern was how diagrams would be displayed using the UML Window with respect to file format. Currently, the UML Window works with sets of JPG files to display diagrams, but
these must be prepared specifically for the UML Window. In the future, a more accessible procedure for getting diagrams into the UML Window with as little required preparation as possible. Given the vast amount of file types available to hold this type of media, the optimum choice and methods would have to be discovered with further investigation. XXIII. Another concern involves a more complex addition to the UML Window. An enhanced method of navigation through the diagrams could possible extend the usability of the UML Window. This method of navigation would use the abstraction scale method in a different way, partition details with modules. The user could then look from high-level to low-level by walking towards a module element of the diagram. The UML Window would then show the chosen modules details. This method of navigation would require more complex tracking then currently used in the UML Window as well as more complex mapping from the diagram display to locations in the tracked space. The increased complexity these elements would add to the UML Window caused this functionality to be left out of the UML Window at this time, but this is one of the desired future changes.
[1] Ashdown, M. & Robinson, Peter. (2004). A Personal Projected Display. International Multimedia Conference: Proceedings of the 12th Annual ACM International Conference on Multimedia. 932-933.
[2] Baker, A. & van der Hoek, A. Framing Software Design with the Design Diamond, Technical Report UCI-ISR-0611, Institute for Software Research, University of California, Irvine, 2006.
[3] Bouguilla, L., Ishii, M., & Sato, M. (2002). Realizing a New Step-in-Place Locomotion for Virtual Environment with a Large Display System. ACM International Conference Proceeding Series: Proceedings of the Workshop on Virtual Environments. 197-207.
[4] Czerwinski, M. et al. (2006). Large Display Research Overview. Conference on Human Factors in Computing: CHI ‘06 Extended Abstracts on Human Factors in Computing. 69-74.
[5] Li, K. et al. (2000). Building and Using a Scalable Display Wall System. IEEE Computer Graphics and Applications. 20(4). 29-37.
IV. REFERENCES
[6] Robertson, G. et al. (2005). The Large Display User Experience. IEEE Computer Graphics and Applications. 25(4). 44-51.
[7] Swamination, K. & Sato, S. (1997). Interaction Design for Large Displays. Interactions. 4(1). 15-24.
[8] Tan, D. et al. (2006). Physically Large Displays Improve Performance on Spatial Tasks. ACM Transactions on Human Computer Interaction. 13(1). 71-99.