BPMN modeling

This section describes how to create and edit BPMN diagrams in Process Manager. If you like to learn about the basic modeling functions first, please go to Editing diagrams in the Basic Modeling section of the manual.

Creating a new BPMN 2.0 diagram

  • Click New, then Business Process Diagram (BPMN 2.0) in the top drop-down menu of the Explorer.
../../_images/business_process_diagram_en.png
  • The Editor will open in a new browser tab. Now you can start adding modeling elements.

In case you would like to to edit an existing diagram, just double-click the diagram in the Editor. Alternatively, you can select the diagram and click Edit, then Edit diagram:

../../_images/edit_diagram_en.png

Editing BPMN diagrams

To add the first element to the diagram canvas, select it from the shape repository on the left side of the Editor, drag it onto the diagram canvas and drop it there:

../../_images/dropping_start_event_en.png

The green or red status icon indicates whether or not it is possible to drop the element at the current location. This might depend on whether an element can be added to another element. For example, a Data Object cannot be added to a Task.

The shape repository contains all modeling elements that are available in the selected subset. To change the shape repository subset, click the drop-down menu above the shape repository. The elements are grouped into element types (in activities, gateways, roles, etc.).

Once you get started, you can add elements using the interactive context menus of existing elements. Depending on the shape currently selected, the menu suggests which modeling element might be added next.

Hint

The subset of modeling elements you have selected influences the elements you can add through the interactive context menu. If the element you want to add doesn’t appear in the interactive context menu, it probably does not exist in the current subset–simply switch to a subset that contains the needed element.

In order to make use of the interactive context menu, proceed as follows:

  • Select an element on the diagram canvas (for example a Start Event). The interactive context menu appears right of the element.
  • Click the icon representing the element you want to add (e.g. a task).
  • The new element appears in the diagram.
../../_images/contextmenu1.png

If you want to define the position of the newly created element yourself, you can also click the icon and drag the element to the desired position:

../../_images/contextmenu2.png

Hint

The type of connector that is created between the selected element and the newly created element is determined automatically. In BPMN, the connector will usually be a sequence flow. When adding text annotations or data objects, it will be an association. In case the flow crosses pool boundaries, it will be a message flow.

If you want to duplicate one or multiple existing elements, you can simply select them and click the copy button in the upper toolbar:

../../_images/copy_en.png

Use the paste button to insert the elements:

../../_images/cut_en.png

To cut and paste elements, use the cut and paste buttons:

../../_images/paste_en.png

Instead of using the buttons, you can also use the keyboard shortcuts “Ctrl + C” “Ctrl + V” and “Ctrl + X”.

The copy functionality makes it easy to create similar elements with complex but similar values. It also lets you re-use parts of old diagrams by copying some of their elements and pasting them in a new diagram.

Hint

Copying elements between different diagrams may a few minutes, as the elements are copied to the server first. An Internet connection is required for copying elements between diagrams, but not for copying elements within one diagram.

Once you created an element in your diagram, you can label it:

../../_images/label_start_en.png

If you want to edit the label of an existing element, double-click it in order to open the text box.

You can edit the element’s attributes by using the attribute panel on the right:

../../_images/editattribute.png

The position of labels and connectors can be changed via drag and drop:

../../_images/movelabel.png

Working with pools and lanes

Pools and lanes are modeling constructs in BPMN that allow for the assignment of organizational units, people or systems to activities. As the concept of pools and lanes is BPMN-specific, readers concentrating on other modeling notations may skip this chapter.

Adding pools and lanes to a diagram

Like with other modeling elements, the panel on the left is used to add new pools and lanes to a diagram. In most cases, a pool represents a company and lanes subdivide this company, e.g. into roles or departments.

Pools can either be collapsed or expanded. Collapsed pools cannot contain modeling elements, as they represent an abstract organizational unit or system. Expanded pools can contain lanes to further subdivide the pool. Those lanes can be subdivided further into sublanes.

This chapter explains how to add and edit expanded pools and lanes.

Hint: If you are using the subset BPMN (complete) you will find pools and lanes in the rubric swimlanes.

Pools and lanes are added via the modeling element Pool/Lane:

  • Select the Pool/Lane entry in the shape repository on the left side.
../../_images/poollane_add_en.png

The Pool/Lane modeling element is context sensitive and becomes either a pool or a lane, depending on the area it will be dropped on.

The Pool/Lane modeling element is context sensitive and becomes either a pool or a lane, depending on the area it will be dropped on.

  • Drag the element to the desired position. The Editor helps you by highlighting possible positions. It also decides automatically whether the new element will be a pool or a lane:

    • Create a new pool with two lanes:

    Drag the element to a spot on the canvas where no pool can be found. The information Create new pool will appear next to the cursor.

../../_images/poollane_newpool_en.png

A pool is created whenever the pool/lane element is dropped into an area that does not already contain a pool.

  • Create an additional lane beneath an already existing lane

Drag the element to the upper or lower border of another lane. The border will be highlighted in green and and an alert will show up, explaining where the lane will be added.

../../_images/poollane_newabove_en.png

A lane is added between ‘Central purchasing’ and ‘Department’.

If you want to add a lane above, move the cursor to the upper border. To add a lane below, target the lower border.

  • Create a sublane that splits an existing lane into two sublanes

When moving a Pool/Lane element over the body of a lane it will be colored green. To divide a lane into two sublanes, position the new lane here:

../../_images/poollane_newsubpre_en.png

Before: The ‘Central purchasing’ needs to be subdivided into two organizational units.

../../_images/poollane_newsubpost_en.png

After: The sublanes have been created and can be named now.

  • Drop the element onto the canvas at its new position.
  • Insert a title for the lane or pool created.

Renaming pools and lanes

To change a roles title, double-click its head at the left border. A text field appears:

../../_images/poollane_rename_en.png

A pool or lane is named by double-clicking its header.

Here you can add the new name. To create a line break, use the Enter key. To apply your changes, click the area outside the text field.

Reordering lanes within a pool

Lanes can be moved within a pool. If a lane is moved, its semantic content (i.e. tasks, gateways etc.) will be moved with it.

There are two possibilities to move lanes:

  • Drag & Drop

    Click the head of a role and drag the lane to its new position, holding the mouse button pressed. Possible new positions will be marked green in the same way as described above.

../../_images/poollane_positiondrag_en.png

The lane ‘Department B’ has to be moved above ‘Department A’. Both will stay sublanes of ‘Central purchasing’.

To move a lane up a level, move the cursor onto the head of its parent:
../../_images/poollane_positionabove_en.png

The lane ‘Department B’ has to be moved between ‘Central purchasing’ and “Department’.

Hint

Existing lanes can be moved, but not in a way that they subdivide another lane into two separate lanes.

When selecting a lane by clicking its head, arrows will appear on its left border. The arrows can be used to move a lane into a certain direction:

  • The lane will be exchanged with the one above, but will stay on the same level:
../../_images/poollane_movenorth_en.png
  • The lane will be exchanged with the one below, but will stay on the same level:
../../_images/poollane_movesouth_en.png
  • The lane will be outdented, i.e. moved beneath the lane thatcurrently contains it. It will be positioned above if the arrow on the upper border is used, and below, if the arrow on the lower border is used:
../../_images/poollane_movewest_en.png
  • The lane will be indented, i.e. become a sublane of one of its neighbors. It will be added to the one above, if the arrow on the upper border is used, and below, if the arrow for the lower border is used:
../../_images/poollane_moveeast_en.png

Example: Moving a new lane as a sublane into an existing lane

In the following example, the role ‘Releaser’ will be added to the Central purchasing, which will then be divided into Department A, Department B and Releaser.

The lane Releaser was selected and the indent arrow will be used:

../../_images/poollane_example1_en.png

The releaser is supposed to become part of the central purchasing.

The lane was moved into the “Central purchasing”. This can be redone later on by using the “outdent”-arrow:

../../_images/poollane_example2_en.png

The lane ‘releaser’ is supposed to be removed from the pool ‘central purchasing’.

Resizing pools and lanes

To resize elements, proceed as follows:

  • Click the header of the pool or lane you want to resize.
  • Click the three dots in the lower right or upper left corner of the element and drag it to a new position in order to perform the resizing.
../../_images/poollane_resize_en.png

The size of a pool is adjusted in the same way as the task size.

Resizing of a pool / lane affects the parent and child pool / lanes in the following way:

  • Resizing a pool: The new width is propagated to all contained lanes. Changing the height of the pool results in changing the height of all contained lanes, the height distribution is kept though.
  • Resizing a lane: The new width is propagated to the parent pool and all lanes contained in it. Changing the height results in moving the lanes below it up or down.

Working with connectors

To connect two elements in your diagram, you can also use the interactive context menu. Proceed as follows:

  • Select the element the connector should start from.
  • Click the arrow icon in the shortcut menu and drag it to the target element. The red and green colors indicate whether the selected target is valid. For example, two start events cannot be connected in BPMN.
  • A connector will be created. The type of the connector will be automatically selected in compliance with the BPMN 2.0 specification:
../../_images/connectviacontextmenu.png

To insert an element into an already existing process flow, drop it onto the connector at the desired position:

../../_images/dropontoconnector.png

In case you lack space for dropping the element onto the connector, you can make use of the create/remove space tool, read more at Creating more space - shortening and stretching diagrams.

Connector layouting is an essential aspect as well-structured diagrams are more comprehensible for the readers. The Editor does connector layouting automatically but you can also adjust the layout yourself.

Adding connectors between existing elements

If you want to connect two elements in your diagram you can also use the interactive shortcut menu.

  • Select the source element.
  • Click the arrow icon in the shortcut menu and drag it to the target element. The red and green colors will give you a hint which elements can be connected. E.g. two start events cannot be connected in BPMN.
  • A connecor will be created. The connector type depends on the types of the elements you have connected. E.g., two BPMN tasks will be connected through a sequence flow and two pools will be connected through a message flow.
../../_images/shortcutmenuedgedrag.png

The Editor gives you a hint about which elements can be connected (green)  and which can’t (red).

Dropping a new element on an existing connector

It is possible to position an element between two existing elements. Drag it from the shape repository to the connector between the existing elements. If adding the element at this position is allowed in BPMN, a green frame will appear around the connector. Drop the element onto the connector.

../../_images/droptoangle_en.png

Drop an element onto a connector.

You may use this functionality together with the stretching connectors functionality.

Automatic layouting of connectors

The connector layouting feature helps you to create well-structured diagrams. Signavio Process Manager provides automatic layouting for connectors.

The auto-layout function is triggered...

  • ...whenever a connector is created.
  • ...whenever a element that is target or source of a connector is moved or re-sized.

Moving, adding and removing bending points

By moving the cursor over a connector, bending points of that connector are displayed. You can drag a bending point to another location in order to re-shape the connector:

../../_images/movebendingpoint.png

A red dot appears whenever you move your cursor over a connector. To bend it, just click the red dot and drag it to its new position. Drop it there:

../../_images/addbendingpoint.png

To remove a bending point you only need to drag it onto a straight connection between the two neighboring bending points or elements or directly on one of the neighboring bending points:

../../_images/removebendingpoint.png

Adding and removing bending points

A red dot appears whenever you move your cursor over a connector. To bend it, just click the red dot and drag it to its new position. Drop it there.

../../_images/bend-point.png

Bending points can be moved per drag & drop.

To remove a bending point you only have to drag it onto a direct connection between the two neighbored bending points or elements.

../../_images/delete-point.jpg

Bending points can be removed by dragging them onto a direct connection between its neighbors.

Moving connector segments

Connector segments can be moved vertically or horizontally to improve the visual appearance of a diagram. To do so, move the cursor over the connector segment and a yellow rectangle will appear in its center. Drag and drop the yellow rectangle to move the connector to its new position.

../../_images/moveconnectorsegment.png

Labeling connectors

While tasks and events usually should carry label, this only applies to certain connectors. For example, sequence flows in BPMN can carry a conditional expression and message flows can carry the name of the message to be transferred.

In order to label a connector, proceed as follows:

  • Double-click on the connector you want to label or edit. An input field appears.
  • Type in the label:
../../_images/labelconnector.png
  • As soon as you deselect the connector, the label will appear next to it.

You can now move the connector descriptor to another position to visualize logical connections to an element. Click the label and drag it to its new position:

../../_images/moveconnectorlabel.png

Dragging a connector label close to its connector, will cause the label to align automatically.

Creating attached intermediate events/boundary events

Hint

The BPMN specification uses the term boundary event instead of attached intermediate event. According to the BPMN specification, attached intermediate events with the activated check box attribute Cancel activity are interrupting attached intermediate events.

Catching BPMN intermediate events can be attached to a task. Those events can occur during the execution of a task and either cancel it or are handled afterwards.

To create an attached intermediate event, drag a catching intermediate event to a task and drop it there. When hovering over a task with an intermediate event, the task will be displayed either with a green border or in red brackets. A green border indicates that the intermediate event can be attached to it:

../../_images/illegalattachedevent.png

Some intermediate events, like the link intermediate event, cannot be attached to a task, which is indicated with red corners:

../../_images/legalattachedevent.png

By default, an attached intermediate event will cancel the task it is attached to. To make it a non-canceling event, select an attached intermediate event, open the attribute Editor on the right and deactivate the option Cancel activity:

../../_images/cancelactivity.png

Canceling events are displayed with a solid border whereas the border of non-canceling events is a dotted line:

../../_images/comparisonattachedevents.png

Some start events can be marked as canceling or non-canceling as well.

Changing the type of modeling elements

The transformation functionality lets you switch easily from one element type to another.

In BPMN, you can transform, for example...

  • ...a task into a subprocess.
  • ...a plain start event into a message start event.
  • ...a collapsed pool into an expanded pool.

In order to change the type of an element, proceed as follows:

  • Select the element you want to transform.
  • Click the wrench icon below the element.
  • Select the type you want to change the element to:
../../_images/transformelement.png

Hint

Some changes that affect the appearance and behavior of a modeling element but not its actual type can be done in the attribute Editor on the right. E.g., if a canceling intermediate timer event has to be changed to a non-canceling intermediate timer event, the attribute cancel activity has to be set to false.

Creating more space - shortening and stretching diagrams

You can easily stretch the diagram size to create compact diagrams or to create space for additional elements. Proceed as follows:

  • Activate shortening/stretching by clicking the toolbar button or using the shortcut Ctrl + M.

    ../../_images/create_space_en.png
  • Click and hold the left mouse button on the place in the diagram where you want to create or remove free space:

    ../../_images/preparecreatespace.png
  • Move your cursor to shorten or stretch the connector. All connectors with the same alignment on the same horizontal line will change their size, too. This works horizontally and vertically. All connectors are hidden during this step.

    ../../_images/createspace.png
  • Release the mouse button.

    ../../_images/aftercreatespace.png
  • Deactivate shortening/stretching by clicking on the corresponding toolbar button or using the shortcut Ctrl-M again.

Changing the process flow orientation

By default, BPMN diagrams are aligned horizontally. The alignment can be changed if a vertical process flow is preferred. To change the alignment in a diagram, open the Editor and make sure that no element on the canvas is selected. Expand the attribute Editor on the right and change the value of the attribute Diagram orientation:

../../_images/aftercreatespace.png

Hint

If there are pools and lanes on the canvas, their orientation will be changed as well. For all other elements, the auto-layouting function will be triggered. This can change the diagram layout significantly. In order to prevent an accidental re-layouting of the whole diagram, the changes to the diagram orientation have to be confirmed explicitly.

Checking diagram syntax

You can check your BPMN process diagram or EPC for syntactical correctness using the Check Syntax button.

../../_images/syntaxcheckbutton_en.png

Check compliance with syntax rules.

Errors will be highlighted. Move your cursor over one of these crosses to get more information about the error:

../../_images/syntaxcheck_en.jpg

The reason for the syntax error is explained by the tool.