Business Process Modeling with Event-driven Process Chains by qws18475

VIEWS: 114 PAGES: 63

									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      Offer     Bill      Hand over
  customer     Clothes   Clothes   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
                              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
  (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,                             Car body number 3324,
                   (Buyer),                                     Buyer Henry Ford,
                   Car color                                    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

    • 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.
 Business Process Modeling Languages



    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
The BPM Life cycle



           requirements                         process model

       evaluation                                   implementation

              case data                         infrastructure

                                 case data

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            EPC                 EPC
                                                            Activity           Pre- & Post-
• AND split:                                     Function              Event    condition

  activates all subsequent branches
  in concurrency
• OR split:                                                  XOR                   XOR
                                                             Join                  Split
  triggers one, two or up to all of multiple
  subsequent branches.
• XOR split:
  defines a choice to activate one of multiple               AND                   AND
                                                             Join                  Split
  subsequent branches.
• AND join:
  waits for all incoming branches to complete.
                                                             OR                    OR
• OR join:
                                                             Join                  Split
  waits for all active branches to complete.
• XOR join:
  continue when one of alternative branches
  has completed.

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

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

                                                                     Ereignis           Funktion

                                                                                          Artikel      Nachbestellung
                                                                                       nachbestellen    eingetroffen

Filialbestand    Automatische
                                Bestellung   Zentralbestand                Bestand
unter Bestell-     Bestell-
                                vorhanden        prüfen                  ausreichend
    menge        Generierung

 Ereignis         Funktion      Ereignis       Funktion                   Ereignis
                                                                                                          Artikel         Bestellung
                                                                                                         ausliefern     abgeschlossen

                                                                                                         Funktion         Ereignis
Combine Views with extended EPCs (eEPC)

• Die automatische Bestellgenerierung erfolgt auf Seiten der
 Filiale. Die erzeugte Bestellung geht in das Warenwirtschafts-
 system 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.

                                                                                                            Organisation        Leistung

             Organisation        Leistung                      Daten           Organisation                  Zentrale
                                                               Waren-            Zentrale
                 Filiale        Bestellung     geht ein in   wirtschafts-       Disposition
                                                                daten                                           führt aus    stellt bereit

                                                                                                                       Artikel                Nachbestellung
                                                                                                                    nachbestellen              eingetroffen
                   führt aus    erzeugt                         geht ein in   führt aus

Filialbestand          Automatische
                                             Bestellung           Zentralbestand                     Bestand
unter Bestell-           Bestell-
                                             vorhanden                prüfen                       ausreichend
    menge              Generierung

                                                                                                                                                     Artikel                Bestellung
                                                                                                                                                    ausliefern            abgeschlossen

                                                                                                                                             führt aus      geht ein in

                                                                                                                                    Transport                wirtschafts-

                                                                                                                                  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






                          a3                    a9

                     e2                    f3

                          a4                    a8

                     f2                    e3

                          a5                    a7




                     (a) One OR-Join Loop EPC
How EPCs work II

                        e5                              e7

                         a11                              a17

                        f5                              f7

                         a12                              a18
                                  a23       a24
                   c3                                         c5

                         a13                              a19

                        e6                              e8

                         a14                              a20

                        f6                              f8

                         a15                              a21

                   c4                                         c6

                         a16                              a22

                        e9                              e10

                             (b) Two OR-Join Loop EPC
How EPCs work III

               e1                       e3                        e5

                    a1                       a8                    a15

               f1                       f3                        f5

                    a2                       a9                    a16
    a21                       a7                       a14
                         c1                       c3                   c5

                    a3                   a10                       a17      • Only if nothing can be
               e2                       e4                        e6
                                                                              propagated to arc a21, c1 is
                                                                              allowed to proceed.
                    a4                   a11                       a18
                                                                            • But if c1 is allowed to
               f2                       f4                        f6
                                                                              proceed, a folder can be
                    a5                   a12                       a19        propated to a21.
          c2                       c4                        c6             • But if something can be
                    a6                   a13                       a20        propagated to a21, c1 may
               e7                       e8                        e9          not proceed.
                                                                            • If c1 may not proceed,
                                                                              nothing can be propagated
                                                                              to arc a21 (see 1.)
                                                                            • …
Which one can fire?

                    e1                                e1

                          a1                               a1

                     f1                               f1

                          a2                               a2

             a3                        a6
                                       a6        a3                                   a6
                    c1                                c1

                                                                     a7a                     a7d
        f2                       e3
                                 e3         f2                    e3a                      e3b

             a4                        a7
                                       a7        a4                  a7b                     a7e

        e2                       f3         e2                    f3a                      f3b

                                                                     a7c                     a7f

                    c2                                c2
             a5                        a8        a5                                   a8

                          a9                               a9

                    e4                                e4

        (a) EPC with OR-join on loop                  (b) Refinement of e3-f3 block

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




                           kein Angebot
                                                    ein Angebot

           ausschreiben      stellung

            neue Aus-



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:
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



           requirements                            process model
                          Change EPC Models

       evaluation                                     implementation
                                                     Change SAP System

              case data                            infrastructure

                                    case data

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

 SAP Reference Model                                                                   WofYAWL Analysis
                                            Generated YAWL Models                           Output
                         EPC to YAWL                                        WofYAWL    <warning>
                                                                                       Task or (ahvi) may not forward
                                                                                       control to task xor (aho7)
                                                                                       Task or (ahvi) may not forward
               V                                                                       control to task and (ahql)

                                            Model Characteristics
                   Model Analyzer                                          Generator
                                       <treenr>Asset Accounting</treenr>
                                       <modeltype>MT_EEPC</modeltype>                         Analysis Table
                                                                                             #   #   #   #   #   #   #   #
                                       <name>Index Series</name>
                                       <events>0</events>                                    #   #   #   #   #   #   #   #
                                       <andsplits>0</andsplits>                              #   #   #   #   #   #   #   #
                                       <arcs>2</arcs>                                        #   #   #   #   #   #   #   #
                                       <hasCycles>false</hasCycles>                          #   #   #   #   #   #   #   #
                                       ...                                                   #   #   #   #   #   #   #   #
An EPC from the SAP Reference Model
Mapping to YAWL

            (a)                    (b)                                         Input
   EPC            Atomic   EPC             no                                Condition
 Function          Task    Event         mapping
                                                   Start   Start

            (c)                    (d)                                    OR
                   XOR                     XOR                           Split
                   Split                   Split                         Task
                   Task                    Task

            (e)    AND             (f)     AND
                   Join                    Split                          OR
                   Task                    Task                          Join

                                                   End     End
            (g)     OR             (h)      OR
                   Join                    Split                              Output
                   Task                    Task                              Condition
The resulting YAWL net

             or               and                                       xor                         or
           (c91z)            (c92k)                                   (c8zy)                      (c93t)

                      or         Certificate Profile and Profile          Creation of a Quality
                    (c8yr)            Assignment (c92d)                    Certificate (c91h)

            and                    xor                         and                                         Out
           (c8z0)                (c8zg)                      (c90q)       Edit Recipient of Quality        put
                                                                             Certificate (c939)
                    (c8z9)                                              and
Petri Net analysis within WofYAWL
Potential Correction
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%

• 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

To top