Semantics (requirements) of Business Process Ang Chen 31 Jan. 2008
Semantics (requirements) of Business Process
Ang Chen31 Jan. 2008
A.Chen, 31 jan 2008
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
2
A.Chen, 31 jan 2008
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
3
A.Chen, 31 jan 2008
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
4
A.Chen, 31 jan 2008
Topics
Workflow
patterns
BPEL
Petri Net
Pi-Calculus
Data-Flow
Modeling
[1]
[4] [5]
realize
formalization [2]
formalization [3]
use
5
A.Chen, 31 jan 2008
Outline
• Non-local semantics of workflow patterns
• BPEL formalization
• Data-Flow Modeling in BP
• Conclusion
6
Non-local semantics of Workflow Patterns
A.Chen, 31 jan 2008
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)
8
A.Chen, 31 jan 2008
Non-local semantics (Join) I
• 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
EC
D
join
A
B
9
split
A.Chen, 31 jan 2008
Non-local semantics (Join) II
• In non-blocking join, the connector needs non-local information to take decision
A
B
C
split Gjoin
E
F
10
A.Chen, 31 jan 2008
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 ...
11
A.Chen, 31 jan 2008
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
12
BPEL Formalization
A.Chen, 31 jan 2008
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
14
A.Chen, 31 jan 2008
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)
15
A.Chen, 31 jan 2008
Petri Net [2]
• Activities and scopes are transformed into PN structure
• State-oriented, easy to find case states
Start
Ready
Completed
Finished
Y
Y
skipped
skip
to skip
Run X
Activity X
X
Y
Y
Start
Ready
Completed
Finished
YY
skipped
skip
to skip
Run X
Scope Q
!
X
Y
YC
X
:-)
16
A.Chen, 31 jan 2008
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
17
A.Chen, 31 jan 2008
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
18
Data-Flow Modeling in BP
A.Chen, 31 jan 2008
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)
20
A.Chen, 31 jan 2008
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)
21
A.Chen, 31 jan 2008
NR/T Net
22
• 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
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
23
A.Chen, 31 jan 2008
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
24
A.Chen, 31 jan 2008
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
25
A.Chen, 31 jan 2008
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
26