1 / 53

Model Transformations for Business Process Analysis and Execution

Model Transformations for Business Process Analysis and Execution. Marlon Dumas University of Tartu. Business Process Management (BPM).

emanuele
Download Presentation

Model Transformations for Business Process Analysis and Execution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

  2. Business Process Management (BPM) Collection of methods and techniques to design, analyze, execute and monitor business operations involving humans, software, information and physical artifacts using process models.

  3. OK, so what is a process model? • Collection of inter-dependent activities whose collective performance is intended to achieve a goal such as delivering a product or a service. • E,g. order-to-cash, procure-to-pay, issue-to-resolution • Animated example

  4. Process models serve many purposes… ProcessImprovement Compliance /Risk Management Process Documentation KnowledgeManagement Process CostAnalysis / Simulation EnterpriseSystems EnterpriseArchitecture WorkflowManagement DocumentManagement Software Evaluation/ Selection

  5. … they have many faces Abstract Models EPC, BPMN Communication, simulation, activity-based costing… Detailed Models BPEL, State Machines… Data types, conditions, data mappings, fault handling… Integration, testing, deployment…

  6. …and can be seen from many perspectives • Control-flow • Data • Resource • Operational

  7. Many in one, or one in many? “The thing can be many in one sense, but also can be one in another sense.” Imam Ghazali Revival of Religious Sciences 

  8. Process Modelling:Dealing with Multiplicity • Multiple modelling languages (meta-models) • Multiple modelling viewpoints • Control-flow view vs. data view • Public views (protocols) vs. private views • Multiple abstraction levels • High-level: tasks, performance metrics... • Low-level: data transformations, application bindings...

  9. Process Modelling Notations • Business Process Modelling Notation (BPMN) • Event-driven Process Chains (EPC) • Business Process Execution Language (BPEL) • State machines and variants (e.g. IBM Business State Machine, WWF) • Petri nets (and variants, e.g. YAWL)

  10. Model transformations • BPMN-to-BPEL • Purpose: Transform models produced by analysts into models for developers (and vice-versa) • Commonly supported in commercial tool, but in a limited manner • BPEL-to-Petri nets • For analysis & verification • BPMN-to-Petri nets • For analysis & verification (e.g. deadlock-freeness)

  11. BPMN from 10 000 miles…

  12. BPMN: A more detailed view

  13. Quick BPMN example

  14. BPEL from 10 000 miles • Basic activities: <assign>, <invoke>, <receive> • Sequential flow: <sequence>, <while>, <switch> • Block-structured parallel flow: <flow> • Graph-oriented (parallel) flow: <link> ** • Event-action rules: <onEvent> ** • Other constructs not relevant to this talk… ** Only partially supported by some tools

  15. A quick BPEL example <sequence> <invoke “check stock availability” …/> <switch (…) …/> <case “reject”> <invoke “order rejection” …/> </case> <otherwise> <sequence> <invoke “order acceptance” … /> <flow> <invoke “invoicing” … /> <invoke “ship goods” … /> </flow> </sequence> </otherwise> </switch> </sequence>

  16. BPMN-to-BPEL: Some monsters!

  17. BPMN-to-BPEL (from 10 000 miles) Repeat until reduction to a single node • Identify a structured & quasi-structured SESE region Fold into a BPEL structured activity • Identify irreducible SESE regions without parallelism Apply GotoWhile transformations, repeat from 1 • Identify acyclic fragments with concurrency Fold into a BPEL activity with control links • Identify minimal unstructured components  BPEL event handlers

  18. BPMN-BPEL: Structured Components

  19. BPMN-BPEL: Structured Components

  20. BPMN-BPEL: Structured Components

  21. Example: Only Structured Components

  22. BPMN-to-BPEL: Acyclic component Proposition: Every acyclic BPMN component with a single entry point and a single exit point that is 1-safe and sound can be mapped to a BPEL Flow with links

  23. ExampleStructured+Acyclic Components

  24. Minimizing the use of control links

  25. For the rest… • Identify a minimal SESE region that is neither structured nor acyclic • For each action in the component, retrieve: • All actions that immediately precede it • All actions that immediately follow it • For each action, code the following behaviour using event-action rules: • Wait for a suitable combination of predecessors to complete • Perform action • Notify completion to all successors

  26. BPEL-to-Petri netApplication to Conformance Checking Services Services abstract BPEL process Services Conformance? SOAP Messages Translation Monitoring / Correlation Petri net model Event Log Conformance Checking!

  27. From BPEL to WF-nets

  28. Petri net-based Conformance Checking Objectives: • quantitatively measure conformance • locate deviations Conformance?

  29. Conformance Checking – Fitness

  30. Conformance Checking – Fitness

  31. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 0 = 1

  32. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 1 = 2

  33. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 2 = 4

  34. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 3 = 5

  35. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 5 = 6

  36. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 6 = 7

  37. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 7 = 7

  38. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 9 = 9

  39. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 9 = 9

  40. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 0 = 1

  41. Measuring fitness: Log replay analysis missing tokens remaining tokens = 0 = 0 consumed tokens produced tokens = 1 = 2

  42. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 0 consumed tokens produced tokens = 2 = 4

  43. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 0 consumed tokens produced tokens = 3 = 5

  44. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 0 consumed tokens produced tokens = 4 = 6

  45. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 0 consumed tokens produced tokens = 6 = 7

  46. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 0 consumed tokens produced tokens = 7 = 8

  47. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 1 consumed tokens produced tokens = 8 = 8

  48. Measuring fitness: Log replay analysis missing tokens remaining tokens = 1 = 1 consumed tokens produced tokens = 8 = 8

  49. Measuring fitness: Log replay analysis

  50. Measuring fitness: Log replay analysis f = 1.0 f ≈ 0.955 f ≈ 0.540

More Related