Graph

The Graph is the main component of Together Workflow Editor. It displays the graph representing the selected process or activity set. It offers the possibility to insert new elements into the graph and to visually define the flow / logic of the workflow process you are modelling.

Figure 4.5. Graph Panel

Graph Panel

The Graph has its own toolbars with action Shortcuts to customize the view of the process, inserting new process elements or modify existing process elements.

The toolbar on top of the graph component consists of the following actions:

This action saves the graphical view of the current graph into a JPG format file.

This action saves the graphical view of the current graph into a SVG format file.

This action saves the graphical view of the current graph and process information into a PDF format file.

This action zooms into the graph.

This action displays graph in its actual size.

This action zooms out of the graph.

This action moves the selected participant up or left depending on the current participant orientation of the graph.

This action moves the selected participant down or right depending on the current participant orientation of the graph.

This action displays the part of the graph shown before the current part.

This action displays the part of the graph shown after the current part.

This action inserts the missing start and end events into the graph.

This action removes all the start and end events from the graph.

This action makes text describing transition condition to be shown in the graph.

This action makes text describing transition condition to be hidden in the graph.

This action shows artifacts (and associations) in the graph.

This action hides artifacts (and associations) from the graph.

This action changes the graph's swimlane orientation from left/right to top/bottom and vice versa.

This action performs an automatic layout of the graph.

This action inserts a new activity set.

This action inserts a lane representing an existing participant into the graph.

This action selects an existing activity set.

The toolbar below the one described above consists of the following actions:

This action switches the mouse cursor to the selection mode.

This action creates a new participant (on the package level) and inserts a new lane representing this participant into the graph.

This action inserts a new "free text expression" lane into the graph.

This action inserts a "common expression lane" into the graph.

This action inserts a data object artifact.

This action inserts a text annotation artifact.

This action inserts a start event activity.

This action inserts an end event activity.

This action inserts an activity without implementation (manual activity performed by a human) into the graph.

This action inserts a task-application activity into the graph

This action inserts a subflow activity into the graph.

This action inserts a block activity into the graph.

This action inserts a exclusive gateway - route activity into the graph.

This action inserts a parallel gateway - route activity into the graph.

This action inserts a conditional transition into the graph.

This action inserts an unconditional transition into the graph.

This action inserts an otherwise transition into the graph.

This action inserts an exception transition into the graph.

This action inserts a default exception transition into the graph.

This action inserts a directional association into the graph.

This action inserts non-directional association into the graph.

This action inserts bi-directional association into the graph.

The Graph provides all functions to handle lanes (representing participants), activities and transitions. All standard editor functions like insert, delete, move and select are supported.

When new Workflow Process is created, TWE automatically creates a Pool for that process, and generates a new Graph representing this workflow process. This graph contains only a swimlane representing Pool. The first thing that need to be added/drawn are the lanes (a swimlanes representing the participant). When at least one (swim)lane is visible you can add activities, artifacts, transitions and associations into the graph.

New elements are inserted into the graph in two steps. First select the button of choice in the graph toolbar to change the mouse cursor into the appropriate insert mode. Then click into the graph to insert the selected element. The mouse cursor will remain in the current insert mode until you click the right mouse button, press the ESC key on your keyboard or switch to another mode by selecting a different button in the graph toolbar.

Inserting transitions and associations into the graph is somewhat different: Transitions' begin and end points must be activities, and associations' begin/end points must be activity and artifact. Clicking on the empty background of the graph while inserting a transition/assocation will insert a graphical break/routepoint. If insertion of a transition/association is started and the right mouse button or the ESC key is pressed, the current insert operation is cancelled and the mouse cursor stays in transition/association insert mode.

Elements in the graph are selected by simply clicking on them with the left mouse button. You can select a group of elements by clicking the left mouse button on the empty background of the graph and dragging a rectangle around some elements or by using the SHIFT or CTRL key during left mouse clicks on the individual elements.

To move elements to a new location just drag them with the left mouse button whereever you like.

Double clicking on a graph element opens the property dialog for the element (except for block and subflow activities for which the appropriate graph will be opened).

A right mouse click on an element in the graph will open the context popup menu of the element. The content of the context popup menu depends on which element was clicked on:

Figure 4.6. Graph element context popup menus

Graph element context popup menus

As mentioned, when the graph is empty (e.g. when a new process is created, and only Pool for this process is displayed) the first thing to be added/drawn is a lane representing the participant. When at least one lane is visible activities, artifacts, transitions and associations can be inserted into the graph.

The available types of lanes are:

The available types of activities are:

The available types of transitions are:

There are three association types available:

When inserting new lane into the graph using the toolbar buttons, the new participant on the package level is created, and its type is "Role". To change the participant type double click on the swimlane title to get its property panel.

The lanes for already existing participant can be inserted by using the choice button from the top of the graph component. The lane will be inserted at the bottom of the Pool (or at the bottom of the already selected lane - this will be nested lane in that case).

Free text expression lane and Common expression lane are not representing participants but it is a special visualization of performer expressions for activities.

The Graph represents activity performers as swimlanes. When an activity is inserted or moved into a particular swimlane, it's performer will be updated to the participant represented by the swimlane. In the case of Common expression and Free text expression participants the activity's performer will be set to the expression defined as a property of the graph's common expression participant swimlane object. When the activity is inserted or moved into the free text expression participant any expression can be set for the activity performer field but by default performer expression won't be defined.

Together Workflow Editor allows you to nest lanes thus making possible to visually represent organizational structure. To nest one lane into another, select the parent lane and then create new lane either by selecting the participant it will represent using the lane choice button , or by selecting one of the lanes buttons (, , ) and pressing on the wanted parent lane. Here is a sample of the process with a Pool that contains nested lanes:

Figure 4.7. Nested lanes sample

Nested lanes sample

Normal activity enables you to insert an activity that will be performed by a human (so called manual activity) - it will appear in the user's worklist.

Task-Applicationl activity enables the definition of applications that are required for the enactment engine to run in order to perform the activity.

Subflow activity is a type of activity whose implementation is another workflow process definition.

Block activity executes an ActivitySet (set of self-contained activities/transition maps). It is something like an embedded subflow process.

Route activity, in the forms of Exclusive and Parallel gateways, does not implement any action. It is used for synchronization and conditional branching only.

A transition binds two activities but it can also be a circular transition from a certain activity to itself. A straight line with an arrow pointing to the target object represents the transition in the Graph. Depending on the transition type, it will have a different color or additional graphical descriptions according to BPMN specification. The toolbar offers several kinds of transitions: the one describing uncontrolled flow , the one describing conditional flow (a circle on the left will be drawn according to BPMN spec only in the case the source of the transition is not a gateway), the one describing default flow (otherwise transition) and two kinds of exception transitions and (default exception). The type of a transition can be changed through its property panel.

There are two types of artifacts that can be inserted into the graph, data object artifact and text annotation . Artifacts describe e.g. document flow through the process, or make some comment that should be visible in the graph. The artifacts has to be connected to the activities using associations.

Associations are connecting an artifact with an activity. There are three types of associations offered by the TWE, directional , non-directional and bi-directional . The type of association can be changed through its property panel.

The Graph configuration is done through the togwegraphcontroller.properties file.

The following parameters can be set:

As with all other components, you are also able to change the content of the toolbar and the order of toolbar buttons.