Plotting Tools for Networks, Part I

Total Page:16

File Type:pdf, Size:1020Kb

Plotting Tools for Networks, Part I ontent ▶ Edition ▶ User: Password: Log in | Register Plotting tools for networks, part I In the first two installments in this series on plotting tools (which covered gnuplot and matplotlib), we introduced tools for creating plots and graphs, and used the terms interchangeably to refer to the typical April 15, 2015 scientific plot relating one set of quantities to another. In this article we use the term "graph" in its This article was contributed mathematical, graph-theory context, meaning a set of nodes connected by edges. There is a strong family by Lee Phillips resemblance among graph-theory graphs, flowcharts, and network diagrams—so much so that some of the same tools can be coerced into creating all of them. We will now survey several mature free-software systems for building these types of visualizations. At least one of these tools will likely be useful if you are ever in need of an automated way to diagram source-code interdependencies, make an organizational chart, visualize a computer network, or organize a sports tournament. We will start with a graphical charting tool and a flexible graphing system that can easily be called by other programs. Flowcharting with Dia A flowchart is a diagram of a process, algorithm, workflow, or something similar. Flowcharts for different fields often employ a specialized graphical language of symbols that represent entities common to the field. For example, a circuit diagram is a type of flowchart that uses special symbols for diodes, resistors, and other circuit elements. There are flowchart languages for logic circuits, chemical engineering, software design, and much more. Dia, a free (in all senses) diagram editor for Linux and other systems, comes with symbol libraries encompassing all of these examples, plus many others, both common and exotic. And, if that's not sufficient, the program allows you to make your own symbols. Dia is a GUI program that uses the GTK+ libraries. You use it somewhat like Inkscape or other drawing programs. However, to make effective use of the program you should remember that you are not creating a drawing, but, rather, defining a set of relationships between entities. These relationships are represented by lines and curves (perhaps with arrowheads or labels), and the entities take the forms of the various symbolic shapes we mentioned above, often with their own text labels. The trick to defining these relationships through the graphical interface is to make the connections in the right way. Since it takes a while to extract these techniques from the documentation, we'll outline the steps here. After selecting the desired shape from the panel and dragging it out in the canvas to the approximate size you think it should be, immediately press Return and type the text label for the shape. The label will be properly centered, the shape will grow as required to accommodate it, and the label will be permanently attached to the shape and move with it. To connect two entities with a line, draw the line between the centers of the entities; you know you've hit the correct spot when the shape glows yellow. To attach a text label to a line (such as the "yes" and "no" labels in the screenshot) you need to follow a different procedure: with object snapping turned on, create a text entity using the text tool that looks like a "T", then drag it by its handle, connecting it to the line's attachment point. This point is indicated by a small "x" and is at the center of the line. A red glow will signal that you've made the attachment. If you've defined all your labels, entities, and connections using these techniques, then you'll be able to move the nodes around at will on the canvas until the chart is neat and easy to follow. The topology of the graph, which carries the actual information in the flowchart, won't change but, by moving things around, you can change a tangle of crossed lines into a neat diagram where the flow is clear. Dia saves your work in an XML file (a compressed one by default, though there is also an option to save it uncompressed), and can export it into a wide variety of image formats, including vector formats such as SVG. The program should be available in your package manager. Development is steady but moves at a slow pace, so it's likely you'll get the current version even from a conservative distribution. If you need to, however, you can download sources or binaries from Dia headquarters. Graphviz: infrastructure for graphs Dia is a useful and versatile tool for creating and laying out a graph by hand. Sometimes, however, we begin with a (possibly large) set of data that we want to visualize as a network-style graph or flowchart. We may also want to experiment with different types of visualizations or to produce different graph styles that present the same data for different purposes. Graphviz solves these problems by providing a declarative language, called "dot," that represents nodes and the connections between them as text. The dot language can accommodate a large set of visual and logical attributes of many types of nodes, their relationships, and their interconnections. Nevertheless, it's intuitive, with an easy-to-remember and readable syntax. Here is an almost-minimal example of a dot file that defines a simple graph: strict digraph "example" { A -> {B C}; D [shape = box]; C -> D; D -> C [color = blue]; } The keyword strict at the beginning means that no redundant edges are allowed; a digraph is a directed graph (meaning that the edges have a direction, oft n represented by an arrowhead at the end and, perhaps, at the beginning). The second line says that node A is connected with both nodes B and C, in the direction starting from A. The next line declares a new node called D and defines an attribute that specifies how D should be drawn. Then, we declare that C is connected to D, and that D is connected back to C. This last edge has an attribute specifying its color. The Graphviz infrastructure also comes with several layout engines that interpret dot files and produce the actual graphs. Some of the engines are for directed graphs, some are for undirected graphs, and some handle both types. The problem of taking a graph specification— with perhaps thousands of nodes—and producing a usable visual representation is not trivial, and is the subject of continuing research. Each of Graphviz's engines has a mathematical theory [PDF] behind it, and each will generate a different type of graph. For simple directed graphs such as the one represented in the dot file above, the engine called "dot" is usually best. We invoke it on the command line: dot -o simpledot.png -Tpng simpledot.dot This generates a PNG output file (one of many choices), using simpledot.dot as the graph specification. If we store the code snippet above into this file, we get the output shown here: It's clear how the definitions of nodes and edges have been translated into a picture. If we apply a different layout engine to the same dot file, for example fdp: fdp -o simpledot.png -Tpng simpledot.dot we get the same information, but depicted in a different style: A brief summary of the various layout engines that come with the system is provided in the dot man page. The dot engine produces a simple, hierarchical layout, whereas fdp, sfdp, and neato all treat the edges as springs. That is, they attempt to arrive at a neat arrangement by starting with a random layout and allowing the system to relax to a minimum energy configuration. The different engines will produce distinct results, as they are all based on different algorithms. The use of a language to define graphs means that Graphviz can serve as the graphical engine for other systems or programs; they merely need to format their output in the dot language. There are many examples of this. Snakefood is a program that analyzes Python programs and determines their dependencies. You can point it at a directory of Python files and it will return the interdependencies among the files and to external modules, in its own format, which is a collection of Python tuples. This output can be piped to a Snakefood utility that translates it into dot, which can then be processed by any of the Graphviz engines that can handle directed graphs—usually the dot engine is the best choice. Here is the result of applying the process to a directory holding the files for the bsddb package, an interface to the Berkeley DB library: The dot file corresponding to this graph is available for further exploration. You can also use Graphviz without using the dot language directly, by using one of its programming language interfaces. For example, the pygraphviz library for Python allows you to define a graph object, add nodes and edges to it, and create a graph image by calling the draw() method on the object. The Graphviz layout engine is selected with an argument passed to the draw() method. We've barely scratched the surface of what Graphviz can do. Facilities for subgraphs, record nodes, adding labels in HTML, and more make this a general-purpose powerhouse for any type of automated graph creation. Graphviz is free software (as is Snakefood) and should be available through your package manager. Stay tuned In part 2 of this article we'll continue our survey of network graphing tools by looking at two sophisticated libraries.
Recommended publications
  • Utilizing Mind-Maps for Information Retrieval and User Modelling
    Preprint, to be published at UMAP 2014. Downloaded from http://docear.org Utilizing Mind-Maps for Information Retrieval and User Modelling Joeran Beel1,2, Stefan Langer1,2, Marcel Genzmehr1, Bela Gipp1,3 1 Docear, Magdeburg, Germany 2 Otto-von-Guericke University, Magdeburg, Germany 3 University of California, Berkeley, USA {beel | langer | genzmehr | gipp}@docear.org Abstract. Mind-maps have been widely neglected by the information retrieval (IR) community. However, there are an estimated two million active mind-map users, who create 5 million mind-maps every year, of which a total of 300,000 is publicly available. We believe this to be a rich source for information retriev- al applications, and present eight ideas on how mind-maps could be utilized by them. For instance, mind-maps could be utilized to generate user models for recommender systems or expert search, or to calculate relatedness of web-pages that are linked in mind-maps. We evaluated the feasibility of the eight ideas, based on estimates of the number of available mind-maps, an analysis of the content of mind-maps, and an evaluation of the users’ acceptance of the ideas. We concluded that user modelling is the most promising application with re- spect to mind-maps. A user modelling prototype – a recommender system for the users of our mind-mapping software Docear – was implemented, and evalu- ated. Depending on the applied user modelling approaches, the effectiveness, i.e. click-through rate on recommendations, varied between 0.28% and 6.24%. This indicates that mind-map based user modelling is promising, but not trivial, and that further research is required to increase effectiveness.
    [Show full text]
  • Useful Applications – Last Updated 8 Th March 2014
    A List of Useful Applications – Last updated 8 th March 2014 In the descriptions of the software the text in black is my comments. Text in dark blue preceded by 'What they say :-' is a quote from the website providing the software. Rating :- This is my own biased and arbitrary opinion of the quality and usefulness of the software. The rating is out of 5. Unrated = - Poor = Average = Good = Very Good = Essential = Open Office http://www.openoffice.org/ Very Good = Word processor, Spreadsheet, Drawing Package, Presentation Package etc, etc. Free and open source complete office suite, equivalent to Microsoft Office. Since the takeover of this project by Oracle development seems to have ground to a halt with the departure of many of the developers. Libre Office http://www.libreoffice.org/ Essential = Word processor, Spreadsheet, Drawing Package, Presentation Package etc, etc. Free and open source complete office suite, equivalent to Microsoft Office. This package is essentially the same as Open Office however it satisfies the open source purists because it is under the control of an open source group rather than the Oracle Corporation. Since the takeover of the Open Office project by Oracle many of the developers left and a lot of them ended up on the Libre Office project. Development on the Libre Office project is now ahead of Open Office and so Libre Office would be my preferred office suite. AbiWord http://www.abisource.com/ Good = If you don't really need a full office suite but just want a simple word processor then AbiWord might be just what you are looking for.
    [Show full text]
  • Software Analysis
    visEUalisation Analysis of the Open Source Software. Explaining the pros and cons of each one. visEUalisation HOW TO DEVELOP INNOVATIVE DIGITAL EDUCATIONAL VIDEOS 2018-1-PL01-KA204-050821 1 Content: Introduction..................................................................................................................................3 1. Video scribing software ......................................................................................................... 4 2. Digital image processing...................................................................................................... 23 3. Scalable Vector Graphics Editor .......................................................................................... 28 4. Visual Mapping. ................................................................................................................... 32 5. Configurable tools without the need of knowledge or graphic design skills. ..................... 35 6. Graphic organisers: Groupings of concepts, Descriptive tables, Timelines, Spiders, Venn diagrams. ...................................................................................................................................... 38 7. Creating Effects ................................................................................................................... 43 8. Post-Processing ................................................................................................................... 45 9. Music&Sounds Creator and Editor .....................................................................................
    [Show full text]
  • Unifying Modeling and Programming with ALF
    SOFTENG 2016 : The Second International Conference on Advances and Trends in Software Engineering Unifying Modeling and Programming with ALF Thomas Buchmann and Alexander Rimer University of Bayreuth Chair of Applied Computer Science I Bayreuth, Germany email: fthomas.buchmann, [email protected] Abstract—Model-driven software engineering has become more The Eclipse Modeling Framework (EMF) [5] has been and more popular during the last decade. While modeling the established as an extensible platform for the development of static structure of a software system is almost state-of-the art MDSE applications. It is based on the Ecore meta-model, nowadays, programming is still required to supply behavior, i.e., which is compatible with the Object Management Group method bodies. Unified Modeling Language (UML) class dia- (OMG) Meta Object Facility (MOF) specification [6]. Ideally, grams constitute the standard in structural modeling. Behavioral software engineers operate only on the level of models such modeling, on the other hand, may be achieved graphically with a set of UML diagrams or with textual languages. Unfortunately, that there is no need to inspect or edit the actual source code, not all UML diagrams come with a precisely defined execution which is generated from the models automatically. However, semantics and thus, code generation is hindered. In this paper, an practical experiences have shown that language-specific adap- implementation of the Action Language for Foundational UML tations to the generated source code are frequently necessary. (Alf) standard is presented, which allows for textual modeling In EMF, for instance, only structure is modeled by means of of software systems.
    [Show full text]
  • Plantuml Language Reference Guide (Version 1.2021.2)
    Drawing UML with PlantUML PlantUML Language Reference Guide (Version 1.2021.2) PlantUML is a component that allows to quickly write : • Sequence diagram • Usecase diagram • Class diagram • Object diagram • Activity diagram • Component diagram • Deployment diagram • State diagram • Timing diagram The following non-UML diagrams are also supported: • JSON Data • YAML Data • Network diagram (nwdiag) • Wireframe graphical interface • Archimate diagram • Specification and Description Language (SDL) • Ditaa diagram • Gantt diagram • MindMap diagram • Work Breakdown Structure diagram • Mathematic with AsciiMath or JLaTeXMath notation • Entity Relationship diagram Diagrams are defined using a simple and intuitive language. 1 SEQUENCE DIAGRAM 1 Sequence Diagram 1.1 Basic examples The sequence -> is used to draw a message between two participants. Participants do not have to be explicitly declared. To have a dotted arrow, you use --> It is also possible to use <- and <--. That does not change the drawing, but may improve readability. Note that this is only true for sequence diagrams, rules are different for the other diagrams. @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: Another authentication Response @enduml 1.2 Declaring participant If the keyword participant is used to declare a participant, more control on that participant is possible. The order of declaration will be the (default) order of display. Using these other keywords to declare participants
    [Show full text]
  • Petri Net-Based Graphical and Computational Modelling of Biological Systems
    bioRxiv preprint doi: https://doi.org/10.1101/047043; this version posted June 22, 2016. The copyright holder for this preprint (which was not certified by peer review) is the author/funder. All rights reserved. No reuse allowed without permission. Petri Net-Based Graphical and Computational Modelling of Biological Systems Alessandra Livigni1, Laura O’Hara1,2, Marta E. Polak3,4, Tim Angus1, Lee B. Smith2 and Tom C. Freeman1+ 1The Roslin Institute and Royal (Dick) School of Veterinary Studies, University of Edinburgh, Easter Bush, Edinburgh, Midlothian EH25 9RG, UK. 2MRC Centre for Reproductive Health, 47 Little France Crescent, Edinburgh, EH16 4TJ, UK, 3Clinical and Experimental Sciences, Sir Henry Wellcome Laboratories, Faculty of Medicine, University of Southampton, SO16 6YD, Southampton, 4Institute for Life Sciences, University of Southampton, SO17 1BJ, UK. Abstract In silico modelling of biological pathways is a major endeavour of systems biology. Here we present a methodology for construction of pathway models from the literature and other sources using a biologist- friendly graphical modelling system. The pathway notation scheme, called mEPN, is based on the principles of the process diagrams and Petri nets, and facilitates both the graphical representation of complex systems as well as dynamic simulation of their activity. The protocol is divided into four sections: 1) assembly of the pathway in the yEd software package using the mEPN scheme, 2) conversion of the pathway into a computable format, 3) pathway visualisation and in silico simulation using the BioLayout Express3D software, 4) optimisation of model parameterisation. This method allows reconstruction of any metabolic, signalling and transcriptional pathway as a means of knowledge management, as well as supporting the systems level modelling of their dynamic activity.
    [Show full text]
  • Concept Mapping Slide Show
    5/28/2008 WHAT IS A CONCEPT MAP? Novak taught students as young as six years old to make Concept Mapping is a concept maps to represent their response to focus questions such as “What is technique for knowledge water?” and “What causes the Assessing learner understanding seasons?” assessment developed by JhJoseph D. NkNovak in the 1970’s Novak’s work was based on David Ausubel’s theories‐‐stressed the importance of prior knowledge in being able to learn new concepts. If I don’t hold my ice cream cone The ice cream will fall off straight… A WAY TO ORGANIZE A WAY TO MEASURE WHAT WE KNOW HOW MUCH KNOWLEDGE WE HAVE GAINED A WAY TO ACTIVELY A WAY TO IDENTIFY CONSTRUCT NEW CONCEPTS KNOWLEDGE 1 5/28/2008 Semantics networks words into relationships and gives them meaning BRAIN‐STORMING GET THE GIST? oMINDMAP HOW TO TEACH AN OLD WORD CLUSTERS DOG NEW TRICKS?…START WITH FOOD! ¾WORD WEBS •GRAPHIC ORGANIZER 9NETWORKING SCAFFOLDING IT’S ALL ABOUT THE NEXT MEAL, RIGHT FIDO?. EFFECTIVE TOOLS FOR LEARNING COLLABORATIVE 9CREATE A STUDY GUIDE CREATIVE NOTE TAKING AND SUMMARIZING SEQUENTIAL FIRST FIND OUT WHAT THE STUDENTS KNOW IN RELATIONSHIP TO A VISUAL TRAINING SUBJECT. STIMULATING THEN PLAN YOUR TEACHING STRATEGIES TO COVER THE UNKNOWN. PERSONAL COMMUNICATING NEW IDEAS ORGANIZING INFORMATION 9AS A KNOWLEDGE ASSESSMENT TOOL REFLECTIVE LEARNING (INSTEAD OF A TEST) A POST‐CONCEPT MAP WILL GIVE INFORMATION ABOUT WHAT HAS TEACHING VOCABULARLY BEEN LEARNED ASSESSING KNOWLEDGE 9PLANNING TOOL (WHERE DO WE GO FROM HERE?) IF THERE ARE GAPS IN LEARNING, RE‐INTEGRATE INFORMATION, TYING IT TO THE PREVIOUSLY LEARNED INFORMATION THE OBJECT IS TO GENERATE THE LARGEST How do you construct a concept map? POSSIBLE LIST Planning a concept map for your class IN THE BEGINNING… LIST ANY AND ALL TERMS AND CONCEPTS BRAINSTORMING STAGE ASSOCIATED WITH THE TOPIC OF INTEREST ORGANIZING STAGE LAYOUT STAGE WRITE THEM ON POST IT NOTES, ONE WORD OR LINKING STAGE PHRASE PER NOTE REVISING STAGE FINALIZING STAGE DON’T WORRY ABOUT REDUNCANCY, RELATIVE IMPORTANCE, OR RELATIONSHIPS AT THIS POINT.
    [Show full text]
  • 7 Best Free Flowchart Tools for Windows
    2018. 6. 1. Pocket: 7 Best Free Flowchart Tools for Windows 7 Best Free Flowchart Tools for Windows By Joel Lee, www.makeuseof.com 6월 20일, 2017 Flowcharts aren’t just for engineers, programmers, and managers. Everyone can benet from learning how to make owcharts, most notably as a way to streamline your work and life, but even to break free from bad habits. The only problem is, what’s the best way to make a owchart? Plenty of top-notch owcharting apps exist, but they can get pricey. Microsoft Visio, the most popular option, is $300 (standalone) or $13 per month (on top of Oce 365). ConceptDraw Pro is $200. Edraw Max is $180. MyDraw is $70. Is it really necessary to spend so much on a owcharting tool? No! There are plenty of free options that are more than good enough, especially for non-business uses. You can either learn to create stunning owcharts in Microsoft Word How to Create Stunning Flowcharts With Microsoft Word How to Create Stunning Flowcharts With Microsoft Word Used with imagination, owcharts can simplify both your work or life. Why not try out a few owcharts with one of the easiest tools on hand – Microsoft Word. Read More if you already have it or use one of the following free Windows apps. Web-based apps have been intentionally excluded. 1. Dia Dia is a free and full-featured owchart app. It’s also entirely open source under the GPLv2 license, which is great if you adhere to open source philosophy. It’s powerful, extensible, and easy to use.
    [Show full text]
  • Cityehr – Electronic Health Records Using Open Health Informatics
    cityEHR – Electronic Health Records Using Open Health Informatics Mayo Clinic, 1907 Oxford University Hospital, 2014 Open Health Informatics cityEHR is an open source health records system developed using the principles of open health informatics Open source software Open standards Open system interfaces Open development processes Making Top Down Work for Us Top down approaches can crush the life out of the grass roots Not matched to requirements No stakeholder buy-in No innovation But top down can also mean giving freedom to do things locally that match exactly what is required Using Open Standards Properly Open standards can mean Everyone has to do everything in the same way Not matched to requirements No stakeholder buy-in No innovation But open standards can also mean giving freedom to do things locally in a way which will allow data exchange and functional interoperability with others cityEHR - Empowering The Twitter Knitter Freedom to meet local requirements Allow clinicians to create their own information models Easy to develop Do this using familiar tools such as spreadsheets Enforce open standards Blaine Cook Built on an architecture that uses Original Lead Architect, Twitter open standards for everything Doing his knitting at the XML Create an enterprise system Summer School, Oxford, 2010 Press a button to deploy an enterprise scale system cityEHR Platform • cityEHR is built using open source software • An enterprise-scale health records system • Following research at City University, London • Distributed under
    [Show full text]
  • Thesis Artificial Intelligence Method Call Argument Completion Using
    Method Call Argument Completion using Deep Neural Regression Terry van Walen [email protected] August 24, 2018, 40 pages Academic supervisors: dr. C.U. Grelck & dr. M.W. van Someren Host organisation: Info Support B.V., http://infosupport.com Host supervisor: W. Meints Universiteit van Amsterdam Faculteit der Natuurwetenschappen, Wiskunde en Informatica Master Software Engineering http://www.software-engineering-amsterdam.nl Abstract Code completion is extensively used in IDE's. While there has been extensive research into the field of code completion, we identify an unexplored gap. In this thesis we investigate the automatic rec- ommendation of a basic variable to an argument of a method call. We define the set of candidates to recommend as all visible type-compatible variables. To determine which candidate should be recom- mended, we first investigate how code prior to a method call argument can influence a completion. We then identify 45 code features and train a deep neural network to determine how these code features influence the candidate`s likelihood of being the correct argument. After sorting the candidates based on this likelihood value, we recommend the most likely candidate. We compare our approach to the state-of-the-art, a rule-based algorithm implemented in the Parc tool created by Asaduzzaman et al. [ARMS15]. The comparison shows that we outperform Parc, in the percentage of correct recommendations, in 88.7% of tested open source projects. On average our approach recommends 84.9% of arguments correctly while Parc recommends 81.3% correctly. i ii Contents Abstract i 1 Introduction 1 1.1 Previous work........................................
    [Show full text]
  • Prodeling with the Action Language for Foundational UML
    Prodeling with the Action Language for Foundational UML Thomas Buchmann Chair of Applied Computer Science I, University of Bayreuth, Universitatsstrasse¨ 30, 95440 Bayreuth, Germany Keywords: UML, Java, Model-driven Development, Behavioral Modeling, Code Generation. Abstract: Model-driven software development (MDSD) – a software engineering discipline, which gained more and more attention during the last few years – aims at increasing the level of abstraction when developing a soft- ware system. The current state of the art in MDSD allows software engineers to capture the static structure in a model, e.g., by using class diagrams provided by the Unified Modeling Language (UML), and to generate source code from it. However, when it comes to expressing the behavior, i.e., method bodies, the UML offers a set of diagrams, which may be used for this purpose. Unfortunately, not all UML diagrams come with a precisely defined execution semantics and thus, code generation is hindered. Recently, the OMG issued the standard for an Action Language for Foundational UML (Alf), which allows for textual modeling of software system and which provides a precise execution semantics. In this paper, an integrator between an UML-based CASE tool and a tool for Alf is presented, which empowers the modeler to work on the desired level of ab- straction. The static structure may be specified graphically with the help of package or class diagrams, and the behavior may be added using the textual syntax of Alf. This helps to blur the boundaries between modeling and programming. Executable Java code may be generated from the resulting Alf specification. 1 INTRODUCTION days need to manually supply method bodies in the code generated from structural models.
    [Show full text]
  • JAVA SOFTWARE EVOLUTION TRACKER 1. Introduction Software
    KNOWLEDGE ENGINEERING: PRINCIPLES AND TECHNIQUES Proceedings of the International Conference on Knowledge Engineering, Principles and Techniques, KEPT2011 Cluj-Napoca (Romania), July 4{6, 2011, pp. 25{35 JAVA SOFTWARE EVOLUTION TRACKER ARTHUR-JOZSEF MOLNAR(1) Abstract. This paper introduces the Java Software Evolution Tracker, a visualization and analysis tool that provides practitioners the means to examine the evolution of a software system from a top to bottom perspec- tive, starting with changes in the graphical user interface all the way to source code modifications. 1. Introduction Software tools occupy an important place in every practitioner's toolbox. They can assist in virtually all activities undertaken during the life of software starting from requirements analysis to test case design and execution. By studying the evolution of widely used IDE's such as Eclipse [7, 6] one can see that each new version ships with better and more complex tools for aiding professionals in building higher quality software faster. Modern environments include tools for working with UML artifacts, navigating source code and working with a wide variety of file types. However, modern day software systems fall into many categories, each hav- ing unique requirements, artifacts and processes. Recent hardware advances enabled new devices with large screens running rich user interfaces. Unfor- tunately, while this trend is in full swing, the same cannot be claimed about the state of the tools that should support it. A look at today's software tools reveals that while most do enable some visualizations there is a clear lack of advanced tools enabling unified program visualisation and analysis from GUI layer right into the source code.
    [Show full text]