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.
Here is an example of a script that shows a simple script for displaying the Smalltalk Collection hierarchy:
| view classes |
classes := Collection withAllSubclasses.
view := ViewRenderer 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.
Alexandre Bergel put together a tutorial.