Next: 2.2 Understanding the Preview Up: 2. Data Model Previous: 2. Data Model Contents

# 2.1 Understanding the Drawable

The main visual component in the SLOG-2 visualization program, Jumpshot-4, is the timeline canvas, which is zoomable and scrollable in both the horizontal and vertical axes. The timeline canvas can be thought of as a TIMELINE vs TIME coordinate system. Each point on the canvas is identified by two numbers: a timestamp and a timeline ID. The graphical objects contained in the SLOG-2 file are drawn on the canvas. These objects are called drawables. There are two kinds of drawable objects:primitive and composite drawables. The primitive drawables are the simplest drawables and are considered to be basic elements of the SLOG-2 file. They are categorized based on their topological structures. Currently, three topologies are supported in SLOG-2:state, arrow, and event. Both state and arrow are drawables identified by two points in the timeline canvas, that is, a pair of (timestamp, timeline ID) coordinates. State's start timeline ID is the same as its final timeline ID, but arrow's start and final timeline IDs may be different. Event consists of only one point in the timeline canvas; that is, it has only one timestamp and one timeline ID. The composite drawable is more complicated and is constructed by a collection of primitive drawables.2.1 In order to centralize the properties of drawables, all the displayable attributes of a drawableare stored in its corresponding Category object (e.g., color, legend name, topology, and other shared description of a drawable). Both the category and drawable definitions are stored in the SLOG-2 file. These definitions are interpreted and displayed by the display program, Jumpshot-4.

One of the distinct features of Jumpshot is that it uses nested states to show the relationship of functions in the call stack; that is, the nested states correspond to the nested subroutine calls. The current implementation of the SLOG-2 format stores some of the state nesting information to optimize the performance of the visualization program.

#### Footnotes

...2.1
  In general, the composite drawable can be seen as composed of other simpler composite drawables.

Next: 2.2 Understanding the Preview Up: 2. Data Model Previous: 2. Data Model Contents