GrALoG-Application

Installation

To install the GrALoG-Application go to GrALoG-package-download and download the file gralog.zip in the latest release of GrALoG. This file contains the GrALoG-Application together with all GrALoG-plugins. To start GrALoG unzip gralog.zip and execute the gralog.jar-file, via:

java -jar gralog.jar

Getting Started

After starting the GrALoG-Application, you should see the following screen:

As you can see the GrALoG-Application-Window consists of:

  • A Menubar containing general commands.
  • A Toolbar containing a subset of the commands in Menubar for quicker access.
  • A number of Views. You are free to open, close and rearrange these as you like. The following Views are available in the GrALoG-Application:
    • The Plugins-View. This view allows you to browse through the currently installed plugins, create structures and execute algorithms.

    • The Overview-View. This view shows a Birdseye-View of the currently active structure.

    • The Element-Properties-View. This view allows you to edit the elements, i.e. vertices and / or edges, of the currently active structure.

    • The Structure-Properties-View. This view allows you to edit the properties of the currently active structure.

    • The Algorithm-Result-View. This view allows you to customize the currently selected Algorithm-Result-Document.

    • The Desktop-View. This view contains all currently opened documents, i.e. Structure- and Algorithm-Result-Documents.

Menubar

The Menubar contains all general propose commands that are available in the GrALoG-Application. Below is a list of menus and their description:

  • The File-Menu contains all commands to open, save and close GrALoG-documents. It also contains the Exit-command to close the GrALoG-Application.

  • The Edit-Menu contains several commands needed to edit structures, like undo, redo, copy, paste, cut and also commands for selecting all vertices and / or edges of a structure.

  • The Tools-Menu allows you to switch between the available Structure-Editor-Modes in the GrALoG-Application. The Structure-Editor-Mode determines the kind of tasks that you can execute in the the Structure-Editor ( See also the section called “Structure-Editor” ).

    The following Structure-Editor-Modes are available:

    The Select-Editor-Mode allows you to select and move elements, i.e. vertices and / or edges, of your structure.

    The Pan-Editor-Mode allows you to interactively change the current view-port of your structure.

    The Add-Node-Editor-Mode allows you to add new vertices to your structure.

    The Add-Edge-Editor-Mode allows you to add new edges to your structure.

    The Marque-Zoom-Editor-Mode allows to zoom into a rectangle-region of your structure.

    The Interactive-Zoom-Editor-Mode allows to interactively zoom in and out of your structure.

    Tools also contains the Open StructureLayoutAlgorithmDialog-command, which opens the StructureLayoutAlgorithmDialog that can be used to apply layout-algorithms to your structures.

  • The View-Menu contains commands to change the zoom for the currently active structure. It also allows you to reopen Views.

  • The Info-Menu currently only contains the About-command.

Toolbar

Contains only commands that are also available in the Menubar. Please refer to the previous section for details about these commands.

Documents

Documents in GrALoG are either Structure-Documents, i.e. documents that represent a GrALoG-structure, or Algorithm-Result-Documents, i.e. documents that represent results of GrALoG-algorithms. All currently open documents are shown in the Desktop-View ( See the section called “Desktop-View” ).

Structure-Documents

Structure-Documents represent GrALoG-structures. You can create an empty Structure-Document by choosing one of the currently installed structures from the Plugins-View ( See the section called “Plugins-View” ). There you can also choose one of the currently available structure-generating-algorithms to construct a non-empty Structure-Document.

The following views are useful when editing Structure-Documents in the GrALoG-Application:

Algorithm-Result-Documents

Algorithm-Result-Documents represent results of GrALoG-algorithms. Algorithm-Result-Documents consist of one or more Algorithm-Result-Contents, in particular they consist of either:

  • a single Algorithm-Result-Content
  • a list of Algorithm-Result-Contents
  • a tree of Algorithm-Result-Contents

Each Algorithm-Result-Content has exactly one associated GrALoG-structure and can also contain one or more of the following:

  • A list of Display-Subgraphs.

    A Display-Subgraph is a subgraph of the GrALoG-structure associated to this content, that has a name and information about how to render the elements, i.e. vertices or edges, inside respectively outside of this subgraph. The combined rendering-information of all the Display-Subgraphs, that are associated to this content, determines the rendering of the associated structure in the Structure-Editor.

    Display-Subgraphs are normally used to highlight parts of the structure associated to this content that play a crucial part to the algorithm.

  • A list of Display-Element-Tips.

    Each Display-Element-Tip provides tool tips for elements, i.e. vertices or edges, of the structure associated to this content. You can see the tool tip for an element of your structure by hovering over that element with your mouse in the Structure-Editor.

An Algorithm-Result-Content can also have a customizer associated with it. A customizer is a GUI-Component that allows you to interact with the Algorithm-Result-Content. Most Algorithm-Result-Contents that have a customizer also react to your selection of elements, i.e. vertices or edges, in the Structure-Editor.

At every point in time an Algorithm-Result-Document, that is open in the GrALoG-Application, has exactly one active Algorithm-Result-Content, whose associated structure is displayed in the Document-Window of this document. In contrast to structures belonging to Structure-Documents, structures, that are part of an Algorithm-Result-Document are not editable - except for changes to their layout - and can not be used as inputs to algorithms. It is nevertheless possible to open a Structure-Document for these structures, that in turn can be edited and used as input for algorithms ( See the section called “Algorithm-Result-View” ).

The following Views are useful when working with Algorithm-Result-Documents:

  • The Algorithm-Result-View is the most important view, when working with Algorithm-Result-Documents in GrALoG. This view allows you to:

    • Switch between the available Algorithm-Result-Contents of your document.

    • Customize Display-Subgraphs and Display-Element-Tips associated to the current Algorithm-Result-Content.

    • Create Structure-Documents from the structures belonging to your document.

    • Interact with the current Algorithm-Result-Content via the customizer provided by that content. As mentioned above the interaction can also include your selection of elements in the Structure-Editor belonging to that document.

    ( See the section called “Algorithm-Result-View”).

  • The Overview-View gives you a Birdseye-View of the structure associated to the current Algorithm-Result-Content of your Algorithm-Result-Document. ( See the section called “Overview-View”).

Views

Desktop-View

The Desktop-View contains all currently open documents. Documents in GrALoG are either structures or results of algorithms, which in turn contain structures. Each document in the Desktop-View has it's own Document-Window, which is named after the file the document belongs to. The Document-Window contains the Structure-Editor, for editing the structure belonging to that document ( see the section called “Structure-Editor” ). The following screenshot shows the Desktop-View with two open Document-Windows and the Structure-Editor for the document lsd.xgr.

Overview-View

The Overview-View provides a Birdseye-View of the currently active structure. You can use this view to change the view-port and it's size by moving or resizing the red rectangle that shows the current view-port.

Plugins-View

The Plugins-View allows you to browse the currently installed plugins together with their structures and algorithms. The most important part of the Plugins-View is the Plugins-Navigator-Tree. The Plugins-Navigator-Tree basically allows you to browse the plugins and select structures and algorithms belonging to them. Depending on your choice in the Plugins-Navigator-Tree, i.e. whether you select a plugin, a structure or an algorithm, the Plugins-View shows you information about the plugin, about the structure together with a button to create that structure or about the algorithm together with the tools you need to configure and execute that algorithm. The following screenshot shows the Plugins-View for the case that you selected a plugin:

The screenshot shows the Plugin-Navigator-Tree, where the plugin called logic is currently selected. As you can see each plugin-node in the Plugin-Navigator-Tree has two children, i.e. a child called structures and a child called algorithms, which in turn contain all structures respectively algorithms belonging to this plugin. Below the Plugin-Navigator-Tree you can see the Plugin-Description for the currently selected plugin logic.

The next screenshot shows the controls available when selecting a structure in the Plugin-Navigator-Tree:

Use the Create Structure-Button to create an empty structure of the selected type.

The last screenshot shows you the controls available when selecting an algorithm in the Plugin-Navigator-Tree:

The following explains the highlighted parts of this screenshot:

  • Use the Algorithm-Properties-Sheet to configure the properties for that algorithm. The Algorithm-Properties-Sheet consists of a table, where each row defines a property of that algorithm. Many algorithms in GrALoG come with a description for their properties, which is displayed as a tool tip for the corresponding row. There is also a general description for each algorithm in the Algorithm-Description-Sheet.

  • The Algorithm-Description-Sheet shows a description for the currently selected algorithm. The description normally tells you what the algorithm does and how to define it's properties.

  • After you have configured the properties of your algorithm in the Algorithm-Properties-Sheet you can now execute the algorithm using the Execute Algorithm-Button. In most cases GrALoG will now open a so called Algorithm-Result-Document that shows you the result of that algorithm. ( See also the section called “Algorithm-Result-Documents” )

Element-Properties-View

The Element-Properties-View is used to edit the properties of elements, i.e. vertices and / or edges, of your structure.

The screenshot above shows the basic components of the Element-Properties-View. To edit the elements of your structure, you first have to select the elements you would like to edit via the Structure-Editor ( See the section called “Structure-Editor” for how to select elements in the Structure-Editor ). Once you have selected the elements, you can use the Property-Editor-Sheet to edit the properties for these elements. Each row in the Property-Editor-Sheet corresponds to a selected element of your structure and each column represents an editable property for this element. Note that when you select a row / or a number of rows in the Property-Editor-Sheet these elements are highlighted in the Structure-Editor for your convenience. It is important to note that the Property-Editor-Sheet either displays all currently selected vertices or all currently selected edges of your structure and that you can switch between editing vertices and edges using the Choose-Element-Type-Component.

Structure-Properties-View

The Structure-Properties-View can be used to edit the properties of the currently active structure. A screenshot for this view is shown below:

In general the Properties-Sheet provides a customizer that allows you to edit the properties of the currently active structure. In the screenshot above the active structure is a transitionsystem and the customizer allows you to add, edit, remove and rename the propositions for this transitionsystem. The Description-Sheet normally provides help on how to use the particular customizer for the given structure.

Algorithm-Result-View

As already mentioned in the section called “Algorithm-Result-Documents” the Algorithm-Result-View is the most important view when working with Algorithm-Result-Documents in the GrALoG-Application. The following screenshot shows the components of an Algorithm-Result-View, that displays an Algorithm-Result-Document with a tree of Algorithm-Result-Contents, a number of Display-Subgraphs and Display-Element-Tips.

Below is a list of the components shown in the screenshot above:

  • The Result-Sheet is the most important Sheet of the Algorithm-Result-View. As you can see it consists of several sub-components that are explained below:

    • The Content-Chooser allows you to choose the active Algorithm-Result-Content for that document. The active content determines the structure, Display-Subgraph and Display-Element-Tips that are displayed in the Structure-Editor for that document.

      In the screenshot shown above the Content-Chooser allows you to select Algorithm-Result-Contents from a tree, because the current Algorithm-Result-Document has a tree of Algorithm-Result-Contents associated with it.

    • The Subgraph-Options-Panel allows you to customize the Display-Subgraphs associated with the active Algorithm-Result-Content. You do this by first choosing the Display-Subgraph you want to edit via the Choose Subgraph-Combo-Box and then altering the rendering information in the table below. Note that you can also choose not to display the chosen Display-Subgraph by deactivating the visible-Check-Box below the rendering table.

    • The Element-Tips-Panel allows you to customize the Display-Element-Tips associated to the active Algorithm-Result-Content. You do this by first choosing the Display-Element-Tip you want to edit via the Choose Element-Tip-Combo-Box and then using the visible-Check-Box to it's right to activate or deactivate that particular Display-Element-Tip.

    • For Algorithm-Result-Contents that provide a customizer the Result-Sheet also contains a panel named Content Customizer. This customizer can be an arbitrary GUI-component that allows you to interact with this particular content. Note that the Algorithm-Result-Content shown in the above screenshot does not provide a customizer.

  • The Algorithm-Sheet provides information about the algorithm, that produced this Algorithm-Result-Document. The information includes the name of the algorithm together with the values for all properties, that where set before executing that algorithm.

  • The Description-Sheet provides a description for this Algorithm-Result-Document. It usually tells you more about the meaning of the Algorithm-Result-Contents, Display-Subgraphs and Display-Element-Tips associated with this Algorithm-Result-Document. If some Algorithm-Result-Contents of this document provide a customizer, the description might also tell you how to use this/these customizer(s).

Structure-Editor

The Structure-Editor provides the tools necessary to edit the mathematical structure of your structure. The following screenshot shows some of the features of the Structure-Editor:

Of particular importance in the above picture is the Context-Menu. You can reach the Context-Menu of the Structure-Editor at any time by clicking the right-button of your mouse within the Structure-Editor-Area. The context menu provides shortcuts to the commands from the menubar, that are particularly useful when editing your structure. In particular it allows you to change the Structure-Editor-Mode and contains general editing and zooming commands. As explained in Structure-Editor-Modes the Structure-Editor-Mode determines the editing tasks that you can execute in the Structure-Editor.