Discuss the semantics requirements of business process, mainly for the modeling of control-flow, dataflow, and transaction in business process modeling
2. Objective: to observe
• The requirements of BP semantics via Workflow
Patterns and BPEL
• The role of Petri Net in BP modeling: Graphical
notation? Semantics foundation? Executable
language?
• Advantages / disadvantages of using PN as semantics
basis of BP (e.g. comparing with Pi-calculus)
• The missing part of BP modeling with PN, i.e. the
data-flow
A.Chen, 31 jan 2008 2
3. Papers
• [1]. Workflow Patterns. W.M.P van der Aalst, A.H.M. ter Hofstede, B.
Kiepuszewski, and A.P. Barros. Distributed and Parallel Databases, 14(3), July 2003
• [2]. Formal semantics and analysis of control flow in WS-BPEL. Science of
Computer Programming,Volume 67, Issues 2-3, 1 July 2007. Chun Ouyang, Eric
Verbeek, Wil M.P. van der Aalst, Stephan Breutel, Marlon Dumas and Arthur H.M. ter
Hofstede
• [3]. A pi-calculus based semantics for WS-BPEL. Journal of Logic and Algebraic
Programming,Volume 70, Issue 1, January 2007. Roberto Lucchi and Manuel Mazzara
• [4]. Information System Behavior Specification by High-Level Petri Nets. A.
Oberweis, P. Sander. ACM Transactions on Information Systems,Vol. 1, No. 4,
October 1996
• [5]. Petri Net + Nested Relational Calculus = Dataflow. Jan Hidders, Natalia
Kwasnikowska, Jacek Sroka, Jerzy Tyszkiewicz, and Jan Van den Bussche. 2005
A.Chen, 31 jan 2008 3
4. Topics
• Workflow Patterns [1] and BPEL: they represent
requirements of business process modeling in
academic and industry, respectively
• Semantics (of BPEL control-flow): Petri Net [2],
Pi-Calculus [3]
• Data-Flow modeling: [4] [5]
• Not included: Transaction
A.Chen, 31 jan 2008 4
5. Topics
[1]
Workflow realize Petri Net
patterns
formalization [2] use
[4] [5]
BPEL Data-Flow
Modeling
formalization [3]
Pi-Calculus
A.Chen, 31 jan 2008 5
6. Outline
• Non-local semantics of workflow patterns
• BPEL formalization
• Data-Flow Modeling in BP
• Conclusion
A.Chen, 31 jan 2008 6
8. Workflow patterns
• [1]. identifies 20 control-flow patterns and uses them to
evaluate products
• Basic constructs (1-5): sequence, join, split
• Advanced branching and synchronization (6-9): merges
• Structural (10-11): arbitrary cycle, implicit termination
• Multi-instances (12-15)
• State-Based (16-18)
• Cancellation (19-20)
A.Chen, 31 jan 2008 8
9. Non-local semantics
(Join) I
A D
split B join
C E
• Non-blocking (asynchronous) Join (N of M): select N from M
without waiting M inputs
•xor-join:1 of M non-blocking join, D or E are activated once per
case
•multi-merge: D, E can be activated several times per case
•discriminator: D, E can be activated several times, then reset
A.Chen, 31 jan 2008 9
10. Non-local semantics
(Join) II
B E
A split join G
C F
• In non-blocking join, the connector needs non-local
information to take decision
A.Chen, 31 jan 2008 10
11. Non-local semantics of
workflow patterns
• Most workflow patterns need non-local
information between the activities, e.g.
merge, case cancellation, cycles with multiple
instances ...
A.Chen, 31 jan 2008 11
12. Role of PN
• PN can be a semantics basis
• pros: easy to be verified for analysis purpose
• cons: few patterns can be modeled directly
due to its local semantics
• Not easy to directly model BP with PN,
extension of PN semantics is necessary
A.Chen, 31 jan 2008 12
14. BPEL
• Business Process Execution Language based on Web
Service, for the composition of Web Service
• Units of composition: Activity, Scope
• Control-Flow constructs: sequence, flow, switch, pick,
while, link, fault, compensation
• The specification does not provide a formal
semantics, thus not clear (or ambiguous) in some
details, e.g. completion conditions of parallel tasks
A.Chen, 31 jan 2008 14
15. BPEL Semantics
• Semantics of BPEL control-flow in Petri Net [2]
and Pi-Calculus [3]
• Both: obtain unambiguous semantics of BPEL
• [2] provides static analysis methods, e.g. find
unreachable activities
• [3] possible to verify the behavioral equivalence
of processes (future work)
A.Chen, 31 jan 2008 15
16. Petri Net [2]
to skip Y Ready
to skip Y Ready
Start
Y Start skip
Y
X skip Run X X Run X C
Y Y
Completed
X
skipped
Y Completed
skipped Finished
Activity X
Y
! :-) Finished
Scope Q
• Activities and scopes are transformed into PN structure
• State-oriented, easy to find case states
A.Chen, 31 jan 2008 16
17. Pi-Calculus [3]
• Formalization of control-flow is quite direct, but difficult to read
• Abstraction of service is well preserved, e.g. action signature
• Channels are used to handle faults and compensations
• States of processes are encoded, however, states of cases are lost
A.Chen, 31 jan 2008 17
18. BPEL formalization
• There has been debates on the semantics
basis of BP languages, e.g. PN vs. Pi-calculus
• Each approach has its advantages
• Till now, verifications are limited to static
control-flow analysis
• Data-flow analysis is missing
A.Chen, 31 jan 2008 18
20. Data-Flow
• Very general topic, many work have been done
in database and parallel computing domain
• Few publications in BP modeling, especially the
integration of Control-Flow and Data-Flow (e.g.
be able to extract CF from DF)
• [4] , [5] try to address the data-flow problem in
information system with Petri Net (control-flow +
data-flow)
A.Chen, 31 jan 2008 20
21. Data-Flow modeling [4]
• [4] proposes Predicate/Transition Net + Nested
Relation Calculus
• Add formally defined behaviors to information
systems
• Processes are modeled by Predicate/Transition
Net, tokens are relation instances
• A different approach than CRUD in SQL to
manage data (based on insertion and deletion of
tuples)
A.Chen, 31 jan 2008 21
22. NR/T Net
• Places are relations, relation instances are sets of tuples
• Use tuples and filter table to manipulate relation instances
• Filter tables inscribed on PN arcs give rules of manipulating
instances (Inclusion order vs. Object order)
• Transitions are annotated by logical formulas
A.Chen, 31 jan 2008 22
23. Data-Flow modeling [5]
• [5] : Petri Net + Nested Relational Calculus =
Data-Flow Language
• Use operations on set and record
• Edge annotation (simple condition), transition label
(set operations, user-defined labels)
• Use simple control-flow, it is designed to describe
the flow of large amount of data
• CRUD operations on data are not concerned
A.Chen, 31 jan 2008 23
24. Data-Flow
• Control-flow is a particular kind of data-
flow
• No convenient solutions (yet) for data-flow
modeling in BP
• Related topic: process mining tries to
discover control-flow from observed data-
flow
A.Chen, 31 jan 2008 24
25. Conclusion
• This study motivates to propose an approach
which:
• Integrates Control-Flow and Data-Flow
• Supports relational data model
• Based on PN or Process algebra, or both
• Can be a semantics basis of BPEL and other
languages
• Supports all workflow patterns, if possible
A.Chen, 31 jan 2008 25
26. BP Modeling with ID-
Net
• Places are typed, e.g. by relations. Tokens are
identifications, e.g. relation keys
• Transitions are processes whose behaviors are
described by process algebra
• Operations on relational data are attached to the
transition process without changing the ID-Net’s
control-flow, i.e. data-flow integration
• Both case state and process state are traceable
A.Chen, 31 jan 2008 26