Please give details of the problem



ProcessModeler Concepts

The DigitalSuite ProcessModeler allows you to design, develop and test your application's business logic. This business logic is represented as a process flow and is modelled using the industry standard Business Process Modelling Notation (BPMN). Once deployed, this process definition will be used by the platform to respond to events initiated by users or systems.

Process Steps

A process is designed as a series of steps. Each step is either:

  • an event - used to represent a situation that requires a response,
  • an activity - used to represent an action that is carried out by the process, or
  • a gateway - used to represent a decision point within the process.

Steps are connected with arrows to indicate the way in which work should flow through the process.


Events signal that something of significance has happened that needs to be dealt with. For example, every process always has start and end events which are triggered at the beginning and end of any process.

The other type of event is called an intermediary event. These events can be configured to trigger the execution of alternative process branches in response to a defined situation; examples could include process cancellation, an unrecoverable failure, or a lack of a timely response.


Activities are explicit actions undertaken during the execution of a process. There are six activity types that can be used to support different kind of actions:

  • Simple Activity - typically used for housekeeping tasks e.g. initializing variables.
  • Connector Activity - used to integrate with external systems or data via a connector.
  • Email/Notification Activity - used to send information to a user (or group of users) via email or mobile push notification.
  • Subprocess Activity - used to launch a subprocess. Subprocesses enable a simplified process design and allow you to reuse existing processes.
  • Manual Activity - used to assign a manual task to a user or group of users.
  • Script Activity - used to run a JavaScript, FreeMarker or PDF Transformation script.


Gateways represent decision points within a process, enabling alternative paths to be taken depending on the situation. There are two types of gateway available:

  • Exclusive Or - used to make a choice between mutually exclusive paths based on the evaluation of a condition.
  • And - used to separate the process flow in order to execute separate paths in parallel.

Each of these has a Split and a Join gateway. A Split is used to create the separate paths while a Merge is used to bring separate paths back together at a later point in the process.

Roles and Lanes

Within the DigitalSuite, users are assigned to specific roles within a project in order to give them the necessary access rights necessary to undertake the responsibilities of the role. A user can belong to more than one role. Roles are grouped into organizations which can contain many roles.

In the ProcessModeler and in Business Process Modelling Notation, roles are represented as swim lanes, commonly referred to as lanes, and organizations are represented as pools.


This diagram shows the process design for a straightforward budget approval application.

The pool or organization. In this example, all lanes that have responsibilities within the process belong to the same pool. Roles from different organizations can play a part in the same process, in which case the process has more than one pool.

The lanes or roles. The process design in the diagram has three lanes, which means that users from three roles play a part in the process. Process steps that are the responsibility of a particular role are placed within the corresponding lane. This simplifies and enriches the process design by making it easier to understand the responsible person and organization for each step in the process.

In the diagram above, members of the Everybody role can trigger the process; the start event is therefore in the Everybody lane. Users from the Team manager's role can validate the initial request. Users from the Financial director role can provide further approval and notify the team member of the final decision.


Variables can be defined at set points in a process:
- Process input variables allow you to define variables that are required to launch the process.
- Process activities can have input and output variables.
- Process events can have input and output variables, as appropriate.

Input variables are prepared before executing the step in which they're defined. For process input variables this means before the start event. Variables can be static or dynamic and can also reference other variables created within any associated web interfaces.

Some connectors require parameters to be passed to them. In this situation, the input variables section of the connector activity will be pre-populated with these parameters - the process designer can set the parameter values from here.

Output variables are evaluated after running the activity or event in which they're defined. They usually store the result of the activity. These variables can then be used later in the process.

Input and output variables can be instantiated with a static value (e.g. john.doe@mydomain.com), or a dynamic one (e.g. ${P_user.login}). Their value can also be set to be the result of the execution of a FreeMarker script.


Measures can be defined for any variable defined or transiting through the process. By creating a measure you can present the data in a process or web interface report.