Skip to main content

BPMN Core Modeling Concepts: Inheritance-Based Execution Semantics

  • Chapter
  • First Online:

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Except the special case analyzed in Sect. 9.3.4.1 of an event-based gateway used to start a process.

  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 11.

    step denotes the interruptable FSM-like variant of sequential execution of ASMs (see [9.4] for an explicit definition).

  12. 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. 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. 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. 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. 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. 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. 18.

    If for a source intermediate link event \( \textit{outArc}(\textit{node})=\emptyset \), then \( {ProduceAll}(\emptyset)=  SKIP \).

  19. 19.

    It is required to always hold for Error and to never hold for Compensate type.

References

  1. 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

    Google Scholar 

  2. 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–406

    Chapter  Google Scholar 

  3. 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

    Google Scholar 

  4. 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–216

    Chapter  Google Scholar 

  5. Börger E, Stärk RF (2003) Abstract state machines: a method for high-level system design and analysis. Springer, Berlin

    MATH  Google Scholar 

  6. 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–115

    Chapter  Google Scholar 

  7. OmgBpmn (2006) Business Process Modeling Notation Specification v.1.0. dtc/2006-02-01 at http://www.omg.org/technology/documents/spec_catalog.htm

  8. OmgBpmn (2009) Business Process Modeling Notation (BPMN). FTF beta 1 for version 2.0. http://www.omg.org/spec/BPMN/2.0, dtc/2009-08-14

  9. 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

    Google Scholar 

  10. Voelzer H (2010) A new semantics for the inclusive converging gateway in safe processes. Business Process Management 1:294–309. http://www.springerlink.com/index/171751MQ8084521H.pdf

    Article  Google Scholar 

  11. Bryans JW and Wei W (2010) Formal Analysis of BPMN Models Using Event-B. In: Kowalewski S and Roveri M (eds) Formal Methods for Industrial Critical Systems – 15th International Workshop, Lecture notes in computer science, vol 6371. Springer, Berlin Heidelberg, pp 33–49. http://dx.doi.org/10.1007/978-3-642-15898-8_3

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Egon Börger or Ove Sörensen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Börger, E., Sörensen, O. (2011). BPMN Core Modeling Concepts: Inheritance-Based Execution Semantics. In: Embley, D., Thalheim, B. (eds) Handbook of Conceptual Modeling. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15865-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15865-0_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15864-3

  • Online ISBN: 978-3-642-15865-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics