Krems-2006-09-18-EPC

Download Report

Transcript Krems-2006-09-18-EPC

Business Process Modeling with
Event-driven Process Chains
Jan Mendling
Institute of Information Systems and New Media
WU Wien
You will learn in this session…
• What business process management is,
• How business process modeling works, and
• What event-driven process chains are.
BPM and Workflow
1. Business Process Management
A Retail Process
Welcome
customer
Offer
Clothes
Bill
Clothes
Hand over
clothes
Different business processes
• Production process
• Support process
• Managerial process
What is a Business Process?
Organization Chart:
units with assigned tasks
Business Process:
execution of tasks
coordination between tasks
Activity:
elementary part of a working step
Organization Chart WU Wien
Definitions related to Business Process
• “A process is a completely closed, timely and logical sequence of activities
which are required to work on a business object” (e.g. invoice).
• “A business process is a special process that is directed by the business
objectives of a company and by its business environment.”
(Becker, Kahn 2003).
• “The real structure of the operation is that of a river. It continuously creates and distributes
new products and services based on the same tasks or on tasks which only vary in detail.”
(Nordsieck 1972).
• “The truth of Being and Nothing is accordingly the unity of the two: and this unity is
BECOMING”
(Hegel: Phänomenologie des Geistes, 1807)
• “Panta rhei - Everything flows, nothing stands still.”
(Heraklitus of Ephesos, 535 - 475 BC)
Business Process versus Case
• Business Process
• Case (Process Instance)
• Activity
• Instance Activity
• Business Process Attributes
• Case Attributes
Car Assembly Process
Car Assembly Case 3324
Mount doors
Mount doors on 3324
Car body number,
(Buyer),
Car color
Car body number 3324,
Buyer Henry Ford,
Car color white
Business Process Management
• Task efficiency
“It follows that the most important object of both the workmen and the
management should be the training and development of each individual in
the establishment, so that he can do (at his fastest pace and with the
maximum of efficiency) the highest class of work for which his natural
abilities fit him.”
(Frederick W. Taylor 1911)
• Coordination efficiency
“The question in view of this overall thinking is how to divide the tasks of a
company other than by natural technical process phases?”
(Nordsieck 1972)
BPM Lifecycle
v.d.Aalst, t.Hofstede, Weske 2003
BPM and Workflow
2. Business Process Modeling
Why Modeling?
What is Modeling?
• “A model is a simplifying mapping of reality to serve a specific purpose”
(Stachowiak: Allgemeine Modelltheorie, 1973)
• Mapping:
representation of natural or artificial originals that can be
models themselves
• Simplying:
only those attributes of the original that are considered relevant
(abstraction)
• Pragmatics: model is used by modeler in place of original for a certain time and
a certain purpose
Guidelines of Modeling (GoM)
1. Correctness:
relates to the mapping, capture attributes of the original correctly
2. Relevance:
abstract from those aspects that are not relevant
3. Economic Efficiency:
Keep an eye on the purpose of modeling task
4. Clarity:
the model should be intuitive to understand for involved stakeholders
5. Comparability:
Use a similar mapping for similar aspects
6. Systematic Design:
define interfaces to related models
Schütte, Rotthowe: The Guidelines of Modeling - An Approach to Enhance the Quality in Information Models, 1998.
Purposes of Business Process Modeling:
Organization Design
•
Process Documentation
•
Process Reorganization
•
Process Monitoring and Controlling
•
Continuous Improvement
•
Quality Management: ISO 9000
•
Benchmarking: Compare with best practice
•
Knowledge Management:
Purposes of Business Process Modeling:
Information Systems Design
•
Selection of ERP software
•
Model based Customizing
•
Software Development
•
Workflow Management
•
Simulation
What to model of a business process
• Tasks
• Coordination between tasks
• synchronization
• decisions
• parallel work
• repetition
• …
• Organizational responsibilities
• Required resources
• Information input and output
• …
Modeling method, technique, and language
Karagiannis, Kühn 2002: Metamodelling Platforms.
http://www.dke.univie.ac.at/mmp/FullVersion_MMP_DexaECWeb2002.pdf
Business Process Modeling Languages
XOR
XOR
Event-driven Process Chains (EPC)
Petri Nets
Business Process Modeling Notation (BPMN)
UML Activity Diagrams
Business Process Modelling Tools 2004
Gartner: Magic Quadrant for Business Process Analysis, 2004, 04 March 2004
(http://mediaproducts.gartner.com/reprints/idsscheer/119964.html)
The BPM Life cycle
analysis
requirements
requirements
design
implementation
evaluation
case data
process model
enactment
case data
monitoring
infrastructure
BPM and Workflow
3. Event-driven Process Chains (EPC)
Example from the SAP Reference Model
EPC Semantics: prose version
• Functions:
activities of the business process
• Events:
pre- and post-conditions of functions
• AND split:
EPC
Function
Activity
EPC
Event
Pre- & Postcondition
activates all subsequent branches
in concurrency
• OR split:
triggers one, two or up to all of multiple
XOR
Join
XOR
Split
AND
Join
AND
Split
OR
Join
OR
Split
subsequent branches.
• XOR split:
defines a choice to activate one of multiple
subsequent branches.
• AND join:
waits for all incoming branches to complete.
• OR join:
waits for all active branches to complete.
• XOR join:
continue when one of alternative branches
has completed.
Exercise
• Have a look at the EPC business process model below. Write down the information that is
represented by this model in English language sentences. Be precise and detailed, but not dissipated.
Use this little exercise for a brief explanation in how far modeling is efficient.
Exercise
• Wenn der Filialbestand unter die Bestellmenge fällt, wird
automatisch eine Bestellung generiert. Diese wird gegen den
Zentralbestand geprüft. Falls dieser nicht ausreicht, werden
Artikel nachbestellt. Wenn diese eingetroffen sind oder falls der
Bestand von vornherein ausreicht, werden die Artikel ausgeliefert.
Somit ist die Bestellung abgeschlossen.
Solution
Ereignis
Funktion
Bestand
nicht
ausreichend
Artikel
nachbestellen
Nachbestellung
eingetroffen
xor
Filialbestand
unter Bestellmenge
Automatische
BestellGenerierung
Bestellung
vorhanden
Zentralbestand
prüfen
Ereignis
Funktion
Ereignis
Funktion
Bestand
ausreichend
xor
Ereignis
Artikel
ausliefern
Bestellung
abgeschlossen
Funktion
Ereignis
Combine Views with extended EPCs (eEPC)
Exercise
• Die automatische Bestellgenerierung erfolgt auf Seiten der
Filiale. Die erzeugte Bestellung geht in das Warenwirtschaftssystem ein, anhand dessen die Zentrale Disposition den
Zentralbestand prüft. Die Zentrale Disposition führt auch eine
eventuelle Nachbestellung aus, die zu einer Bereitstellung der Waren
führt. Der Transport ist für die Auslieferung der Waren zuständig, die
ebenfalls im Warenwirtschaftssystem erfasst wird.
Solution
Organisation
Filiale
führt aus
Filialbestand
unter Bestellmenge
Leistung
Bestellung
Daten
geht ein in
geht ein in
erzeugt
Automatische
BestellGenerierung
Warenwirtschaftsdaten
Bestellung
vorhanden
Organisation
Zentrale
Disposition
führt aus
Zentralbestand
prüfen
Organisation
Leistung
Zentrale
Disposition
Artikel
führt aus
Bestand
nicht
ausreichend
stellt bereit
Artikel
nachbestellen
Nachbestellung
eingetroffen
Bestand
ausreichend
Artikel
ausliefern
führt aus
Bestellung
abgeschlossen
geht ein in
Transport
Warenwirtschaftsdaten
Organisation
Daten
BPM and Workflow
4. Semantic Issues
EPC Semantics: Transition Relation
(a)
(b)
(c)
(d)
(e)
(f)
Cuntz, Kindler, 2004
EPC Semantics: Transition Relation II
(g)
(h)
Non-local semantics
How EPCs work
e1
a1
f1
a2
c1
a3
e2
a9
f3
a4
f2
a8
e3
a5
c2
a6
e4
(a) One OR-Join Loop EPC
a7
How EPCs work II
e5
e7
a11
a17
f5
f7
a12
a18
a23
a24
c3
c5
a13
e6
a19
e8
a14
f6
a20
f8
a15
a21
c4
c6
a16
e9
a22
e10
(b) Two OR-Join Loop EPC
How EPCs work III
e1
e3
a1
e5
a8
f1
a15
f3
a2
f5
a9
a21
a16
a7
a14
c1
c3
a3
a10
e2
a17
e4
a4
e6
a11
f2
a18
f4
a5
c2
a6
f6
a12
c4
e7
c5
a19
c6
a13
e8
a20
e9
• Only if nothing can be
propagated to arc a21, c1 is
allowed to proceed.
• But if c1 is allowed to
proceed, a folder can be
propated to a21.
• But if something can be
propagated to a21, c1 may
not proceed.
• If c1 may not proceed,
nothing can be propagated
to arc a21 (see 1.)
• …
Which one can fire?
e1
e1
e1
a1
a1
a1
f1
f1
f1
a2
a2
a3
a3
a2
a6
a6
c1
c1
a3
a6
c1
a7a
a7d
c3a
f2
f2
e3
e3
a4
a4
f2
a7
a7
e2
f3
e3a
a4
e3b
a7b
e2
a7e
f3a
f3b
c3b
a7c
c2
a7f
c2
a5
a8
a5
a8
a9
e4
(a) EPC with OR-join on loop
a9
e4
(b) Refinement of e3-f3 block
Exercise
• Bei einer Ausschreibung werden zuerst die verschiedenen
Einreichungen geprüft. Falls kein Angebot den Erwartungen
entspricht, wird geprüft, ob die Ausschreibung zurückgestellt
werden kann. Falls nein erfolgt eine neue Ausschreibung. Falls ja
wird die Ausschreibung auf Wiedervorlage gestellt. Falls mindestens
ein Angebot den Erwartungen entspricht, wird das beste Angebot
ausgewählt. Wenn sowohl das Angebot ausgewählt ist als auch die
Ausschreibung auf Wiedervorlage gelegt wurde, wird ein
Abschlussbericht erstellt.
Solution
Einreichungen
eingetroffen
Einreichungen
eingetroffen
Einreichungen
prüfen
ausschreiben
kein Angebot
angemessen
mindestens
ein Angebot
angemessen
Zurückstellung
prüfen
Angebot
auswählen
neue Ausschreibung
Angebot
ausgewählt
zurückstellen
Abschlussbericht
anfertigen
Ausschreibung
geschlossen
Problems with Connector Mismatch
Problems with Connector Mismatch
Lessons Learned
Use structured blocks
Use simple loops
BPM and Workflow
5. EPC Reference Models
Real World EPC Process Models
• SAP Reference Model
Keller & Teufel: SAP R/3 Process-oriented Implementation, 1998.
• Handels-H-Modell
Becker & Schütte: Handelsinformationssysteme, 2nd Edition, 2006.
• Y-CIM-Modell für die Produktion
Scheer: Wirtschaftsinformatik – Referenzmodelle für industrielle Geschäftsprozesse,
7th Edition, 1997.
• ARIS Platform 7.0 by IDS Scheer AG: http://www.ids-scheer.de/
The SAP Reference Model
• About 10,000 information models
• 5 Hierarchy Levels
• 29 Branches
• Various model types: data, organization, processes, etc.
• 604 EPC business process models
Reusing Reference Models
analysis
requirements
requirements
design
Change
EPC Models
implementation
Change
SAP System
evaluation
case data
process model
enactment
case data
monitoring
infrastructure
Why Correct EPC Models?
• Misunderstandings in
• Teaching Processes
• Comparing System with existing processes
• Customization of System
How to find errors?
• Soundness (v.d.Aalst 1997):
• For every state that is reachable from the start, the end
can be reached.
• If the end is reached, there is no activity still active.
• All activities can be reached.
• Relaxed Soundness (Dehnert, Rittgens 2001):
• Every activity participates in a run from start to end.
Verification Approach
WofYAWL Analysis
Output
SAP Reference Model
Generated YAWL Models
EPC to YAWL
WofYAWL
V
V
V
Model Analyzer
Model Characteristics
<model>
<treenr>Asset Accounting</treenr>
<modelnr>1</modelnr>
<modeltype>MT_EEPC</modeltype>
<level>5</level>
<name>Index Series</name>
<events>0</events>
<andsplits>0</andsplits>
<arcs>2</arcs>
<hasCycles>false</hasCycles>
...
<warning>
Task or (ahvi) may not forward
control to task xor (aho7)
</warning>
<warning>
Task or (ahvi) may not forward
control to task and (ahql)
</warning>
...
Table
Generator
Analysis Table
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
An EPC from the SAP Reference Model
Mapping to YAWL
EPC
Function
(a)
Atomic
Task
EPC
Event
(b)
Input
Condition
no
mapping
Start
(c)
XOR
Split
Task
(d)
XOR
Split
Task
(e)
AND
Join
Task
(f)
AND
Split
Task
Start
(i)
OR
Split
Task
OR
Join
Task
(j)
(g)
OR
Join
Task
(h)
End
OR
Split
Task
End
Output
Condition
The resulting YAWL net
or
(c91z)
and
(c92k)
or
(c8yr)
Split
and
(c8z0)
Certificate Profile and Profile
Assignment (c92d)
xor
(c8zg)
or
(c8z9)
xor
(c8zy)
and
(c90q)
or
(c93t)
Creation of a Quality
Certificate (c91h)
Edit Recipient of Quality
Certificate (c939)
and
(c907)
or
(c90e)
Out
put
Petri Net analysis within WofYAWL
Potential Correction
Results
Modeling Error 1: Deadlock
Modeling Error 2: Livelock
Modeling Error 3: Multiple Instantiation
Why Errors
• Hypotheses:
• Model Size
• Model Complexity
• Error Patterns
• Independent variables:
• Number of each element type
• Cycles
• Complexity metrics based on state space
• Logistic Regression:
• Explain error (yes/no)
• Nagelkerke R2:
0.30 and 0.26 in significant models
• Correct Classification:
about 95%
Conclusion
• Correctness is an issue in practice
• Relaxed Soundness as a lower bound
• At 5.6% of the models with errors
• Model Complexity matters
• Closer coupling of process models and enterprise system needed
BPM and Workflow
6. Summary
ARIS House of Business Engineering
Nüttgens, Scheer 2000
Lessons Learned
Use structured blocks
Use simple loops