Mondrian

Mondrian-esug2006

Mondrian is an engine for scripting interactive visualizations. Mondrian is the result of Michael Meyer’s work on his master thesis. I took over development at the end of 2006. Mondrian earned the 2nd prize at ESUG 2006 Innovation Awards.

Here is an example of a script in Mondrian that, given a collection of classes, displays a their hierarchy:

 view := ViewRenderer new. "Create the Mondrian renderer"
view nodes: classes. "Add nodes"
view edges: classes from: #superclass to: #yourself. "Add edges"
view treeLayout. "Specify the layout"
view open. "Open the resulting view"

The script first creates the renderer. Then it adds a node for each class. It then draws an edge from each class to the superclass. It arranges the graph in a tree layout, and eventually opens the window.

Mondrian is an essential part of Moose and it is used extensively for exploration of unknown data and patterns.

Demo movie

This video demos the basic scripting in Mondrian. It starts with a Mondrian Easel open on a group of classes.

Relevant publications

  1. 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 
  2. 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