Modeled roles represent groups of persons that have the same responsibilities in a process. They are defined as part of a GO-BPMN Module. Once uploaded, they can be assigned to persons.
A typical usage of Roles is represented by To-Do performers: you design an organization model with a role. Then you create a process with a User Task. The User Task defines its Performer parameter as a role of organization model, for example, Admin()
or ClaimOwner
. The generated to-do is allocated only to persons with the runtime role Admin
. Note that if you add a role to a person later during execution, the to-do is allocated to this person as well.
A role is defined by the module name and its own name, not the module version. As a result, an organization element can define multiple parameters, which can originate from different module versions with the given role.
More information on roles and organization units is available in the GO-BPMN Modeling Language Specification.
Parametric roles are modeled roles with one or more parameters defined. A runtime role created based on a parametric role can define a value of such a parameter.
If a runtime role has no parameter value, the role is considered superior to a role with a parameter value; if a runtime role has a parameter value, the runtime role is considered inferior to the runtime role without a parameter value.
Example: Consider a parametric modeled role, Developer, with a parameter, Language.
There are three persons in the system: Javan, Cee, and Deve. Each has the Developer runtime role but with a different Language value: Javan has the Developer role with the parameter Language set to Java, Cee with the parameter Language set to C, and Deve with no parameter value.
When a process dispatches a to-do with the initial performers set to the role Developer with parameter Java, the to-do will appear in to-do lists of Javan and Deve – the person with the role with no parameter value receives to-dos assigned to the role regardless of the required parameter value. However, since Cee has the parameter set to C, he will not receive the to-do.
To assign a runtime role to one or more persons, do the following:
To define a parameter value of a modeled parametric role:
The added parameter value is shown in the Resulting Selection.
To assign a role to multiple persons, do the following:
To assign a person a role, do the following:
Select the Modeled roles to assign as runtime roles to the person.
To assign the modeled roles with a parameter specified, click the Add parametric role button and enter the details in the popup.