InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Erik Doernenburg on Software Visualization

Posted by Mark Figley on Oct 23, 2007

Sections
Enterprise Architecture,
Process & Practices,
Development,
Architecture & Design
Topics
Modeling ,
Agile ,
Code Analysis ,
Architecture
Tags
Visualization

Erik Doernenburg talked with InfoQ about about "software visualization", a concept that he has been focused on for the past two years. Software visualization aims to provide a representation of artifacts at an intermediate level of abstraction which provides enough information to be useful but are at a high enough level that you can perform broadly scoped analysis. In Erik's words:

You generally only get the 30000 foot view where every system has a small little box or you have to ground level view where you are looking at actual source code, but that doesn't help the developers, that doesn't help the management and that doesn't help the enterprise architects. So we are looking for a way to actually find some middle ground to get a 100 foot view, to get a better understanding of software systems.

Interestingly, instead of imagining complicated modeling tools, Erik forwards a strategy for software visualization that uses a mix of some modest open source tools and manual customization. He likes in particular an old visualization tool called dot, which he has been able to use in powerful and creative ways to communicate hierarchical information. In a nod to the pragmatic, he also utilizes Excel spreadsheets for the analysis. And although the tools he uses might be basic, the idea is very powerful and is a necessary tool when attempting to absorb the context of large systems.

Watch the full interview with Erik Doernenburg (20 min)

  • This article is part of a featured topic series on Agile
Visualizations in Performance Management Tools by William Louth Posted
Why not use Dependency Structure Matrix tools? by Han van Roosmalen Posted
Re: Why not use Dependency Structure Matrix tools? by Erik Doernenburg Posted
i care visual modeling by ding jack Posted
Title of the suggested book by Rafael de F. Ferreira Posted
Re: Title of the suggested book by Erik Doernenburg Posted
  1. Back to top

    Visualizations in Performance Management Tools

    by William Louth


    ....these have visualizations but I wouldn't really count that into metrics and visualizations field.


    I would argue that visualizations in some performance management tools such as JXInsight exceed those of most other project or development centric tools on the market were the norm is for a dashboard with various metrics presented in green and red circles. Some tools related to structure analysis do a pretty good job at displaying a large number of inter-dependencies but timeline analysis is a much hard area to crack especially when trying to visualize millions events across a cluster of servers, across process and thread.

    Parallel & Remote Tracing
    blog.jinspired.com/?p=144

    The Laws of Simplicity: Hide | Highlight
    blog.jinspired.com/?p=28

    Beautiful Evidence: Metric Monitoring
    blog.jinspired.com/?p=33

    I cannot imagine anyone not considering the following "visualizations"

    Database Concurrency
    www.jinspired.com/products/jxinsight/concurrenc...

    Database Lock Contention
    www.jinspired.com/products/jxinsight/olapvsoltp...

    Maybe next time qualify the statement with "based on what I know of field X"

    regards,

    William Louth
    JXInsight Product Architect
    CTO, JINSPIRED

    "Performance monitoring and problem management for Java EE, SOA, and Grid Computing"
    www.jinspired.com

  2. Back to top

    Why not use Dependency Structure Matrix tools?

    by Han van Roosmalen

    Hi Erik,

    you are talking extensively about dependency and visualisation. I think you need to do some catching up to do. Many of the problems you express were already solved years ago when the DSM methodology was introduced. First in the mechanics problem domain. Since Lattix introduced this in 2004 an excellent visulisation appeared in the software industry.

    There are more tools starting to use DSM, but Lattix is the most advanced. It even allows you to change the code structure before you change the code. It even does not only work for Java (although it includes Spring, Hibernate and Oracle).

    For more information www.lattix.com. Just look at the demo and I am sure that you find what you are looking for.

    With kindest regards,
    Han van Roosmalen
    Software Architecting Consultant

  3. Back to top

    i care visual modeling

    by ding jack

    I thought the important field of software visualization should be visual modeling, not the report of code.
    but his idea is fun, how about store our code in DB(instead of store in plain text file), and using SQL to get some reports?

  4. Back to top

    Title of the suggested book

    by Rafael de F. Ferreira

    The transcript shows the title of his second favorite book as "An object oriented metrics and software visualization". Is this really correct? What are the authors?

  5. Back to top

    Re: Why not use Dependency Structure Matrix tools?

    by Erik Doernenburg

    Han,

    I am aware of tools such as Lattix LDM and Structure 101 by Headway Software. In my opinion DSM tools are useful and solve a certain class of problems well, but that doesn't mean that we can now sit back and declare dependency management solved.

    To give you an idea what I'm talking about, have a look at Softwarenaut:
    www.inf.unisi.ch/phd/lungu/softwarenaut/screens...

    erik

  6. Back to top

    Re: Title of the suggested book

    by Erik Doernenburg

    Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems (Hardcover) by Michele Lanza (Author), Radu Marinescu (Author), Stephane Ducasse (Author)

    www.amazon.co.uk/Object-Oriented-Metrics-Practi...

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.