Listing of developer traces

The following are the developer traces resulting from the experiment. A description of the contents of the traces is found further below. Note that these are not currently conformant XML as they do not have a surrounding top-level pair.



Description of the Trace Format

Traces are from the Mylar Monitor, with two monitors installed. The first monitor is the example Java SelectionMonitor, shipped as a part of the Mylar Monitor, which monitors for selections in the user interface. The second monitor is the JavaEditorViewportMonitor which records content changes in editors.

The JavaEditorViewportMonitor causes editor changes to be recorded as selection events, with the delta containing an XML fragment such as:

<interactionEvent>
    <kind>selection</kind>
    <!-- other tags elided -->
    <navigation>scrolling</navigation>
    <delta>
	<scrolling removed="23 " added="64 " visible="24:26 31:64 ">
	    <newlyVisibleElements>
		<handle kind="java" lines="41:150">
		    =jEdit-4.1pre6/&lt;org.gjt.sp.jedit.options{LoadSaveOptionPane.java[LoadSaveOptionPane~_init
		</handle>
	    </newlyVisibleElements>
	</scrolling>
    </delta>
</interactionEvent>

There are four types of delta, corresponding to the navigation type:

<opened>
this part (an editor) was newly opened
<brought-to-top>
the part was just brought to the top
<folding>
there was a folding change, resulting in either an expansion or contraction in content
<scrolling>
the part was scrolled

All delta types have three attributes. The added and removed attributes report the change since the previously reported delta. The visible attribute summarizes what is currently visible. Each attribute reports a set of space-delimited numbers representing line ranges.

The delta also reports the handles of the domain-specific elements that were added as a result of the change (where available). This is a delta from the previously reported changes, and is listed in the <newlyVisibleElements>...</newlyVisibleElements> tags. Each handle represents some domain-level element (the domain is contained in the kind attribute); the handle's lines attribute provides the line range containing the elements definition.

The example above reports that a part was scrolled, with line 23 disappearing, line 64 newly appearing, and the net result being lines 24 through 26 and 31 through 64 are currently visible. The scrolling revealed more of an element (from its lines attribute, we can determine that part of the definition was previously visible).


Brian de Alwis / bsd@cs.ubc.ca
Updated: 2006/11/03