Shrimp User Manual

Basic Controls
Navigation and Zooming
Advanced Controls
Layouts
Filtering
Labels
Node Shapes and Icons
Searching
Filmstrip
Query View
Hierarchical view
Thumbnail View
Scripting
Quickviews
GXL Support
Debugging Shrimp
Debugging Creole
Debugging Jambalaya
Setting up Shrimp in Eclipse
Importing Creole
Importing Jambalaya


Basic Controls:

Note: Most controls are customizable. Simply go to Tools > Options > User Controls to change them. See the next page on navigation and zooming for more information.

Three-button mouse

(Most scrollwheels act as a middle mouse button)

Left Mouse Button Selects a node
Shift & Left Mouse Button Adds nodes to the selected nodes
Double Click – Left Mouse Button Opens/closes the nodeOpens composite arcs (note at least one of the source/destination nodes needs to be open for a composite arc to show its children, to close expanded composite arcs, you have to close one or both of the source/destination nodes)
Middle Mouse Button Zoom/Magnify/Fisheye In
Alt & Middle Mouse Button Zoom/Magnify/Fisheye Out
Alt & Left Mouse Button Moves the selected node and its neighbours in small motions to highlight the connected graph
Right Mouse Button Opens the Context Menu

Two-button mouse

As above, but the functionality of the middle button is mapped to the keyboard. “X” will Zoom/Magnify/Fisheye in and “Z” will Zoom/Magnify/Fisheye out.



Navigation and Zooming

User Controls

Note: Most controls are customizable. Simply go to Tools > Options > User Controls to change them. That dialog also displays a description of what each action does.

Action Default
Shortcuts
Description
Zoom In (Zoom  Mode)
Zoom Out (Zoom Mode)
=, +
-,_
Zooms the main view in or out a fixed amount. The zooming is relative to where the mouse is located. The amount of zooming depends on how long the keyboard or mouse button is pressed.
Magnify In
Magnify Out
Numpad +
Numpad -
Zooms the main view in to the level of the node that is clicked on. If a node has no children then performing this zoom will show the contents of the node. This could be the source code, an embedded form, the node’s annotation, or the node’s attributes.
Fisheye In
Fisheye Out
F
Shift F
Zooms the main view in or out using a fisheye lens. This will cause the selected node(s) to enlarge and the surrounding nodes to shrink when zooming in.
Zoom In (Any Mode)Zoom Out (Any Mode) Middle Mouse
Button,  X
Shift+Middle Mouse
Button, Z
Zooms the main view in or out using the currently selected navigation mode (Zoom, Magnify, or Fisheye) described above. To change the navigation mode use the drop down list located in the bottom right corner of the main Shrimp view.
Panning Keyboard Left, Right, Up, Down Scrolls the main view left, right, up, or down.
Snapshot Shift F Puts the current view into the filmstrip (Tools > Filmstrip). For more information about the filmstrip, see the Filmstrip section of this manual.
Hide
Show All Hidden Nodes
Del
Shift Del
Hides the currently selected node(s). To show hidden nodes right click on the main view and choose Show All Hidden Nodes.
Grouping
Ungrouping
G
Shift G
Groups (ungroups) the selected node(s). Grouped nodes will be collapsed into one node on the screen and any arcs will be redirected to/from the new grouped node. When performing a group you will be prompted to choose a new name and add an annotation (optional). A node can also be renamed independetly using the Rename option.

Advanced Controls:

Note: Most controls are customizable. Simply go to Tools > Options > Control Options to change them.

File Menu
Edit Menu
Node Menu
Arc Menu
Navigate Menu
Layout Menu
Filmstrip Menu
Tools Menu
Help Menu


All of these menus are found the various versions of Shrimp. In all versions the available menus and options are context sensitive based on the currently selected node or the location of the cursor when a right click was performed.

Stand alone Shrimp: As regular menu items and via a right click.

Jambalaya (Protege Shrimp Tab): As sub-menus under the Jambalaya menu and via a right click.

Creole (Eclipse IDE plugin): Via a right click.

File Menu

SVG Export:
Saves the current view to a .svg file, assuming the file batik.jar is in the ..protege-2000plugins folder.

Edit Menu

Change Hierarchy:
Change the relationship the hierarchy is based on.

Select All Children:
Selects all the child nodes of the current node.

Select None:
Clears the selection.

Select Inverse Siblings:
Inverses the current selection of nodes.

Search:
Opens the search window.

Node Menu

Show Children:
Displays child nodes of the selected node(s).

Show All Descendents:
Recursively displays child nodes of the selected node(s), also showing the arcs between nodes. This function can be useful on small components or systems, but can be slow and not much benefit on large components.

Close:
Closes the selected node(s).

Show Annotation:
Shows the comments associated with a node.


Layouts

Grid Layout:
Layout the children of the current node using the grid layout algorithm.

Spring Layout:
Layout the children of the current node using the spring layout algorithm.

Tree Layout:
Layout the children of the current node using the Tree layout algorithm.

Radial Layout:
Layout the children of the current node using the radial layout algorithm.

Form (Jambalaya specific):
Show/change contents of a form.

Arc Menu

Go to Source:
Magnifies and opens the source node of the arc.

Go to Destination:
Magnifies and opens the destination node of the arc.

Navigate Menu

Back:
Returns to the previous view.

Forward:
Changes the view the next state (If there is one).

Home:
This will take the user back to the root node. It will not make any changes to the layout or what nodes are open, it will simply return the perspective so the entire root node is visible.

Zoom Mode:
Changes the mode of navigating to zooming. This option will zoom around a point of interest.

Magnify Mode:
Changes the mode of navigating to magnifying the node of interest. In this mode, a smooth animated zoom and pan is done to the selected node, opening it if it is closed.

Fisheye Mode:
Changes the mode of navigating to use a fisheye lens.
Learn more about the fisheye lens functionality here.

Filmstrip Menu

Load filmstrip:
Loads a previously save filmstrip.

Save Filmstrip
Saves the current filmstrip to a .filmstrip file.

Take a Snapshot
Equivalent to the keyboard command Alt-S, takes a snapshot of the current view and stores it on the filmstrip. This happens even if the filmstrip is not viewable.

Tools Menu

Filmstrip:
Opens the filmstrip panel.

Hierarchical View:
Opens an overall view of the Shrimp in a new window.

Filter Selected Node:
Filters the selected node(s).

Unfilter All:
Restores all filtered nodes.

Options:
The user can change the zoom speed, stop using arrow heads, change label options and customize the controls.

Help Menu

Online Manuals:
Links to the online manuals.

Shrimp website:
Links to the Shrimp website.



Layouts

Currently, Shrimp supports six layouts: GridSpringRadialTreeSugiyama, and TreeMap.

The default layout for each node (in a nested view) is Grid. However, users can apply the other layouts to any selected node by issuing the required commands from the the context menu or the toolbar.

The Grid Layout arranges all the children (or sub-nodes) of a specific node to fit into the inner bounds of that node in a rectangular format. It doesn’t take arcs into consideration when laying out the nodes. There are a few varieties of grid layouts which organize the nodes based on the number of children, alphabetically, by the number of relationships, by type, or by another attribute.

The Spring Layout simulates a mechanical system. Highly connected nodes tend to be pulled together and more isolated ones tend to be pushed away from each other.

The Radial Layout positions the nodes and arcs in a radial pattern. This layout will only work well on certain graphs.

The Tree Layout algorithm extracts an acyclic graph from a set of nodes by tracing their relationships. Each node is assigned a layer number. The nodes in the same layer are arranged in a special order to minimize the edge crossings between two consective layers. Some algorithms produce a tree-like layout.

The Sugiyama Layout algorithm is also a vertical tree layout. The difference is it uses smooth bezier curves for the arcs. This layout is very good for trees and dags (directed acyclic graphs).

The TreeMap Layout algorithm is a space-filling method of visualizing large hierarchical data sets.

GridGrid Layout SpringSpring Layout
TreeTree Layout SugiyamaSugiyama Layout
Radial
Radial Layout
TreeMapTreeMap

The Shrimp Fisheye zoom is applied to the view when users want to maintain the contextual relations between a specific node and the other nodes on the screen. A user can apply fisheye zooming to any node of special interest while maintaining the pertinent properties such as orthogonality or other spatial relations. The current Shrimp Fisheye zooming algorithm is an orthogonal algorithm which is based on the original fisheye adjustment algorithm proposed by Dr. M. A. Storey. It was modified to reduce the transformation storage requirements and to support any kind of layout (e.g. Grid, Spring or Tree).

A major feature of the Shrimp Fisheye zooming is that it is reversible without any special order. For example, if a user applied fisheye zooming to node A, B and C (in that sequence), when the user wants to revert back to the original view the reverse path (C, B and then A) does not need to be followed.

Shrimp can also position the nodes in one horizontal row, or in one vertical column, or it can also cascade the nodes.



Filtering

In Jambalaya classes are represented as nodes, and slots or properties as arcs. Clicking on the node or arc filter buttons, or selecting Tools->Arc Filter, will display a panel offering filter options.

Node Filter The Node Filter
Node Filter
Node types available depend on the type of data you are viewing. For example, in Protege one can use OWL or standard ontology backends. Typically, we have class and instance nodes, and in OWL, individuals, defined classes, logical properties, and so on. Checking or unchecking the boxes on the Node Filter window changes the visibility for this node type, hiding or showing those nodes as appropriate.Filtering a node also filters its associated arcs.Click on the node type button (to the left of the checkbox) to display node style properties. This lets you change the node background color, border type(s), and an optional background image.
Arc Filter The Arc Filter
Arc Filter
Arcs represent relationships between concepts, and can also be known as object properties or slots. They have types as well, and again, these will depend on your data. Jambalaya breaks arcs into ‘groups’, which can be used to perform actions on sets of arcs.If you click on a group of arcs, you can hide them all or show them all. In the image above, a group has been selected and the options at the top of the filter are available.You can also change settings for specific arcs by clicking on the eye icon (visibility) or the line icon (this changes arc properties, like curvature, colour, and line style). Filtering arcs does not effect the visibility of the nodes to which they are connected.
Filters View Filters View (New!)
Filters View
This is a new tool that let’s you control the filters in Shrimp, Jambalaya, and Creole. It displays a list of the applied filters and a list of the disabled filters. Filters can be moved between the two lists and the main view will be updated.In the applied filters list, click on the “X” button to disable the filter. It will then appear in the disabled filters list below.In the disabled filters list, click on the “+” button to enable the filter. It will then appear in the applied filters list. Click on the “X” to permanently remove the filter. It will be removed from the disabled filters list.
Advanced Arc Filtering
Shrimp, Jambalaya, and Creole also support the notion of ‘composite’ (or high level) arcs. These are pseudo-arcs representing arcs connecting nodes lower in the hierarchy. For example, in the Wines example, the arcs connecting individual wines to locations are numerous. Enabling composite arcs allows these numerous sub-arcs to be shown as one arc connecting the higher-level concepts such as Wine and Wine Region. This figure shows this feature in action:Composite ArcsArc Group Properties
To access this functionality, right click on a group of arcs and select “Properties…”. This brings up the arc group properties.Select the colour of the arc you would like to see, as well as whether composites below a certain threshold should be filtered (e.g., don’t show a composite of only 10 arcs).
Additional notes
  • Filtering operations may be affected by previous filtering operations and potentially influence future filtering operations.
  • You can create your own groups! At the top of the filter palette, select ‘New Group’. An empty group is created, and you can drag arcs to this new group and drop them in it. For example, one may want to group all ‘Part-Of’ arcs in an anatomical ontology.
  • Expand the help panel in the Node and Arc filter panels for more information.
  • The Node and Arc filter palettes, and the Filters View are accessed in the main toolbar and in the Toolsmenu.


Labels

Within the main view of a Shrimp or Jambalaya display, there are five modes for drawing the node labels. These are (mouse over for an example):

Above Node – Fixed (Default setting)

Above Node – Level

On Node

Fit To Node

Wrap To Node

For all modes you may also select the font face of the labels and the font size for the label of highest level node that is visible. For the modes (Above Node – Level and On Node) you may also select the maximum number of levels of visible labels and whether or not to fade out lower level labels. As well, you may want to see labels with an opaque background. Change these settings in the Tools->Options->Label Options menu.

The Fit To Node mode attempts to fit a label within the node boundaries while retaining a minimum font size. If the text does not completely fit, an ellipsis (…) shows that there is additional text. Zooming in (Magnify) will reveal the full label text. Wrap To Node is similar to this except that text is wrapped to to the next line if there is not enough space on a single line.

When using the Above Node – Level or Above Node – Fixed label modes you can hold your mouse over any node that doesn’t have a label and the label will appear above the node. Also in the On Node mode any label that is too small to read you can hover your mouse over it and a readable label will appear above the node.  (New!)

TIP: if your display shows a lot of nodes, the On Node setting is similar to turning labels off (and will unclutter the display).

The Label Options panel is found in the Tools menu under Options, and also in the extreme lower center of the main view.



Node Shapes and Icons

Besides the basic rectangle node shape, there are many different shapes that you can use to represent node types. Here are a list of the node shapes currently supported, you can hover over them to see a preview.

To change the shape of a node type, open the Node Filter window, then click on the node type button of interest, and you’ll be presented with another dialog that lets you configure the node shape, label style, etc.

Rectangle

Rounded Rectangle (default)

Rectangle (Stack)

Rectangle (Drop Shadow)

Rectangle (Triangle Overlay)

Ellipse

Triangle

Triangle (Inverted)

Diamond

File

Folder

Cylinder

Festive

Creative

You can also do a lot on than just changing the node shape. You can add one or two borders, change the border colors, change the fill colors, add a background image, and change the label style.

Node Icons and Images

Node Label IconBesides changing the background image of a node, you can also change the node label icon (which is displayed beside and on the left of the label) for individual nodes. To do this right click on a single node and choose Change Label Icon. Then choose the icon image that you want to display. Obviously smaller imagese (e.g. 16×16) look the best. To remove the label icon choose Remove Label Icon from the context menu.
Node Overlay Icon
You can also add an overlay icon to a specific node. To do this right click on a node and choose Change Overlay Icon. Then choos the icon image to display, and choose the scaling and positioning for the icon. The icon can be positioned anywhere inside the node. You can also choose when the icon is displayed – on closed nodes, open nodes, or always. To remove the overlay image choose Remove Overlay Icon from the context menu.



Searching

Shrimp supports a limited search functionality. It is restricted to content which Shrimp has loaded. For example, classes that are not part of the working set (an Eclipse concept) being visualized are not part of the search corpus. Similarly, searches done outside of Shrimp are not currently viewable in the Shrimp search window, nor do they affect any of the views – for example, the Hierarchical View’s search mode.

Search Window

Above is an image of a completed search.

Other options:

  • Node type: used to select the type of node to search on. In Protege, this can be class or instance; in other domains, can include any number of node types.
  • Case Sensitive - applies case to search patterns. Also, the search is not on whole word only – these patterns match pieces of text as well.
  • regular expression - applies regular expressions to the search. This allows for wild card operators such as ?, *, . among others. See the website for more help on this subject.
  • Search within results - allows for searching within the existing result set. This checkbox is therefore only available when at least one result set is available. The next search is applied only to the nodes that satisfied the initial conditions.
  • Browse - navigates to the selected node in the main view. Only one node can be browsed to at a time. This is also the action which occurs upon double-clicking the result with the left mouse button.
  • filter selected - filters the selected nodes(s) in the main view. This action is identical to filtering directly in the main view.
  • Item(s) - this indicates how many items have been selected in the results list.


Filmstrip

The filmstrip provides a mechanism for saving several different states of a project. These states can easily be returned to by double left-clicking on the snapshot of the state in the filmstrip. The entire filmstrip can be saved to disk to allow the user to quickly reload views of a project from a previous session (or someone else’s session).

When a snapshot is placed into the filmstrip, the user is asked to provide a description of the snapshot. A filmstrip only holds a limited number of snapshots. If a new snapshot is taken when the filmstrip is full, it is placed in the leftmost position of the filmstrip and oldest snapshot will be dropped from the right hand end of the filmstrip. The filmstrip is opened from the Tools menu.

To show the filmstrip use the Shrimp main menu and select Tools > Filmstrip.



Query View

QueryView

The QueryView (or Neighbourhood Viewer) provides an easy way to search for specific terms in the current project. Matching terms are displayed in the view as well as the neighbouring nodes. The search textfield has autocompletion to help choose the right search term (press escape to cancel the autocompletion).

There are two ways to search: Search By Name and Use Selected (…).

  • Search By Name performs the search on the text in the search box
  • Use Selected (…) performs the search on the selected node(s) in the main ShrimpView

You can choose the node and arc types of interest by checking and unchecking the items in the two lists. After a search has been performed you can uncheck any nodes and arc types to hide those types in the view.

Levels: this controls how many neighbouring nodes should be displayed for the matching nodes. A level of 1 means show only the nodes that are directly connected to the matching nodes. Incoming and Outgoing refer to the direct of the arcs. Click on the help icon (question mark) next to the outgoing levels for more help.



Hierarchical View
This feature provides a useful overview of an entire dataset. The Hierarchical View uses the :DEFAULT-SUBCLASS and :DEFAULT-INSTANCES relationship to show inheritance hierarchies for a dataset. It is also linked with the display in the Main View. Below we see a default view as the tool is first opened. In this example, the Wines example from the Protégé domain, we see the root node, and its immediate children. To see all the nodes in the domain, select the root node and choose Expand All (warning: time-consuming on large datasets). Nodes showing an inverted triangle indicates that it has hidden children. Colour coding is taken from the main view panel and can be configured with the Node filter.

Double-clicking on a node displays its corresponding node in the main view. That node is enlargened to reflect this. The hierarchical view can also be useful to show multiple inheritance in complex graphs; using the tooltips, hover over the nodes that have multiple incoming links, and the tooltips will show the complete inheritance tree.

NOTE: a node in the main Shrimp view represents certain information, but with multiple parents, there can be many nodes on the main view that represent the same data. For example, filtering a specific node will cause all nodes that represent the same data to be filtered.

Display Modes

There are three display modes for this view. They are the navigation mode, filtered mode, and search results view. These are three different options for how the display changes on the screen.

Change the current mode by clicking the appropriate radio button at the bottom of the panel, as shown below.

  • Navigation mode highlights the node selected on the hierarchical view screen by enlarging it, so that you can always determine what node you are viewing or editing in the main view.
  • Filtered mode highlights by enlarging in the hierarchical view those nodes you have filtered from the nested view.
  • Search Results mode will highlight the nodes for which you have performed a successful search. Note that this is not affected by any searches done in Protege forms (such as Classes or Instances panels), or other parent applications.

Navigation of the Hierarchical View

This mode is used to browse the view. There are several controls that affect the navigation. Those listed are defaults, but these are configurable for your preferences and needs (e.g. a Macintosh system) using the Tools > Options > User Controls menu.

  • [Menu] Navigate > Home : This command takes the user to the extent of all visible nodes. This is useful when the display expands beyond the scope of the current window size, or when enlarging the window.
  • [Mouse] Middle-click - this zooms the user in on the mouse location, as long as it is on a node.
  • [Mouse] Shift-Middle-Click - zooms back out on mouse location.
  • [Keyboard] +/- keys – Zooms in and out
  • [Keyboard] Arrow keys – Pan the view in all four directions.

Editing Hierarchical View

  • [Menu] Edit > Select Inverse - Deselects the currently selected nodes, and selects any unselected nodes.
  • [Context Menu] Collapse - Collapses the currently selected node into an inverted triangle shape. Collapsing a node means that, much like folders in a file manager, the contents of the node are hidden but present. Collapsing a node is useful in large graphs when you want to abstract the detailed content to focus on the higher level concepts. For example, implementation classes could be collapsed into the parent package node.
  • [Context Menu] Expand - On the selected nodes, if a node has not previously been expanded, its immediate children are shown. If a node has been collapsed and then is expanded, all the descendents of this node that were “collapsed” are shown again.
  • [Context Menu] Expand All - Expands all the children of the current node. If performed on the root node, shows all the nodes.
  • [Context Menu] Prune - As seen below, this action edits the tree so that only the selected node and any descendents are retained. All other nodes are hidden, and the new root node takes the shape of a diamond. This view is useful to zero in on an area of interest. You cannot prune more than once; to do this, first unprune the tree and then re-prune on the node of interest. Note that pruning is different than filtering. Filters apply only to the display in the Main View. Pruning applies only to the Hierarchical View.
  • [Context Menu] Unprune - Essentially undoes the prune operation. No node need be selected for this operation.

Changing Layouts

Under the Layout menu, there are two layout algorithms which can be selected for the Hierarchical view, Radial Layout, and Tree Layout. These algorithms are applied to all nodes shown on the view. This means that those nodes which are filtered or collapsed, i.e. not visible, are not calculated in the layout routine.



Thumbnail View

The Thumbnail View is another way of maintaining context while navigating.

Thumbnail View

  • Select Tools > Thumbnail View to bring up this dialog.
  • The current working view is shown as a red rectangle (above).
  • You can move the gray rectangle around by clicking on the border and dragging. This re-positions the viewing area.
  • There is also a black rectangle at each corner of the gray rectangle which can be dragged to resize the extent of the viewing area.


Scripting

Scripting Tool

Jambalaya and Shrimp support the Bean Scripting Framework (BSF). Currently scripts can only be written in Javascript. In the future we might include support for the other languages supported by BSF (such as Jython and Ruby).

To show the scripting window select Tools > Scripting from the main menu.

Scripts can be run using the Script > Run menu inside the scripting window, or by pressing the F5 key.

The Scripting Tool has many new features:

  • Content Assist on the constants and mainView variables. To use press CTRL+Space after typing in either “constants.” or “mainView.” and a drop down list will appear showing the defined constants and methods.
  • Syntax highlighting
  • Undo/redo support

For a complete listing of all the available functions the see the Scripting API

Examples

1) A simple script to perform different layouts on the children of selected nodes is given below:

Runs a vertical tree layout on the selected node’s children:

constants = bsf.lookupBean("scriptingConstants");
mainView = bsf.lookupBean("mainViewScriptingBean");
mainView.layoutChildren(constants.TREE_VERTICAL);

Put a try catch block around your code to alert you when an error happens:

try {
    constants = bsf.lookupBean("scriptingConstants");
    mainView = bsf.lookupBean("mainViewScriptingBean");
    mainView.badMethod();   // throws an exception
} catch (e) {
    mainView.alert("Caught exception: "+e);
}

All scripts can be saved using the File > Save menu. Then later you can load a script using the File > Open menu.



Quickviews

Quick Views:

Quick Views allow users to create, configure, and delete custom views. These views define:

  • Layout (e.g. grid, radial, spring, tree)
  • Label mode (e.g. Above Node, On Node)
  • Icon
  • Node & Arc Types – check the node and arc types to display
  • Nesting Hierarchy – check the arc types in the list to nest on.
  • Allows minimal configuration of composite (high-level) arcs. This is only applicable for nested views. More configuration of composite arcs can be done in the Arc Filters panel.

The image below shows the quick views configuration dialog. Use the toolbar buttons to create new quick views, delete quick views, and to run the selected quick view (in the main view).

Quick Views
Click to view the full size image.As the image above says invalid quick views (displayed with a red border) are most likely caused because the project doesn’t contain any of the selected nodes and arc types.
- For nested views at least one valid node type must be selected.
- For flat views at least one valid node type and one valid arc type must be present.

Checking and unchecking the Display? checkbox will determine whether the quick view shows up in the quick view panel.

Clicking the Default button int the toolbar will reset your quick views back to the defaults (based on the type of project). You cannot undo this.

Quick views can be imported and exported to a file. Use the two toolbar buttons at the top to perform these operations. In both cases you get to choose which quick views you want to import or export and the file you want to import from or export to.



GXL Support

Shrimp, Jambalaya, and Creole all support GXL – the Graph eXchange Language (assuming that the gxl.jarfile is on your classpath which it is by default).

A sample GXL document is shown below to help you get started with using GXL with Shrimp:

<gxl>
    <graph id="graph">
        <node id="Child1">
            <type xlink:href="Function"/>
            <attr name="color"><string>#FF0000</string></attr>
            <attr name="OuterBorderColor"><string>#00FF00</string></attr>
        </node>
        <node id="Child2">
            <type xlink:href="Function"/>
            <graph id="subGraph">
                <attr name="display"><bool>false</bool></attr>
                <node id="1"></node>
                <node id="2"></node>
                <node id="3"></node>
            </graph>
        </node>
        <node id="Child3">
            <type xlink:href="Function"/>
            <attr name="Source Code"><string>source code</string></attr>
            <attr name="color"><string>gray</string></attr>
            <attr name="OuterBorderColor"><string>yellow</string></attr>
            <attr name="OuterBorderStyle"><string>Dashed</string></attr>
        </node>
        <node id="Child4">
            <type xlink:href="Method"/>
        </node>
        <edge from="Child1" to="Child2">
            <type xlink:href="calls"/>
            <attr name="color"><string>green</string></attr>
        </edge>
        <edge from="Child1" to="Child3"><type xlink:href="calls"/></edge>
        <edge from="Child1" to="Child4"><type xlink:href="accesses"/></edge>
    </graph>
</gxl>

The Shrimp GXL parser supports a few special attributes worth mentioning:

  • color - sets the color of a node or arc
  • OutsideBorderColor - sets the color of the outer node border
  • OutsideBorderStyle - sets the node border style, can be one of “Plain” or “Dashed”
  • InsideBorderColor - sets the color of the inner node border
  • InsideBorderStyle - sets the node inner border style, can be one of “Plain” or “Dashed”
  • display - controls whether sub graphs are drawn as nodes. If set to true (the default behavior) then the graph will be drawn as a node, and then child nodes will be drawn inside the graph node. If false the child nodes will be drawn inside the parent node (no intermediate graph node). This attribute is only valid on <graph> tags.

Note #1: Colors can be defined in two ways: either as the hexidecimal string like #FF0000 for red, or just the color name like red. Only 13 colors are available by name (this is what Java defines): black, blue, cyan, darkgray, gray, green, lightgray, magenta, orange, pink, red, white, and yellow.

Note #2: By default Shrimp does not display inner borders. To render inner borders go to the Node Filter panel and configure the appropriate node type. See the screenshot below.

Enabling inner node borders by node type



Debugging Shrimp

  1. Select your ca.uvic.csr.shrimp project in the Package Explorer
  2. Create a new Launch Configuration (under the Run > Debug… menu).
  3. Select Java Applications from the tree on the left and click the New Launch Configuration toolbar button
  4. Give your new configuration a name
  5. If the Project field is blank, click Browse… and select your Shrimp project (e.g. ca.uvic.csr.shrimp)
  6. Under Main class click the Search… button and type in Shrimp into the textfield. Choose the matching type Shrimp – ca.uvic.csr.shrimp and press OK
  7. Click Apply at the bottom.
  8. To debug Shrimp click the Debug button at the bottom.

Creating a new launch configuration for debugging Shrimp inside Eclipse
For instructions on importing Shrimp into Eclipse click here.



Debugging Creole

  1. Create a new Launch Configuration (under the Run > Debug… menu).
  2. Select Eclipse Application from the tree on the left
  3. Click the New Launch Configuration toolbar button
  4. Give your new configuration a name
  5. [Optional] You can choose a different directory for your runtime workspace
  6. Click Apply
  7. To start debugging Creole click the Debug button
  8. Another Eclipse window will open showing your runtime workspace which lets you test your plug-ins

Creating a new launch configuration for debugging Creole inside Eclipse

For instructions on importing Creole into Eclipse click here.



Debugging Jambalaya

    1. Select your ca.uvic.csr.shrimp project in the Package Explorer
    2. Create a new Launch Configuration (under the Run > Debug… menu)
    3. Select Java Applications from the tree on the left

and click the New Launch Configuration toolbar button

    1. Give your new configuration a name
    2. If the Project field is blank, click Browse… and select your Jambalaya project (e.g. ca.uvic.csr.shrimp)
    3. Check the Include libraries when searching for a main class checkbox. Then click the Search… button and type in Application in the dialog and you should see one matching type: Application – edu.stanford.smi.protege, Click OK
    4. Click the Arguments tab
    5. You can put something like this in the VM arguments field: -Xmx512M depending on how much memory your computer has. If you have 512MB or less memory, then you can leave this field empty. Otherwise I’d recommend setting this to -Xmx512M.
    6. At the bottom of the Arguments tab, select the Other radio button, and enter in the directory of your Protege installation. e.g. C:\Program Files\Protege 3.2 beta
    7. Next, click on the Classpath tab at the top.
    8. Select the User Enties item, and then click the Add External JARs… button on the right. Go into your Protégé directory and add the following files:
      • lax.jar
      • looks.jar
      • unicode_panel.jar
      • For OWL support only – add all the jars inside the Protégé\plugins\edu.stanford.smi.protegex.owl directory EXCEPT protégé-owl.jar (since it is already included inside Jambalaya).
    9. Click Apply at the bottom.
    10. To debug Jambalaya click the Debug button at the bottom.

Important: you must have a version of Jambalaya installed in your Protege/plugins directory otherwise this won’t work. It doesn’t have to be the latest version of Jambalaya.

Creating a new launch configuration for debugging Jambalaya (and Protege) inside Eclipse

Creating a new launch configuration for debugging Jambalaya (and Protege) inside Eclipse

Creating a new launch configuration for debugging Jambalaya (and Protege) inside Eclipse

For instructions on importing Jambalaya into Eclipse click here.



Setting up Shrimp in Eclipse

  1. Downloaded the latest Shrimp source code from here
  2. Inside Eclipse select the File > Import… menu
  3. Choose Existing Projects into Workspace and press Next
  4. Click the Select archive file: radio button and click Browse… to locate the zip file you downloaded in step #1
  5. Press Finish
  6. This will create a new project inside Eclipse called ca.uvic.csr.shrimp

Importing Shrimp into Eclipse

For instructions on debugging Shrimp click here.



Setting up Creole in Eclipse

  1. Downloaded the latest Creole source code from here
  2. In Eclipse select the File > Import… menu
  3. Choose Existing Projects into Workspare, then press Next
  4. Click the Select archive file: radio button and click Browse… to locate the zip file you downloaded in step #1
  5. Press Finish
  6. This will create 5 new projects inside Eclipse called containing all the Creole plugins

Importing Creole into Eclipse

For instructions on debugging Creole click here.



Setting up Jambalaya in Eclipse

  1. Downloaded the latest Jambalaya source code from here
  2. In Eclipse select the File > Import… menu
  3. Choose Existing Projects into Workspare, then press Next
  4. Click the Select archive file: radio button and click Browse… to locate the zip file you downloaded in step #1
  5. Press Finish
  6. This will create a new project inside Eclipse called ca.uvic.csr.shrimp containing all the Jambalaya files

Importing Jambalaya into Eclipse

For instructions on debugging Jambalaya click here.

next

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s