=Paper=
{{Paper
|id=Vol-3758/paper-29
|storemode=property
|title=Data Objects with Variables in BPMN
|pdfUrl=https://ceur-ws.org/Vol-3758/paper-29.pdf
|volume=Vol-3758
|authors=Maximilian König,Tom Lichtenstein,Anjo Seidel,Mathias Weske
|dblpUrl=https://dblp.org/rec/conf/bpm/KonigLSW24
}}
==Data Objects with Variables in BPMN==
Data Objects with Variables in BPMN
Maximilian König1,* , Tom Lichtenstein1 , Anjo Seidel1 and Mathias Weske1
1
Hasso Plattner Institute, University of Potsdam, Prof.-Dr.-Helmert-Str. 2-3, 14482 Potsdam, Germany
Abstract
Managing the creation and manipulation of data is critical in today’s organizations. This is reflected in the
emergence of object-centric business processes, whose execution is driven by data objects. Therefore, it comes as
a surprise that current activity-centric modeling languages such as BPMN lack comprehensive data modeling
capabilities, especially when different data objects of the same class have to be processed. This paper proposes to
extend BPMN process diagrams with variable identifiers that allow to model precise referencing behavior for
different objects within a single process instance.
Keywords
BPMN, Data in Processes, Object-centric Processes, Variables
1. Introduction and Motivation
An important aspect of business process management is helping organizations to maintain an overview of
the complex processes that drive their value creation. For that purpose, a wide variety of methodologies
is provided to support the business process lifecycle, from design and verification to implementation,
monitoring, and evaluation [1]. Recently, the management of data objects in business processes received
significant attention, leading to the emergence of object-centricity as a novel paradigm [2]. Instead of
focussing on the order of activities and events based on control flow, processes are considered from
the perspective of the involved data objects, which represent business data manipulated in process
executions [3, 4].
Traditional, well-established activity-centric process modeling languages, such as BPMN process
diagrams [5], struggle with the representation of complex data behavior in interaction with the control
flow [6]. Hence, the question arises whether this deficiency can be overcome with concepts from the
currently evolving field. While version 2.0 of the BPMN standard [5] introduced concepts that support
modeling relevant data objects and their impact on process flow, they mainly handle single objects and
have imprecise semantics.
In a BPMN process diagram, data object nodes, denoted by a document shape, visualize the existence
of certain types of data. Each reference specifies a data class and a state denoted in square brackets. The
data class defines a set of objects with the same structure or of the same type, while the state defines
an abstraction for the expected data. BPMN does not provide a means to define either data classes or
states in more detail. Hence, related approaches often rely on supplementary data models to explicate
data classes with attributes and relations between them [6, 7, 8].
To reference several data objects of the same class in the same state, a data object node may be
annotated with a multi-instance marker (III), representing a collection of data objects. Data objects
and collections can be read and written by activities. Read operations are visualized in the model
through so-called data associations from data object nodes to activities, and write operations through
associations from activity to data object node. An example is shown in Fig. 1. Read operations imply that
at least one data object in the specified state must exist before an activity is enabled. Write operations
Proceedings of the Best BPM Dissertation Award, Doctoral Consortium, and Demonstrations & Resources Forum co-located with
22nd International Conference on Business Process Management (BPM 2024), Krakow, Poland, September 1st to 6th, 2024.
*
Corresponding author.
$ maximilian.koenig@hpi.de (M. König); tom.lichtenstein@hpi.de (T. Lichtenstein); anjo.seidel@hpi.de (A. Seidel);
mathias.weske@hpi.de (M. Weske)
0000-0002-2244-1179 (M. König); 0000-0001-5585-1003 (T. Lichtenstein); 0000-0002-9652-5340 (A. Seidel);
0000-0002-3346-2442 (M. Weske)
© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
ceur-ws.org
Workshop ISSN 1613-0073
Proceedings
update the referenced object/collection or, if none exists, create a new one. An important assumption in
the BPMN specification is that a data object node always refers to the same data object or data object
collection per process instance [5, p. 206], which makes it impossible to access different objects of the
same type.
Figure 1: Two excerpts from a paper selection process for a conference.
The impact of that assumption is exemplified in Fig. 1. On the right, the best paper and the runner-up
are singled out from a collection of accepted papers to individually notify the authors later on. However,
due to the assumption that data object nodes always reference the same objects at runtime, the second
of these two subsequent write operations overwrites the reference to the first object. Hence, only the
runner-up paper can be accessed in the process model later on, while the reference to the best paper is
lost.
Furthermore, when processing collections of data objects under this assumption, activities can only
transition all objects that are in the same state into the same target state. For example, when deciding
on the acceptance of a collection of submitted papers as shown in Fig. 1, the intended behavior is that
only some papers are accepted while others are rejected or require further discussion. However, this
behavior cannot be captured with traditional BPMN. Essentially, splitting and merging collections of
objects is not possible.
In the following, this paper aims to overcome the presented deficiencies by extending BPMN with
variables to model dynamic references to different objects of the same class.
2. Related Work
There exists a large research corpus on the integration of business processes and data that cannot be
covered holistically in this position paper. In the following, we will therefore highlight works on BPMN
extensions improving its data modeling capabilities and a selection of process modeling approaches
with an emphasis on data.
Meyer et al. present an extension to BPMN to capture object relations by denoting foreign key
relations between objects of different classes on data object references [6]. Another work introduces
a translational semantics for dealing with multiple object collections in BPMN, using the state as an
additional identifier next to the data class [9]. Combi et al. [7] employ an SQL-based approach to link
BPMN activities to the data classes they operate on. However, in all three approaches, the identification
of different objects of the same class was either not tackled or limited to objects’ states. Ghilardi et al.
introduce a supplementary SQL-based language to explicate data access in BPMN models [10] with a
focus on the verification of the resulting compound models.
To improve the integration of processes and data, object- and data-centric process modeling notations
have been proposed in the literature. Steinau et al. provide a comprehensive overview [11]. After
the publication of their paper, additional approaches have been introduced, including object-centric
Petri nets [3], object-centric behavioral constraints [12], synchronous proclets [4], and object-centric
Petri nets with identifiers [13], all covering different subsets of the object-centric modeling features
as introduced by Gianola et al. [13]. Compared to these formal approaches, BPMN has the advantage
of being well-understandable and widely adopted in industry [14]. Therefore, we decided to extend
BPMN’s data modeling capabilities to better capture data behavior.
3. Introducing Variables to BPMN
To address the limitations of the current data semantics of BPMN as outlined above, we extend data
object nodes with variables. In essence, a variable represents an identifier denoted on a data object node
that is bound to one specific data object at runtime. Therewith, the variable can be used to access the
assigned data object again in later steps of the process. Furthermore, variables can be reassigned to
a different data object of the same class during process execution. Hence, by using variables, we can
eviewing precisely
Example OBJECTS
model the referencing behavior for multiple data objects of the same class, eliminating the
need for data object nodes of a class to reference the same data object throughout process execution.
Pa:Paper bp:Paper rp:Paper
P:Paper Pa1:Paper Pb:Paper Pa2:Paper
[acceptance [acceptance [acceptance
[reviewed] [accepted] [borderline] [accepted] published] published] published]
Send
notification of
acceptance
Collect papers
Decide
acceptance
Discuss
borderline
papers
Select best
paper
Select runner-
up best paper
...
Review
submission
deadline Send
passed notification of
Pr1:Paper Pr2:Paper rejection
Pa1:Paper
[rejected] [rejected] [acceptance
published]
Figure 2: Paper review process enriched with variables.
Fig. 2 depicts the paper review process extended with variables. We specify variables in the labels of
data object nodes as a prefix to the associated class separated by a colon, e.g., ‘P:Paper’, where ‘P’ is the
variable for data objects of the class ‘Paper’. As a convention, we use uppercase letters, e.g., ‘P:Paper’,
to refer to collections of data objects, and lowercase letters, e.g., ‘bp:Paper’, to refer to individual data
objects. Given the example, using variables allows distinguishing between the data objects written
by the activities ‘Select best paper’ and ‘Select runner-up best paper’, even though both are of class
‘Paper’. Furthermore, variables enable activities to return multiple data objects of the same class in
different states, since each output can still be distinguished. Considering the example in Fig. 2, ‘Decide
acceptance’ can create three collections of the class ‘Paper’, each containing data objects in a different
state which can later be identified via the respective variable: ‘Pa1’, ‘Pr1’, and ‘Pb’. As a consequence,
variables effectively address the shortcomings outlined in Section 1.
In the following, we elaborate on the inclusion of variables in process diagrams by discussing their
impact on create, read, and update operations.
Create. In the original semantics of BPMN, if an activity writes to a data object node without reading
from a node of the same class, a data object is either created or blindly overwritten. Since variables
support distinguishing multiple data objects of the same class, we modify the semantics to always
create a new data object in this case. Consequently, blind writes are no longer supported. The created
data object is assigned to the variable associated with the data object node. This may include the
reassignment of an already assigned variable. Similarly, the creation of a data object collection assigns
all created data objects to the corresponding variable. Considering Fig. 2, ‘Collect papers’ creates a
collection of papers in ‘reviewed’ that all are assigned to the variable ‘P’ for later reference.
Read. By associating data object nodes with variables, we limit the scope of read operations to the
data object assigned to the corresponding variable. This ensures that multiple successive reads of the
same variable will access the same data object. However, reading a data object from a variable requires
(1) an existing assignment and (2) that the assigned data object satisfies the class and state constraints
as defined in the process model. Otherwise, the read cannot be performed, thus blocking the execution
of the activity.
When reading data object collections, all data objects are accessed that are assigned to the variable
and satisfy the state constraints of the node. If an activity reads multiple collections of the same class, the
collections are merged before being processed by the activity. For example, in Fig. 2, ‘Send notification
of acceptance’ reads the union of the collections ‘Pa1’ and ‘Pa2’. Similar to single data object reads, an
assignment to a collection must exist for all read variables, and the union of all collections of the same
class and state must contain at least one suitable data object.
Update. Updates to data objects can only be achieved by reading and writing a data object of the
same class, as blind updates are no longer supported. An updated data object is assigned to the variable
of the reference that is written to. If different variables were used to read and write the data object,
both variables will refer to the same data object after the update, even if the state of the data object has
changed. For example, ‘Send notification of acceptance’, updates the state of all data objects associated
to ‘Pa1’ and ‘Pa2’ to ‘acceptance published’ and assigns the results to ‘Pa’. Nonetheless, ‘Pa1’ and
‘Pa2’ keep their references to the data objects. Therewith, we can specify that the best paper and the
runner-up best paper can only be selected from the papers that were accepted in the first round, which
were stored in collection ‘Pa1’.
Inspired by [9], when updating collections, we do not require that every data object in the collection
receives the same update: The activity ‘Discuss borderline papers’ updates the state of each data object
in ‘Pb’ to either ‘accepted’ or ‘rejected’, effectively splitting the initial collection into ‘Pa2’ and ‘Pr2’.
The decision on how collections are split is delayed to runtime, providing flexibility in execution. It
should be noted that a split may result in an empty collection. For example, ‘Pb’ might be empty if no
paper is considered borderline. Empty collections are still assigned to the corresponding variable.
Finally, reading and writing to data objects of the same class without changing the state allows
for copying references to different variables. Given the example in Fig. 2, ‘Select best paper’ copies a
reference of the collection ‘Pa’ to one data object ‘bp’ for future use. In this case, the data object itself is
not changed.
4. Implications and Challenges
With the introduction of variables to BPMN data object references, we improve BPMN’s expressiveness
regarding the representation of multiple data objects of the same class. Such data objects can now be
explicitly referenced and independently processed in activity instances. Applying the concept to data
object collection references eliminates the limitation that state transitions always apply to all objects in
a collection. Instead, each element can individually be updated to any of the referenced output states.
Together, this overcomes the deficiencies depicted in Fig. 1. The collection of submitted papers can
be split into ‘accepted’, ‘rejected’, and ‘borderline’ papers, and the best paper and runner-up can be
selected and further processed individually, as illustrated in Fig. 2.
Besides the advantages, the extension entails a number of challenges. So far, it is possible to create
variables referencing collections that contain data objects in different states, as well as collections partly
referring to the same data objects. While that behavior is supported, it may lead to unintuitive behavior
which requires further investigation. Similarly, empty output collections can lead to deadlocks: Given
the example in Fig. 2, if all papers are accepted, ‘Send notification of rejection’ cannot be executed,
resulting in a deadlock. Furthermore, variables must be assigned before being read, which is an additional
aspect model designers have to consider. To overcome this, it is essential to develop guidelines for the
use of variables and to explore methods for the automatic detection of potentially erroneous behavior
through model checking.
Another aspect that may be addressed by using variables in BPMN is object correlation, i.e., the
association of related objects within a process instance. For example, if the decision on a paper’s
acceptance used a collection of reviews as additional input, it should be possible to identify which
reviews were created for which paper in the scope of the variables. While some object-centric approaches
already cover this aspect [13], support in BPMN is still lacking. A starting point for investigation might
be the foreign key relations introduced in [6].
So far, the description of the semantics for the novel object variables remains on a conceptual level.
Future studies should investigate suitable formalisms to concisely define the intended behavior.
5. Conclusion
BPMN process models currently are insufficiently specified to capture complex data behavior involving
multiple objects of the same class. Therefore, this position paper motivates the introduction of variables
for data object nodes to enable individual access to and processing of different objects of the same class.
In addition, the implications of such an extension as well as entailed challenges are outlined, providing
a starting point for future research endeavors.
References
[1] M. Weske, Business Process Management - Concepts, Languages, Architectures, Fourth Edition,
Springer, 2024.
[2] W. M. P. van der Aalst, Object-centric process mining: Dealing with divergence and convergence
in event data, in: Software Engineering and Formal Methods - 17th International Conference,
SEFM 2019, Proceedings, volume 11724 of LNCS, Springer, 2019.
[3] W. M. P. van der Aalst, A. Berti, Discovering object-centric petri nets, Fundam. Informaticae 175
(2020) 1–40.
[4] D. Fahland, Describing behavior of processes with many-to-many interactions, in: PETRI NETS
2019, volume 11522 of LNCS, Springer, 2019, pp. 3–24.
[5] OMG, Business Process Model and Notation (BPMN), Version 2.0.2, Technical Report, Object
Management Group, 2014. https://www.omg.org/spec/BPMN/2.0.2.
[6] A. Meyer, L. Pufahl, D. Fahland, M. Weske, Modeling and enacting complex data dependencies in
business processes, in: BPM 2013, volume 8094 of LNCS, Springer, 2013, pp. 171–186.
[7] C. Combi, B. Oliboni, M. Weske, F. Zerbato, Conceptual modeling of inter-dependencies between
processes and data, in: SAC 2018, ACM, 2018, pp. 110–119.
[8] M. Hewelt, M. Weske, A Hybrid Approach for Flexible Case Modeling and Execution, in: M. L.
Rosa, P. Loos, O. Pastor (Eds.), BPM Forum 2016, volume 260 of LNBIP, Springer, 2016, pp. 38–54.
[9] M. König, M. Weske, Multi-instance data behavior in BPMN, in: ER Forum 2023, volume 3618 of
CEUR Workshop Proceedings, CEUR-WS.org, 2023.
[10] S. Ghilardi, A. Gianola, M. Montali, A. Rivkin, Delta-bpmn: A concrete language and verifier for
data-aware BPMN, in: BPM 2021, volume 12875 of LNCS, Springer, 2021, pp. 179–196.
[11] S. Steinau, A. Marrella, K. Andrews, F. Leotta, M. Mecella, M. Reichert, DALEC: a framework for
the systematic evaluation of data-centric approaches to process management software, Softw.
Syst. Model. 18 (2019).
[12] W. M. P. van der Aalst, A. Artale, M. Montali, S. Tritini, Object-centric behavioral constraints:
Integrating data and declarative process modelling, in: Workshop on Description Logics 2017,
volume 1879 of CEUR Workshop Proceedings, CEUR-WS.org, 2017.
[13] A. Gianola, M. Montali, S. Winkler, Object-centric conformance alignments with synchronization,
in: CAiSE 2024, volume 14663 of LNCS, Springer, 2024, pp. 3–19.
[14] M. Dumas, D. Pfahl, Modeling software processes using BPMN: When and when not?, in: Managing
Software Process Evolution, Springer, 2016.