Responsible:

Demo videos:

A complex example for using KLighD technology, the Ptolemy Visualization project is about generating transient views of Ptolemy II models. Ptolemy II is an open source program developed at UC Berkeley for experimenting with actor-oriented modelling. Actors are graphical representations of components with a certain functionality that generate output as a function of the inputs they receive. To use the output of one actor as the input of another, actors can be connected by links. A typical Ptolemy model might for instance look like this:

Insert picture of a typical Ptolemy model here.

In some respect, Ptolemy models are a typical example of graphical modelling languages:

However, Ptolemy models have some features that are not that common:

KLighD Visualization

With our KLighD visualization, we aim to develop a Ptolemy model browser that is particularly good at helping users read through Ptolemy models. It is able to directly open Ptolemy files and display them in a way very similar to what Ptolemy users are used to seeing. The biggest change with respect to how Ptolemy shows models is that our model viewer allows to expand hierarchical actors in-place, without having to open a new window. This helps users understand the context a hierarchical actor is placed in: by understanding where inputs come from and where outputs go to, users also better understand what the hierarchical actor is doing and what it is used for.

This is a screenshot of the model browser displaying the model that Ptolemy showed before, with some actors expanded:

Add screenshot.

Open and browse a Ptolemy model:

  1. Start Eclipse with the KIELER Ptolemy Viewer feature installed.
  2. Import the CarTracking Ptolemy model. TODO: WHERE DO PEOPLE GET THE MODEL?
  3. Open the model by double-clicking it in Eclipse.
  4. Open and close some of the hierarchical actors by double-clicking them.

We have also added further features that may be helpful when browsing models:

How This Stuff Works

All of this functionality is implemented in one main plug-in and two support plug-ins:

For the rest of this page, we will describe the basics of how the transformation works and the challenges it presented.

Architecture of the Transformation

Describe the architecture.

Generating the Basic KGraph Model

Describe step 1.

Optimizing the KGraph Model

Describe step 2.

Adding Rendering Information to the KGraph Model

Describe step 3.