A Process is defined in a process definition file, which can hold one BPMN or GO-BPMN Process. When the process is executed, it is executed directly based on the definition: no compilation or code translation takes place.
A process represents a namespace, and as such, can define process variables. It can also define parameters.
For further information on Processes and their elements, refer to GO-BPMN Modeling Language Guide.
To create a Process, do the following:
Executable: when selected the process is instantiated as part of the model instance and can be used as a Sub-Process or as the Activity parameter of the Execute task.
The flag marks a process that serves only for documentation purposes.
Note: Modeler is a diagram editor: you can editing the content of the Process definition via a diagram, hence consider getting familiar with the concept of diagrams and diagram editors.
To allow the same name on multiple elements in a process diagram, all process elements with semantic value, which excludes Annotation, Diagram Frame, Hyperlinks, can define the Label property: if the label contains a value, it is displayed on the diagram instead of the name of the element. It is intended for purely presentation purposes and does not have to be unique in the namespace unlike the element name.
To define an element label, do the following:
You can instantiate your process with parameters if it is instantiated with a function call or by a reusable sub-Process, etc. If a process is instantiated automatically by its model it cannot take any input parameter.
To define process parameters, do the following:
In the Outline view, right-click the process and select New > Parameter. Make sure to select the parameter as Required if it cannot be null: if not required and the process is instantiated without the parameter, the parameter value is null.
Alternatively, you can open the process properties in the Properties view and click Add on the Parameters tab.
Example process instantiation
applicationProcess(user -> admin, requestedHardware -> Hardware.ssd)
Process variables are accessible from within the process context and are initialized when the process instance is created.
To define local process variables do the following:
After you have created a process, you can model its content: the way you design your process and the element you use are primarily determined by the process type you have chosen, that is, whether your process is BPMN- or GOBPMN-based.
Process content is defined using the Modeler, which is a dedicated diagram editor: when you open a process for editing, the editor opens a diagram. As you insert new element views onto the diagram, the elements are created in the process and displayed in the Outlook view.
To insert a Task as part of your process, do the following:
<parameter1_name> -> <parameter1_value>,
<parameter2_name> -> <parameter2_value>
User Task parameters
title -> "My Pending Item",
performers -> { anyPerformer()},
uiDefinition -> myTodoForm()
To change the task type of an existing Task, right-click the Task in the canvas and click Change Type. In the dialog box with task types select the new Task Type.
Note that the expression with parameter values remains unchanged and you need to adapt the parameters to the new Task Type.
To remove the invalid parameters and keep only the parameters that are relevant for the new Task Types, go to Project -> Task Parameter Cleanup: Task type parameter cleanup automatically removes irrelevant parameters and parameter values.
A process can be reused in another process: a reused process is instantiated as a subprocess of the parent process within its own context. You can reuse a process either with the Reusable Sub-Process, which is a standard BPMN way or Execute task type, which allows you to reuse a process or task without actually knowing what you are reusing:
In both cases, make sure your Process has the executable option selected. Also, consider disabling the Instantiate Automatically on the Process so that it is not automatically instantiated when the parent Module is instantiated.
To nest one or multiple Process elements into a Sub-process, select the elements, right-click the selection, and in the context menu, click Extract to Subprocess.