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

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Engineering and Integrating Business Processes Rik Eshuis.
Process Models In this section, we focus on the control-flow perspective of processes. We assume that there is a set of activity labels.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Marlon Dumas marlon.dumas ät ut . ee
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Service Oriented Architecture
Fakultät für Informatik Technische Universität München A Quantitative Perspective on Systems of Systems Formerly: Upscaling for Systems of Systems Astrid,
Aligning Business Processes to SOA B. Ramamurthy 6/16/2015Page 1.
Business Process Orchestration
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Activity Diagrams Derived from several techniques: Event diagrams of Jim Odell SDL state modeling techniques Workflow modeling Petri nets Especially useful.
Advanced Behavioral Modeling
Business Process Modeling Workflow Patterns Ang Chen July 8, 2005.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Chapter 2 Accountants as Business Analysts
Business process management (BPM) Petra Popovičová.
Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
A university for the world real R © 2009, Chapter 17 Process Mining and Simulation Moe Wynn Anne Rozinat Wil van der Aalst Arthur.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Process-oriented System Automation Executable Process Modeling & Process Automation.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
A university for the world real R © 2009, Chapter 23 Epilogue Wil van der Aalst Michael Adams Arthur ter Hofstede Nick Russell.
Business process modelling with process maps Study material for October 10th and 17th Dr. Mojca Indihar Štemberger, Associate Professor.
Chapter : Software Process
SOA, BPM, BPEL, jBPM.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
1 Peter Fox Xinformatics 4400/6400 Week 11, April 16, 2013 Information Audit and dealing with Unstructured Information.
System models l Abstract descriptions of systems whose requirements are being analysed.
1 Introduction to Software Engineering Lecture 1.
Experiences in enhancing existing BPM Tools with BPEL Import and Export Jan MendlingVienna University of Economics Kristian Bisgaard LassenUniversity of.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
7 Systems Analysis and Design in a Changing World, Fifth Edition.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
BPEL
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Chapter 5 Process Modeling By Muna Shabaneh. What is a Model? What is a process? What is a Process modeling? What are the Perspectives in process representation.
1 Hybrid Rule Scheduling in Story Driven Modeling a tool-independent approach by Bart Meyers Principal Adviser: prof. dr. Dirk Janssens Principal Co-Adviser:
Business Process Execution Language (BPEL) Pınar Tekin.
Lecture 9: Business Process Modeling Notation Dr. Taysir Hassan December 17, 2015 INF411 Information Engineering Information Systems Dept. Faculty of Computers.
Business process management (BPM)
Object-Oriented Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Unified Modeling Language
Business process management (BPM)
Abstract descriptions of systems whose requirements are being analysed
Chapter 10: Process Implementation with Executable Models
Aligning Software Systems with Business Operations
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Enterprise Architect, CNA
Presentation transcript:

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… Process Documentation Workflow Management Enterprise Architecture Document Management Knowledge Management Process Improvement Process Cost Analysis / Simulation Enterprise Systems Compliance / Risk Management 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 miles…

12 BPMN: A more detailed view

13 Quick BPMN example

14 BPEL from miles Basic activities:,, Sequential flow:,, Block-structured parallel flow: Graph-oriented (parallel) flow: ** Event-action rules: ** Other constructs not relevant to this talk… ** Only partially supported by some tools

15 A quick BPEL example

16 BPMN-to-BPEL: Some monsters!

17 BPMN-to-BPEL (from miles) Repeat until reduction to a single node 1.Identify a structured & quasi-structured SESE region  Fold into a BPEL structured activity 2.Identify irreducible SESE regions without parallelism  Apply Goto  While transformations, repeat from 1 3.Identify acyclic fragments with concurrency  Fold into a BPEL activity with control links 4.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 Example Structured+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 net Application to Conformance Checking Services abstract BPEL process Petri net model SOAP Messages Event Log Services Monitoring / Correlation Conformance? Conformance Checking! Translation

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 = 1 consumed tokens produced tokens = 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

49 Measuring fitness: Log replay analysis

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

51 Conformance Checking - Appropriateness 100 % fitness but not sufficiently specific from behavioral point of view. 100 % fitness but not represented in structurally suitable way.

52 Ongoing work Reversible BPMN ↔ BPEL transformation Two-way transformation: BPEL ↔ FSM –Application to automated service composition –BPEL  FSM not too difficult –FSM  BPEL more exciting, e.g.

53 References