ppt

advertisement
DecSerFlow
Towards a Truly Declarative
Service Flow Language
Invited talk 3rd International Workshop on
Web Services and Formal Methods
8 September 2006, Vienna, Austria
Wil van der Aalst & Maja Pesic
Eindhoven University of Technology,
P.O. Box 513, 5600 MB Eindhoven, The Netherlands
w.m.p.v.d.aalst@tue.nl
Outline
1. Classical approaches
•
•
BPEL2PN
PN2BPEL
2. DecSerFlow
•
•
•
Language
Graphical notation and LTL semantics
Implementation and application
(specification and enactment)
3. Using DecSerFlow for process mining
4. Conclusion
Classical approaches
BPEL2PN
PN2BPEL
1. Formal languages
(Petri nets, LTS, YAWL)
2. Graphical languages
(BPMN,UML-AD)
Industry standards:
1.
2.
3.
4.
BPEL
(abstract) BPEL
WS-CDL
etc.
BPEL2PN
• Many translations are available, cf.
– S. Hinz, K. Schmidt, and C. Stahl. Transforming BPEL to Petri nets. BPM
2005.
– C. Stahl. A Petri net semantics for BPEL. Technical Report 188, Humboldt
Universität zu Berlin, June 2005.
– etc.
– C. Ouyang, W.M.P. van der Aalst, S. Breutel, M. Dumas, A.H.M. ter Hofstede,
and H.M.W. Verbeek. Formal semantics and analysis of control flow in WSBPEL. Technical Report BPM-05-13, BPMcenter.org, June 2005.
• Focus on analysis, i.e., verification of various properties.
• Our approach is implemented in BPEL2PNML and
WofBPEL.
• cf. BEST (Berlin-Eindhoven Service Technology) program
also involving tools such as BPEL2PN, LOLA and FIONA
Example
Corresponding
Petri net
PN2BPEL
• Joint work with Kristian Bisgaard Lassen.
• Few people have been working on this.
• Purpose: Generating readable BPEL code
(otherwise it has no purpose).
• Implemented in WorkflowNet2BPEL4WS and
ProM.
• Not complete, but extendible.
• Work with Chun Ouyang, Marlon Dumas, et al.
(QUT) on using concepts in context of BPMN.
Basic idea
• Discover WF-net like
components.
• Look for specific
patterns that can easily
be mapped onto BPEL
(sequence, pick,
switch, while, flow,
etc.).
• Allow for ad-hoc
extensions and re-use
these.
4 types:
PP, TP, PT,
and TT
components
Sequence
Flow
•acyclic
•explicit choice
•well-structured
Example
Fold sequence
Fold switch
Fold sequence
Fold sequence (2x) and pick (2x)
Final step: fold flow
Tool support: WorkflowNet2BPEL4WS and ProM
Empirical case study: 100 Protos
• Different student projects.
• Size of models: 23.66 places and 26.54 transitions.
• Reductions:
DecSerFlow
Towards a Truly Declarative
Service Flow Language
joint work with Maja Pesic (TU/e)
Problems
• Tendency to over-specify.
• Focus on execution rather than "contractual" side.
Proposal
• A more declarative approach
– Graphical
– Executable
– Analysis support (both design and run-time)
Basic idea
A
B
DecSerFlow notation
LTL semantics
LTL
Small example
1..*
1. Existence formulas
A
2..*
A
N..*
3..*
A
A
N..*
A
0
A
0..1
A
0..2
0..N
A
A
0..N
A
1
A
2
N
A
A
N
A
2. Relation formulas
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
Example: "existence response"
• OK:
A
B
–
–
–
–
–
[]
[A,B,C,D,E]
[A,A,A,C,D,E,B,B,B]
[B,B,A,A,C,D,E]
[B,C,D,E]
• NOK
– [A]
– [A,A,C,D,E]
Example: "response"
• OK:
A
B
–
–
–
–
–
[]
[A,B,C,D,E]
[A,A,A,B,C,D,E]
[B,B,A,A,B,C,D,E]
[B,C,D,E]
• NOK
– [A]
– [B,B,B,B,A,A]
Example: "precedence"
• OK:
A
B
–
–
–
–
[]
[A,B,C,D,E]
[A,A,A,C,D,E,B,B,B]
[A,A,C,D,E]
• NOK
– [B]
– [B,A,C,D,E]
Combinations
A
B
and
A
B
=
A
B
=
A
B
co-existence
A
B
and
A
B
succession
3. Negation formulas
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
Example: "neg succession"
A
B
A
B
A
A
B
or
B
• Not the logical negation!
• OK:
–
–
–
–
–
[]
[A,C,D,E]
[A,A,A,C,D,E]
[B,B,A,A,C,D,E]
[B,C,D,E]
• NOK
– [A,B]
– [B,A,A,C,D,E,B]
Using DecSerFlow
• Nature of model:
– Global model (choreography model), i.e., interactions are
described from the viewpoint of an external observer who
oversees all interactions between all services (nonexecutable specification of a contractual nature).
– Local model, i.e., the DecSerFlow model is used to
specify, implement, or configure a particular service.
• Use:
– Analysis of both global and local models.
– Comparing global and local models.
– Monitoring global and local models (conformance).
– Enactment of local models.
Enactment
• A Büchi automaton typically assumes traces infinitely visiting an accepting state.
There are several ways to address this. We use the approach proposed by
Dimitra Giannakopoulou and Klaus Havelund to check finite traces.
• We can color the constraints green (in accepting state), yellow (accepting state
can still be reached), or red (accepting state cannot be reached anymore).
Implementation (ConDec)
Prom
YAWL
interface B
• Implementation on top of YAWL and ProM.
• Editor (with facilities to extend language) has been
implemented.
• Initial experiments with enactment service.
• Plans to link editor with LTL checker in ProM.
Editor
Add your own constraints!
Using DecSerFlow for process mining
curse
response
pray
Thanks to Ton Weijters, Boudewijn van Dongen, Ana Karla Alves de Medeiros, Anne Rozinat, Christian Günter, Eric Verbeek, Ronny
Mans, Minseok Song, Laura Maruster, Huub de Beer, Peter van den Brand, Jan Mendling, Andriy Nikolov, Jianmin Wang, Lijie Wen,
Irene Vanderfeesten, Mariska Netjes, Steffi Rinderle, Walid Gaaloul, Gianluigi Greco, Antonella Guzzo, Maja Pesic, etc. etc.
Overview: Process mining
supports/
controls
web services
service flow
specifies
global model
specifies/
implements
local model
records
events, e.g.,
via SOAP
messages
discovery
process
model
conformance
extension
event
logs
Discovery
• Based on an event log a
model is constructed
without a-priori
information.
• Not just the control-flow,
cf. the social network
miner.
• ProM examples: alpha
algorithm, heuristics
miner,DecSerFlow
multi-phase miner,
genetic miner, etc.
supports/
controls
web services
service flow
specifies
global model
specifies/
implements
local model
records
events, e.g.,
via SOAP
messages
discovery
process
model
conformance
extension
event
logs
Alpha miner
Other examples
Export to CPN Tools, PNML, ARIS, EPC Tools, YAWL, Netminer, etc.
Conformance
• The log is compare
with
DecSerFlow
some a-priori model, the
service flow
model can be a Petri net,
EPC, data model,
logical/temporal property,
specifies
global model
etc.
• ProM examples:
process
conformance checker and
model
LTL checker
supports/
controls
web services
specifies/
implements
local model
records
events, e.g.,
via SOAP
messages
discovery
conformance
extension
event
logs
Examples
Extension
• An existing model is
enriched with additional
knowledge extracted from
log.
• ProM examples: decision
miner, staff assignment
miner, performance
analyzer, etc.
DecSerFlow
supports/
controls
web services
service flow
specifies
global model
specifies/
implements
local model
records
events, e.g.,
via SOAP
messages
discovery
process
model
conformance
extension
event
logs
Examples
Export to CPN Tools!
Conformance?
<receive …
variable = … >
<correlations/>
</receive>
SOAP Messages
<invoke …
inputVariable = … >
<correlations/>
</invoke>
SOAP Monitor/Correlator
<invoke …
inputVariable = …
outputVariable = ...>
<correlations/>
</invoke>
Information System
abstract BPEL
Conformance
in webservices in a
classical setting
(abstract BPEL +
SOAP messages)
<receive …
createInstance=”YES”>
<correlations/>
</receive>
<reply … >
variable = …
</receive>
(MT,PI)
Event log
Petri net
B
L
C
M
(MT,PI)
K
D
A
G
E
H
(MT,PI)
I
J
F
G
(MT,PI)
Conformance checking!
(MT,PI)
(MT,PI)
(MT,PI)
(MT,PI)
(MT,PI)
...
Conclusion
•
Classical approaches:
– BPEL2PN: mainly for analysis purposes.
– PN2BPEL: also as an example for BPMN2BPEL, etc.
•
DecSerFlow
– Graphical notation, LTL semantics, extendible.
– Linked to YAWL and ProM.
•
•
Similar to ConDec aiming at supporting
autonomous (groups of) workers.
Interesting links between groupwork and services.
Relevant WWW sites
• http://www.processmining.org
• http:// promimport.sourceforge.net
• http://prom.sourceforge.net
• http://www.workflowpatterns.com
• http://www.workflowcourse.com
• http://is.tm.tue.nl/
• http://is.tm.tue.nl/staff/wvdaalst
Download