Complexity management in graphical models

Graphical or visual representations play a central role in the software life cycle as a means to make the immaterial software more tangible and accessible. While such drawings or diagrams facilitate a “computational offloading” when reasoning about a system, the complexity of today’s software systems makes them often extremely big and cluttered. One way to cope with this size and complexity is to use hierarchical and aspectual decompositions to split the models into manageable and understandable parts. Such a decompositionmechanism is the basic idea behind the ADORA approach: It uses an integrated, inherently hierarchical model together with a tool that generates abstractions in the form of diagrams of manageable complexity. The underlying complexity management mechanism combines two concepts: (i) a fisheye zoom visualization which shows local detail and its surrounding global context in one single view and (ii) a dynamic generation of different views by filtering specific model elements. The work at hand covers the technical foundations of this complexity management mechanism. While the simplicity of the basic concept contributes largely to its appeal, the actual realization in a computer-based tool has to cope with a lot of conceptual and technical problems and trade-offs. Besides the presentation and discussion of the actual data structures and algorithms, the detailed requirements they have to fulfill are covered as well. An improved fisheye zoom algorithm that employs the concept of interval scaling and solves the problem of having a user-editable layout which is stable under multiple zoom operations builds the basis for the dynamic adaption of a diagram. This algorithm can be extended to adapt the layout if model elements are filtered to generate different views on the model. Additionally, it can be used to support the model editing by adapting the layout automatically. Since these automatic layout adjustments result in a dynamic, constantly changing diagram, the links or lines connecting model elements have to be adapted, too. As a solution to that problem, an automatic line routing algorithm that produces an aesthetically appealing layout and routes in real time has been developed. The basic data structure of this algorithm can also be used to automatically place the labels accompanying the links.

[1]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[2]  Bernard Harris,et al.  Graph theory and its applications , 1970 .

[3]  Colin Ware,et al.  Visualizing object oriented software in three dimensions , 1993, CASCON.

[4]  Jean-Daniel Fekete,et al.  OrthoZoom scroller: 1D multi-scale navigation , 2006, CHI.

[5]  Dov Dori,et al.  The Model Multiplicity Problem: Experimenting with Real-Time Specification Methods , 2000, IEEE Trans. Software Eng..

[6]  Mark Roseman,et al.  Comparing Fisheye and Full-Zoom Techniques for Navigation of Hierarchically Clustered Networks , 1998 .

[7]  Hausi A. Müller,et al.  On integrating visualization techniques for effective software exploration , 1997, Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium.

[8]  M. D. MacLaren The Art of Computer Programming—Volume 1: Fundamental Algorithms (Donald E. Knuth) , 1969 .

[9]  Kozo Sugiyama,et al.  Layout Adjustment and the Mental Map , 1995, J. Vis. Lang. Comput..

[10]  Carl Gutwin,et al.  Interacting with Big Interfaces on Small Screens: a Comparison of Fisheye, Zoom, and Panning Techniques , 2004, Graphics Interface.

[11]  Daniel P. Friedman,et al.  Coordinated computing: tools and techniques for distributed software , 1984 .

[12]  Martin Glinz,et al.  A visualization concept for hierarchical object models , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[13]  Morten Hertzum,et al.  Untangling the usability of fisheye menus , 2007, TCHI.

[14]  Christian Seybold Simulation teilformaler Anforderungsmodelle , 2006 .

[15]  Yiyuan Xia A Language Definition Method for Visual Specifica-tion Languages , 2004 .

[16]  Martin Glinz,et al.  Simulation-Driven Creation, Validation and Evolution of Behavioral Requirements Models , 2007, MBEES.

[17]  Victor Kaptelinin,et al.  Window navigation with and without animation: a comparison of scroll bars, zoom, and fisheye view , 1997, CHI Extended Abstracts.

[18]  Stefan Joos Adora-L - eine Modellierungssprache zur Spezifikation von Software-Anforderungen , 1999 .

[19]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[20]  George Furnas,et al.  The FISHEYE view: A new look at structured files , 1986, CHI 1986.

[21]  Hausi A. Müller,et al.  Graph Layout Adjustment Strategies , 1995, GD.

[22]  Naftali Kadmon,et al.  A Polyfocal Projection for Statistical Surfaces , 1978 .

[23]  Martin Glinz,et al.  Tool support for the navigation in graphical models , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[24]  Guttorm Sindre,et al.  Onion graphs: aesthetics and layout , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[25]  Arthur J. Riel,et al.  Object-Oriented Design Heuristics , 1996 .

[26]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[27]  Kelly A. Lyons,et al.  Algorithms for Cluster Busting in Anchored Graph Drawing , 1998, J. Graph Algorithms Appl..

[28]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[29]  Benjamin B. Bederson,et al.  A review of overview+detail, zooming, and focus+context interfaces , 2009, CSUR.

[30]  G. W. Furnas,et al.  Generalized fisheye views , 1986, CHI '86.

[31]  Myke Gluck,et al.  Visual Explanations: Images and Quantities, Evidence and Narrative , 1997, Inf. Process. Manag..

[32]  Carlo Batini,et al.  Automatic graph drawing and readability of diagrams , 1988, IEEE Trans. Syst. Man Cybern..

[33]  Carl Gutwin,et al.  Improving focus targeting in interactive fisheye views , 2002, CHI.

[34]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[35]  William C. Donelson Spatial management of information , 1978, SIGGRAPH.

[36]  Yves Guiard,et al.  Multiscale pointing: facilitating pan-zoom coordination , 2002, CHI Extended Abstracts.

[37]  Jock D. Mackinlay,et al.  The document lens , 1993, UIST '93.

[38]  James D. Hollan,et al.  Pad++: a zooming graphical interface for exploring alternate interface physics , 1994, UIST '94.

[39]  Douglas Stott Parker Aesthetics-Based Graph Layout for Human Consumption , 1996, Softw. Pract. Exp..

[40]  Benjamin B. Bederson,et al.  Space-scale diagrams: understanding multiscale interfaces , 1995, CHI '95.

[41]  Lyn Bartram,et al.  The continuous zoom: a constrained fisheye technique for viewing and navigating large information spaces , 1995, UIST '95.

[42]  T. Reinhard Automatic Placement of Link Labels in Diagrams , 2010 .

[43]  Standard Glossary of Software Engineering Terminology , 1990 .

[44]  Stuart K. Card,et al.  The effects of information scent on visual search in the hyperbolic tree browser , 2003, TCHI.

[45]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[46]  Jochen Ludewig,et al.  Models in software engineering - an introduction , 2004, Informatik Forschung und Entwicklung.

[47]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[48]  S. Meier,et al.  An Improved Fisheye Zoom Algorithm for Visualizing and Editing Hierarchical Models , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[49]  Michael Jackson,et al.  Principles of program design , 1975 .

[50]  Colin Ware,et al.  Cognitive Measurements of Graph Aesthetics , 2002, Inf. Vis..

[51]  Lyn Bartram,et al.  A continuously variable zoom for navigating large hierarchical networks , 1994, Proceedings of IEEE International Conference on Systems, Man and Cybernetics.

[52]  MarksJoe,et al.  An empirical study of algorithms for point-feature label placement , 1995 .

[53]  Martin Glinz,et al.  Problems and deficiencies of UML as a requirements specification language , 2000, Tenth International Workshop on Software Specification and Design. IWSSD-10 2000.

[54]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[55]  Martin Glinz,et al.  Aspect-Oriented Modeling with Integrated Object Models , 2006, Modellierung.

[56]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[57]  D. C. Cooper,et al.  Sequential Machines and Automata Theory , 1968, Comput. J..

[58]  E. Imhof Positioning Names on Maps , 1975 .

[59]  Martin Glinz,et al.  Statecharts For Requirements Specification - As Simple As Possible, As Rich As Needed , 2002 .

[60]  Pourang Irani,et al.  Using Perceptual Syntax to Enhance Semantic Content in Diagrams , 2001, IEEE Computer Graphics and Applications.

[61]  Benjamin B. Bederson,et al.  Toolkit design for interactive structured graphics , 2004, IEEE Transactions on Software Engineering.

[62]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[63]  Benjamin B. Bederson,et al.  Fisheye menus , 2000, UIST '00.

[64]  Larry L. Constantine,et al.  Software for Use - A Practical Guide to the Models and Methods of Usage-Centered Design , 1999 .

[65]  Stuart K. Card,et al.  Visual information foraging in a focus + context visualization , 2001, CHI.

[66]  Mark D. Apperley,et al.  A review and taxonomy of distortion-oriented presentation techniques , 1994, TCHI.

[67]  K. K. Sandhu,et al.  Specification and description language (SDL) , 1992 .

[68]  Emanuel G. Noik,et al.  A Space of Presentation Emphasis Techniques for Visualizing Graphs , 1994 .

[69]  Edward R. Tufte,et al.  Envisioning Information , 1990 .

[70]  Cleotilde Gonzalez,et al.  Does animation in user interfaces improve decision making? , 1996, CHI.

[71]  M. Sheelagh T. Carpendale,et al.  On the effects of viewing cues in comprehending distortions , 2002, NordiCHI '02.

[72]  Harald Reiterer,et al.  User Interaction with Scatterplots on Small Screens - A Comparative Evaluation of Geometric-Semantic Zoom and Fisheye Distortion , 2006, IEEE Transactions on Visualization and Computer Graphics.

[73]  David Harel,et al.  On visual formalisms , 1988, CACM.

[74]  Christopher Fry,et al.  On your marks, get set, browse! , 1997, CHI Extended Abstracts.

[75]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[76]  Roberto Tamassia,et al.  An incremental approach to aesthetic graph layout , 1993, Proceedings of 6th International Workshop on Computer-Aided Software Engineering.

[77]  Mark Apperley,et al.  Data base navigation: an office environment for the professional , 1982 .

[78]  Richard Chimera Value bars: an information visualization and navigation tool for multi-attribute listings , 1992, CHI '92.

[79]  Ganesh S. Oak Information Visualization Introduction , 2022 .

[80]  Cris Kobryn,et al.  UML 3.0 and the future of modeling , 2004, Software & Systems Modeling.

[81]  Yvonne Rogers,et al.  External cognition: how do graphical representations work? , 1996, Int. J. Hum. Comput. Stud..

[82]  Andrew Dillon,et al.  Who's Zooming Whom? Attunement to Animation in the Interface , 1997, J. Am. Soc. Inf. Sci..

[83]  Jock D. Mackinlay,et al.  The information visualizer, an information workspace , 1991, CHI.

[84]  Benjamin B. Bederson,et al.  Jazz: an extensible zoomable user interface graphics toolkit in Java , 2000, UIST '00.

[85]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[86]  Benjamin B. Bederson,et al.  Does animation help users build mental maps of spatial information? , 1999, Proceedings 1999 IEEE Symposium on Information Visualization (InfoVis'99).

[87]  Kalle Lyytinen,et al.  Improving graphical information system model use with elision and connecting lines , 2003, INTR.

[88]  Christopher F. Herot Spatial Management Of Data , 1979, Fifth International Conference on Very Large Data Bases, 1979..

[89]  Ken Perlin,et al.  Pad: an alternative approach to the computer interface , 1993, SIGGRAPH.

[90]  Carl Gutwin,et al.  Supporting multi-point interaction in visual workspaces , 2007, CHI.

[91]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[92]  George W. Furnas,et al.  A fisheye follow-up: further reflections on focus + context , 2006, CHI.

[93]  Saul Greenberg,et al.  Navigating hierarchically clustered networks through fisheye and full-zoom methods , 1996, TCHI.

[94]  O. Reiser,et al.  Principles Of Gestalt Psychology , 1936 .

[95]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[96]  Ramana Rao,et al.  The table lens: merging graphical and symbolic representations in an interactive focus + context visualization for tabular information , 1994, CHI '94.

[97]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[98]  Martin Glinz,et al.  Human-Friendly Line Routing for Hierarchical Diagrams , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[99]  Catherine Plaisant,et al.  Navigation patterns and usability of zoomable user interfaces with and without an overview , 2002, TCHI.

[100]  Herman H. Goldstine,et al.  Planning and coding of problems for an Electronic Computing Instrument , 1947 .

[101]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[102]  David Marple,et al.  Tailor: a layout system based on trapezoidal corner stitching , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[103]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[104]  Andy Cockburn,et al.  Comparing speed-dependent automatic zooming with traditional scroll, pan and zoom methods , 2004 .

[105]  Pinhas Yoeli,et al.  The Logic of Automated Map Lettering , 1972 .

[106]  Bongshin Lee,et al.  Fishnet, a fisheye web browser with search term popouts: a comparative evaluation with overview and linear view , 2004, AVI.

[107]  Manuel Freire,et al.  Preserving the mental map in interactive graph interfaces , 2006, AVI '06.

[108]  George W. Furnas,et al.  MuSE: a multiscale editor , 1998, UIST '98.

[109]  C. Y. Lee An Algorithm for Path Connections and Its Applications , 1961, IRE Trans. Electron. Comput..

[110]  Robert Spence,et al.  Information Visualization: Design for Interaction (2nd Edition) , 2006 .

[111]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[112]  Ioannis G. Tollis,et al.  An Algorithm for Labeling Edges of Hierarchical Drawings , 1997, GD.

[113]  Catherine Plaisant,et al.  SpaceTree: supporting exploration in large node link tree, design evolution and empirical evaluation , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[114]  Colin Ware,et al.  Context sensitive flying interface , 1997, SI3D.

[115]  Mik Kersten,et al.  Mylar: a degree-of-interest model for IDEs , 2005, AOSD '05.

[116]  S Meier Aspect-oriented requirements modeling , 2009 .

[117]  Steven P. Reiss,et al.  Stretching the rubber sheet: a metaphor for viewing large layouts on small screens , 1993, UIST '93.

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

[119]  Desney S. Tan,et al.  Exploring 3D navigation: combining speed-coupled flying with orbiting , 2001, CHI.

[120]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[121]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[122]  Peter Eades,et al.  Navigating software architectures with constant visual complexity , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[123]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..

[124]  Timothy E. Goldsmith,et al.  An experimental evaluation of continuous semantic zooming in program , 2003, IEEE Symposium on Information Visualization 2003 (IEEE Cat. No.03TH8714).

[125]  Kasper Hornbæk,et al.  Reading patterns and usability in visualizations of electronic documents , 2003, TCHI.

[126]  M. Sheelagh T. Carpendale,et al.  Extending Distortion Viewing from 2D to 3D , 1997, IEEE Computer Graphics and Applications.

[127]  Jiri Soukup,et al.  Fast Maze Router , 1978, 15th Design Automation Conference.

[128]  Mary Czerwinski,et al.  DateLens: A fisheye calendar interface for PDAs , 2004, TCHI.

[129]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[130]  Mikkel Rønne Jakobsen,et al.  Evaluating a fisheye view of source code , 2006, CHI.

[131]  Keith Cheverst,et al.  Using and Determining Location in a Context-Sensitive Tour Guide , 2001, Computer.

[132]  Andrew Fish,et al.  Visual qualities of the Unified Modeling Language:Deficiencies and Improvements , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).

[133]  David L. Donoho,et al.  MacSpin: dynamic graphics on a desktop computer , 1988, IEEE Computer Graphics and Applications.

[134]  M. Sheelagh T. Carpendale,et al.  Making distortions comprehensible , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[135]  Roberto Tamassia,et al.  Difference Metrics for Interactive Orthogonal Graph Drawing Algorithms , 2000, J. Graph Algorithms Appl..

[136]  GlinzMartin,et al.  Object-oriented modeling with ADORA , 2002 .

[137]  Marian Petre,et al.  Why looking isn't always seeing: readership skills and graphical programming , 1995, CACM.

[138]  Ramana Rao,et al.  A focus+context technique based on hyperbolic geometry for visualizing large hierarchies , 1995, CHI '95.

[139]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[140]  Jinwoo Kim,et al.  How Do We Understand a System with (So) Many Diagrams? Cognitive Integration Processes in Diagrammatic Reasoning , 2000, Inf. Syst. Res..

[141]  Manojit Sarkar,et al.  Graphical fisheye views of graphs , 1992, CHI.

[142]  Austin Henderson,et al.  Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface , 1986, TOGS.

[143]  Stefan Berner Modellvisualisierung für die Spezifikationssprache ADORA , 2002 .

[144]  Dov Dori Why significant UML change is unlikely , 2002, CACM.

[145]  Benjamin B. Bederson,et al.  Benefits of animated scrolling , 2005, CHI Extended Abstracts.

[146]  C. Petri Kommunikation mit Automaten , 1962 .

[147]  Martin Glinz,et al.  An effective layout adaptation technique for a graphical modeling tool , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[148]  Jock D. Mackinlay,et al.  The perspective wall: detail and context smoothly integrated , 1991, CHI.

[149]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[150]  George W. Furnas,et al.  Critical zones in desert fog: aids to multiscale navigation , 1998, UIST '98.