Mondrian

You are here:

Mondrian is an information visualization engine that lets the visualization be specified via a script. It is built in VisualWorks Smalltalk and Pharo, and the scripting language is the Smalltalk language. It is based on a graph model and works directly with the objects to be represented.

Mondrian received the second place at the ESUG 2006 Innovation Award.

The original version has been primarily written by Michael Meyer as part of his Masters Thesis. Tudor Girba took over development at the end of 2006. Alexandre Bergel is currently maintaining the Pharo version of Mondrian.

Code Example

Here is an example of a script that shows a simple script for displaying the Smalltalk Collection hierarchy:

 | view classes |
classes := Collection withAllSubclasses.
view := MOViewRenderer new.
view nodes: classes. "Creates a node for each class in the Collection hierarchy"
view edges: classes
from: [:each | each superclass]
to: [:each | each]. "Creates an edge for each class from the superclass to itself"
view treeLayout. "Arranges the view in a tree"
view open.

The script works directly with the Smalltalk objects. In our case, it takes as an input a list of the classes from the Collection hierarchy.

Documentation

The Moose Book dedicates a chapter to Mondrian.

Alexandre Bergel put together a tutorial.

A tutorial is also available within the Mondrian Easel.

Features

Mondrian has the following features:

  • Flexible and agile scripting engine
  • Simple and open scripting language to script visualizations
  • Domain agnostic
  • 22 layouts are available. Check yourself: MOAbstractLayout allSubclasses reject: #isAbstract
  • Numerous options for interactivity (e.g., layout, inspection)
  • Visualizations exportable into BMP, JPEG, PNG and GIF files
  • Easily embeddable into tierce applications
  • Reasonably scalable (~ 20k nodes and 1k edges)

Publications

  1. JMondrian. JMondrian — Java implementation of the Mondrian information visualization framework. 2009. http://loose.upt.ro/reengineering/research/jMondrian. URL 
  2. Adrian Lienhard, Adrian Kuhn, and Orla Greevy. Rapid Prototyping of Visualizations using Mondrian. In Proceedings IEEE International Workshop on Visualizing Software for Understanding (Vissoft'07), p. 67—70, IEEE Computer Society, Los Alamitos, CA, USA, June 2007. DOI PDF 
  3. Michael Meyer, Tudor Gîrba, and Mircea Lungu. Mondrian: An Agile Visualization Framework. In ACM Symposium on Software Visualization (SoftVis'06), p. 135—144, ACM Press, New York, NY, USA, 2006. DOI PDF 
  4. Michael Meyer. Scripting Interactive Visualizations. Master's thesis, University of Bern, November 2006. PDF 
  5. Michael Meyer and Tudor Gîrba. Mondrian: Scripting Visualizations. European Smalltalk User Group 2006 Technology Innovation Awards, August 2006. It received the 2nd prize. PDF 

License:

  • MIT (since January 1st, 2010)
  • BSD (until December 31st, 2009)

Esug-award2nd-2006.jpg