Vergil

Vergil is an extensible user interface framework for component-based design written by Steve Neuendorffer, with contributions from Brieuc Desoutter, Pedro Domecq, John Reekie, and Guillaume Vibert. A vergil window is shown below:

Screenshot of Vergil

This window shows a block diagram editor for Ptolemy II models. At the upper left is a component library browser. At the lower left is a panner. At the right is the block diagram editor itself.

Vergil is an extensible framework for developing component-based design applications. An application using Vergil, such as the block diagram editor shown above, is configured by assembling a collection of tools and resources in a configuration file, which is an XML file. In fact, the configuration is represented by a hierarchical Ptolemy II model, and can be edited using Vergil.

A window in Vergil is called tableau. Any number of tableau types can be combined in an application. In the window shown above, the application includes a block diagram editor, a finite-state machine editor, a tree view of hierarchical models, an HTML renderer, and a simple text editor. We expect that the number of tableaux will increase significantly over time, offering a variety of editing and display styles.

Vergil can run as a command-line application, or as an applet. Here is an on-line demo applet where you can try out some of Vergil's capabilities.

Vergil is based on Swing and Diva, an infrastructure for structured graphics and visualization.