Skip to main content

2011 | OriginalPaper | Buchkapitel

9. BPMN Core Modeling Concepts: Inheritance-Based Execution Semantics

verfasst von : Egon Börger, Ove Sörensen

Erschienen in: Handbook of Conceptual Modeling

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

We define an abstract model for the dynamic semantics of the core process modeling concepts in the OMG standard for BPMN 2.0. The UML class diagrams associated therein with each flow element are extendedwith a rigorous behavior definition, which reflects the inheritance hierarchy structure by refinement steps. The correctness of the resulting precise algorithmic model for an execution semantics for BPMN can be checked by comparing the model directly with the verbal explanations in [8]. Thus, the model can be used to test reference implementations and to verify properties of interest for (classes of) BPMN diagrams. Based on the model the second author has implemented a native BPMN 2.0 Process Engine.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Except the special case analyzed in Sect. 9.3.4.1 of an event-based gateway used to start a process.
 
2
The two constraints on \( \textit{inQty} \) and \( \textit{outQty} \) seem to be intended for all flow node instances, except where stated differently, so that from now on we assume them to be added implicitly.
 
3
The last conjunct has been added in [9.10], correcting the definition which originally appeared in [9.8]. Upstream tokens are called there tokens that have an inhibiting path but no anti-inhibiting path to the gateway.
 
4
The standard document interpretes this choice as “deferred until one of the subsequent Tasks or Events completes” [9.8]. This creates an ambiguity for two successive enablings of the gate with deferred choice of an outgoing branch. We avoid this ambiguity by letting \( {EventGateBehavior} \) fire only when the choice is possible due to at least one gate event occurring.
 
5
The allowed case of incoming sequence flow whose source is an untyped start event [9.8] is covered by the description explained below, including the usual conditions and operations for pass-through semantics.
 
6
The standard document makes the distinction in terms of an \( \textit{eventGatewayType} \) attribute set to \( \textit{parallel} \) for the case of multiple \( \textit{group} \) elements.
 
7
In general upon being enabled a process first becomes \( \textit{Ready} \) and can \( {GetActive} \) only after some input became available, see Sect. 9.4. But since at an event-based gateway the only allowed triggers are catch events or receive tasks that have no input data assignment, the newly created process becomes immediately \( \textit{Active} \).
 
8
This reflects the standard document requirement that “one event out of each group” has to arrive to complete the process instance created upon the “first” arrival of an event.
 
9
Enabledness is defined here to mean that “the required number of \( \textit{Tokens} \) \( \ldots \textit{StartQuantity}\ldots \) is available,” as reflected by our macro definition in Sect. 9.2.2.
 
10
The 1.0 standard version required in addition that the activity must have no currently active instances, in accordance with the suggested transformation to BPEL. Such an additional guard guarantees that all instances of an activity are ultimately triggered by one enabling token, which reflects the intended termination behavior of all activity instances in case of a failure. Probably also for 2.0 this guard should be added.
 
11
step denotes the interruptable FSM-like variant of sequential execution of ASMs (see [9.4] for an explicit definition).
 
12
We skip the cases where a task may fail or terminate due to a fault in the environment. We also skip the \( Completing \) activity mode, which is foreseen for the final 2.0 version of the standard but not yet further specified in [9.8].
 
13
Here again our macro definition of \( {Produce} \) captures that the “number of tokens indicated by … \( \textit{CompletionQuantity} \) is placed” on the outgoing arcs [9.8].
 
14
This sounds ambiguous: where should the token arrive if there is no incoming sequence flow? We interpret it as meaning that some \( \textit{caller} \) process triggers a start event in the callee, the \( \textit{targetyRef} \) subprocess node [9.8].
 
15
Op. cit., p. 156., Sect. 14.4.4 says “Running,” a term which is not defined in Fig. 14.2 and seems to request an active parent process only for initiating a non-interrupting event subprocess. We disregard here the baroque looking additional feature mentioned on p. 405 that “An Event Sub-Process can optionally retrigger the Event through which it was triggered, to cause its continuation outside the boundary of the associated Sub-Process.”
 
16
Since in this chapter we do not investigate BPMN choreography features, we disregard the case of start events that participate in a conversation including other start events where only one new process instance is created for the specific conversation.
 
17
We do not provide further details about compensation because this concept is only unsatisfactorily sketched in the standard document, in particular when it comes to speak about compensation of multiple activities.
 
18
If for a source intermediate link event \( \textit{outArc}(\textit{node})=\emptyset \), then \( {ProduceAll}(\emptyset)=  SKIP \).
 
19
It is required to always hold for Error and to never hold for Compensate type.
 
Literatur
1.
Zurück zum Zitat Aït-Sadoune I, Ameur YA (2009) A proof based approach for modelling and verifying Web services compositions. In: 14th IEEE international conference on engineering of complex computer systems (ICECCS’09), pp 1–10 Aït-Sadoune I, Ameur YA (2009) A proof based approach for modelling and verifying Web services compositions. In: 14th IEEE international conference on engineering of complex computer systems (ICECCS’09), pp 1–10
2.
Zurück zum Zitat Aït-Sadoune I, Ameur YA (2010) A proof based approach for formal verification of transactional BPEL Web services. In: Frappier M, Glässer U, Khurshid S, Laleau R, Reeves S (eds) Abstract state machines, alloy, B and Z. Lecture notes in computer science, vol 5977. Springer, Berlin, pp 405–406CrossRef Aït-Sadoune I, Ameur YA (2010) A proof based approach for formal verification of transactional BPEL Web services. In: Frappier M, Glässer U, Khurshid S, Laleau R, Reeves S (eds) Abstract state machines, alloy, B and Z. Lecture notes in computer science, vol 5977. Springer, Berlin, pp 405–406CrossRef
3.
Zurück zum Zitat Altenhofen M, Börger E (2009) Concurrent abstract state machines and + CAL programs. In: Corradini A, Montanari U (eds) WADT 2008. Lecture notes in computer science, vol 5486. Springer, Berlin, pp 1–17 Altenhofen M, Börger E (2009) Concurrent abstract state machines and + CAL programs. In: Corradini A, Montanari U (eds) WADT 2008. Lecture notes in computer science, vol 5486. Springer, Berlin, pp 1–17
4.
Zurück zum Zitat Börger E, Craig I (2009) Modeling an operating system kernel. In: Diekert V, Weicker K, Weicker N (eds) Informatik als Dialog zwischen Theorie und Anwendung. Vieweg+Teubner, Wiesbaden, pp 199–216CrossRef Börger E, Craig I (2009) Modeling an operating system kernel. In: Diekert V, Weicker K, Weicker N (eds) Informatik als Dialog zwischen Theorie und Anwendung. Vieweg+Teubner, Wiesbaden, pp 199–216CrossRef
5.
Zurück zum Zitat Börger E, Stärk RF (2003) Abstract state machines: a method for high-level system design and analysis. Springer, BerlinMATH Börger E, Stärk RF (2003) Abstract state machines: a method for high-level system design and analysis. Springer, BerlinMATH
6.
Zurück zum Zitat Börger E, Thalheim B (2008) A method for verifiable and validatable business process modeling. In: Börger E, Cisternino A (eds) Advances in software engineering. Lecture notes in computer science, vol 5316. Springer, Berlin, pp 59–115CrossRef Börger E, Thalheim B (2008) A method for verifiable and validatable business process modeling. In: Börger E, Cisternino A (eds) Advances in software engineering. Lecture notes in computer science, vol 5316. Springer, Berlin, pp 59–115CrossRef
9.
Zurück zum Zitat Sörensen O (2010) Meek – a native BPMN 2.0 process engine based on an ASM model of the standard. Code documentation requests to be sent to ove@is.informatik.uni-kiel.de Sörensen O (2010) Meek – a native BPMN 2.0 process engine based on an ASM model of the standard. Code documentation requests to be sent to ove@is.informatik.uni-kiel.de
11.
Metadaten
Titel
BPMN Core Modeling Concepts: Inheritance-Based Execution Semantics
verfasst von
Egon Börger
Ove Sörensen
Copyright-Jahr
2011
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-642-15865-0_9

Premium Partner