Rule 5': S is the set of source and T the set of target
activities of a backward jump. Activity a is located
between activities that belong to S and T (i.e. for a
holds: ∃s∈S, ∃t∈T with a∈Successor*(t) ∧ a∈Prede-
cessor*(s)). Then, JumpedBackwards(a)= true is set.
4.2.4 Jumps Within Loops
An activity a that is located within a loop may be ex-
ecuted multiple times. Each of these executions rep-
resent a separate activity instance that possesses its
own activity state (cf. Fig. 2) These instances can be
distinguished by using a consecutive number (itera-
tion counter) in addition to the activity name. Such a
composite identifier allows to identify an activity in-
stance unambiguously, e.g. in the process history.
Jumps within loops (Requirements L1 and L2)
can be realized by modifying the presented rules
slightly: In addition to the “normal” control flow
edges, the loop edge that is used at this jump, must be
respected when the (indirect) predecessors and suc-
cessors of an activity are calculated. Since the rules
stay almost unchanged, in the following, they are not
repeated but only the changes are explained.
Rule 1' must also respect loop edges, when calcu-
lating the activities that are located between S and T.
Therefore, instead of the function Successor*(s), Suc-
cessor
L
*(s) is used. The latter additionally respects
the loop edge that was used for this jump. Likewise,
Predecessor
L
*(t) is used instead Predecessor*(t).
When calculating the preceding activity p, Rule 2
has to respect the loop edge, as well.
To realize Requirement L2, similar adaptations
result for backward jumps: As already described for
Rule 1', Rule 5' uses Successor
L
*(t) and Predeces-
sor
L
*(s). As described for Rule 2, the Rules 4, 6, and
7 must additionally respect the loop edge when calcu-
lating the preceding or succeeding activity.
5 SUMMARY AND OUTLOOK
Dynamic jumps, triggered by users at run-time, ena-
ble an appropriate reaction in exceptional cases. For
instance, it may be necessary to jump forward within
a BP to save time by skipping activities. Backward
jumps may be required to correct errors made at the
execution of previous activities. To keep process
safety, instead of arbitrary jumps, the presented ap-
proach uses pre-modelled jumps. The behaviour of
concerned activities is definable by configuration op-
tions. They allow to specify, for instance, whether ac-
tivities that are bypassed by a forward jump must be
caught up later on, e.g. since output data are required
by succeeding activities. Because of this flexibility,
this approach becomes applicable in many scenarios.
This paper presents a formal execution semantics,
based on execution rules for state changes of activity
instances. In addition, flags of activity instances were
used by these rules, in order to avoid the definition of
many additional activity states (one for each combi-
nation of relevant flag value and each state).
The execution rules enable the realization of a BP
engine that offers sophisticated jumps. In future, usa-
bility of the presented approach has to be evaluated
based on a (prototypical) implementation of such a
BP engine. It shall be used to evaluate whether the
users are able to handle the presented concepts, and
whether they are really useful and sufficient.
REFERENCES
Bauer, T., 2023a. Behaviour and Execution Semantics of
Optional Edges in Business Processes. Proc. Informatik
2023, ZuGPM-Workshop (in German).
Bauer, T., 2023b. Modelling of Advanced Dependencies
Between the Start and the End of Activities in Business
Processes. Proc. ICEIS 457–465.
Bauer, T., 2022. Requirements for Dynamic Jumps at the
Execution of Business Processes. Proc. 12th Int. Symp.
on Business Modeling and Software Design 35–53.
Bauer, T., 2021. Pre-modelled Flexibility for the Control-
Flow of Business Processes, in: Enterprise Information
Systems. Springer, pp. 833–857.
Bauer, T., 2020. Business Processes with Pre-designed
Flexibility for the Control-Flow. Proc. ICEIS 631–642.
Bauer, T., 2019. Pre-modelled Flexibility for Business Pro-
cesses. Proc. ICEIS 547–555.
IBM, 2022. Business Automation Workflow 22.x. https://
www.ibm.com/docs/en/baw/22.x (accessed 11.10.23).
IBM, 2008. WebSphere Process Server Knowledge Center.
https://www.ibm.com/support/knowledgecenter
/SSQH9M_7.0.0 (accessed 7.15.18).
Object Management Group, 2011. Business Process Model
and Notation (BPMN) 2.0.
Reichert, M., Dadam, P., 1998. ADEPTflex - Supporting
Dynamic Changes of Workflows Without Losing Con-
trol. J. Intelligent Information Systems 10, 93–129.
Reichert, M., Dadam, P., Bauer, T., 2003. Dealing with For-
ward and Backward Jumps in Workflow Management
Systems. Software and Systems Modeling 2, 37–58.
Reichert, M., Weber, B., 2012. Enabling Flexibility in Pro-
cess-Aware Information Systems. Springer.
Russell, N., Hofstede, A.H.M., 2006. Workflow Control-
Flow Patterns. BPM Center Report BPM-06-22.
Weber, B., Reichert, M., Rinderle-Ma, S., 2008. Change
Patterns and Change Support Features. Data and Know-
ledge Engineering 66, 438–466.
Weske, M., 2019. Business Process Management: Con-
cepts, Languages, Architectures, 3rd ed. Springer.