Vergil: User interface for Ptolemy II

Researchers: Stephen Neuendorffer and Edward Lee
Advisor:Edward A. Lee

This work is focused on the design of a modular and extensible user interface toolkit for Ptolemy II that is rich and powerful, yet also intuitive and relatively simple to learn. Vergil uses an interactively editable block diagram to represent a Ptolemy II model. The block diagram editor can be used to construct and configure the model prior to execution and to directly manipulate a model while it is being executed. The basic block diagram editor directly represents the components, ports, relations, and links at the level that they exists in the Ptolemy II kernel. A similar editor allows a state machine model to be edited directly as a bubble and arc diagram. Yet another editor allows modal models to be built where each mode has a refining block diagram. Models are stored persistently using the MoML XML schema.

The Vergil application itself is architected with software components built using the Ptolemy II kernel. This architecture allows it to be easily configured and extended by manipulating these components. MoML is used here as well to specify the component configuration of Vergil, such as component libraries, graphical icons, and strategies for opening new files. The basic toolkit components can be augmented with user written components to provide extended support for a wide range of file types and interaction styles.

Vergil is built entirely using Java, Swing and the Java2D graphics package. The block diagram editor makes use of the Diva graphics framework for manipulating figures.

Although this work is an important part of Ptolemy II, it is intended to be sufficiently general to be applicable to other design tools, and to enable further research into visualization and design of component-based models. It is currently being used extensively in the MESCAL research project and in several companies.

Last updated 11/20/03