Environmental BPMN

Nowadays, business scenarios are permeated and influenced by information from the surrounding physical environment that influences decision-making. This is especially evident in the presence of participants able to move in and interact with the physical environment. BPMN is a widely accepted standard for representing multi-party business processes in terms of collaboration diagrams, offering an expressive and understandable notation. Here, we bridge the BPMN meta-model with environmental concepts, defining environmental BPMN collaboration models. To facilitate a deeper understanding of the dynamics of these models, we provide a formal account of their semantics and an animator tool implementing it.

The BEAR Animator

BEAR (BPMN Environmental Animator) is a tool that supports the design and animation of environmental BPMN Collaboration diagrams. BEAR guarantees a precise understanding of the interplay between BPMN collaborations and the physical environment through the visualization of the model execution. BEAR gives a comprehensive view of the executions in terms of control- and message-flow token animation on the BPMN collaboration, and participants’ movements in the space model. Moreover, BEAR shows data object and place attribute evolution. Overall, BEAR animation features are helpful in practical modeling activities, for debugging errors that can easily arise due to environmental conditions which can influence the process execution.

Screencast video

User Guide

Modeling with BEAR

BEAR embeds a user-friendly modeler capable of representing environmental BPMN collaborations.
The modeler is divided into two parts: 

  • BPMN modeler (on the left) used to design the BPMN collaboration processes
  • Environment modeler (on the right) used to design the environment in the form of place graphs

On the left of each modeler, BEAR shows an element palette used to design the two models. For each element in the modelers, it is possible to define additional properties using the property panel. One or more environmental attributes can be set for a place in the environmental model by using the associated property panel. In order to define an environmental attribute, it is necessary to define its name and its initial value. Environmental attributes can be referenced by other elements in the models by using the following notation: place_name.attribute_name. Other attributes can be defined by using data objects in the BPMN modeler, which will only be accessible by the elements that belong to that specific pool, using the attribute_name notation.

An initial position corresponding to one of the places in the environmental model can be set for each pool, which represents participant in the collaboration.

Tasks in the model will include three new properties:

  • Guard constrains the execution of a task to an environmental status. The guard expression has to be defined by specifying the name of a defined attribute and the value that activates the condition (e.g., place_name.attribute_name == value).
  • Destination indicates the place that the participant wants to reach from its current position. The destination has to be defined by selecting one of the places defined in the environmental model or by specifying the name of an attribute that contains the name of a place.
  • Assignments are used to modify the environment topology (by connecting or disconnecting places) and the value of its attributes. Assignments are defined by specifying the name of a defined attribute and its new value. To connect or disconnect places in the environmental model, it is possible to use the connect and disconnect keywords as attributes and dot separated pairs of places (e.g., place1.place2) as the values to be assigned.

For both start and boundary conditional events, the condition property can be used to activate the event. The condition must be a boolean expression over data object (e.g., attribute_name == value) or place attributes (e.g., place_name.attribute_name == value).

For a message event it is possible to set some properties:

  • Send Message Events may define a message payload, which can contain an attribute or any other arbitrary value, such as numbers and text.
  • Receive Message Events will in turn specify the name of the attribute to associate with the payload of the corresponding send message event.

Attributes which contain the name of a place can be used in guards by using $ sign followed by the name of the attribute. For example, if the value of attribute1 is place1, writing $attribute1.attribute_name == value is the same as writing place1.attribute_name == value. The same approach can also be used for assignments.

Moreover, it is possible to refer to an environmental attribute related to more places by using the PLACES keyword. For example, using the PLACES.attribute_name == value expression as a guard, will return true if least one place will have ‘attribute_name’ set to valuefalse otherwise. When using this approach for performing assignments, the name of the first place that has attribute_name set to value will be returned, null otherwise.

BEAR makes it possible to save an environmental BPMN collaboration model by clicking on the Save button and to upload one by clicking on the Open button. When uploading a model, a .zip file containing the .bpmn file and the space .xml file will have to be provided by the user.

Animation with BEAR

BEAR embeds an animator capable of representing step-by-step the environmental BPMN collaboration execution. By selecting the Token Simulation button in the BEAR interface, a play button will appear over each fireable start event. Once this button is clicked, one process is activated. This creates a new token in the form of a small colored circle at the start event of the BPMN collaboration and another token in place of the environmental model corresponding to the set position of the pool, which starts to cross the two models.

The animation terminates once all tokens cannot move forward. In the case of a token remaining blocked due to environmental conditions (e.g., a guard condition violation) BEAR will highlight the issue using the red color.

The data panel in the top-right corner of the BEAR interface allows users to keep track of the evolution of the values related to data objects and environmental attributes throughout the animation. At any time, the animation can be paused by the user to check the distribution of the tokens in the environment and in the BPMN collaboration.

Companion technical report

This companion technical report provides further material about the paper “On the interplay between BPMN collaborations and the physical environment” accepted at the 22nd Business Process Management Conference 2024 in Krakow.