49
Introduction: Processes, information systems, and transition systems prof.dr.ir. Wil van der Aalst

Introduction Petri

Embed Size (px)

DESCRIPTION

Introduction Petri

Citation preview

Page 1: Introduction Petri

Introduction: Processes, information systems, and transition systems

prof.dr.ir. Wil van der Aalst

Page 2: Introduction Petri

IN-1

Outline

• On the relation between processes, systems, and models

• Basic model: Transition systems• Process models versus object/data models• Petri nets and other process modeling languages• Applications/tools• Process-aware information systems: Trends

Page 3: Introduction Petri

IN-2

On the relation between processes, systems, and models

Operational process Information

System

Model

Page 4: Introduction Petri

On the relation between information systems and processes

IN-3

IS

BP1 BP2 BP3

(a)IS

BP1 BP2 BP3

(b)

IS

BP1 BP2 BP3

(d)IS

BP1 BP2 BP3

(c)

Page 5: Introduction Petri

IN-4

Three good reasons for making a process model:• gain insight

for a better understanding of the system• analysis

validation and verification• specification

a blue print for construction

processarchitect

Page 6: Introduction Petri

IN-5

Basic model: Transition systems

• Any discrete dynamic system can be described as a transition system.

• Low level model: Mother of all (process) models.• Elements:

• State• Transition• State space• Transition relation

Page 7: Introduction Petri

IN-6

Discrete dynamic systems

time

state

•Y-axis is state space.•Bullets are transitions (no continuous changes, only discrete ones).•One possible execution: Transition relation is not described.

Page 8: Introduction Petri

IN-7

Definitions

• A transition system is specified by a pair (S,TR)• S is the state space• TR ⊆ S × S is the transition relation

• The elements of S (state space) are states.• The elements of TR (transition relation) are

transitions.

1)Model a light bulb with three states (on, off, broken).2)Model a queue in a supermarket.

Page 9: Introduction Petri

IN-8

Example: Elevator

• State space: S = { (floor,direction) ∈ IN x {-1,0,1} |

(1 ≤ floor ≤ 6) ∧( floor = 1) ⇒ ( direction ≥ 0) ∧( floor = 6) ⇒ ( direction ≤ 0) }

• Transition relation: TR ={((1,0),(1,1)), ((1,1),(2,1)), ((1,1),(2,0)), ...

Describe transition relation formally.Give graphical representation.

6

5

4

3

2

1

Page 10: Introduction Petri

IN-9

Exercise: Make transition system

• Consider a circular railroad system with 4 tracks (0,1,2,3) and 2 trains (A,B). No two trains should be at the same track at the same time. Trains can only move clockwise.

• Imagine how this would be if there are 50 tracks or more complex rules like claiming the next track or keeping tracks free in-between trains.

Page 11: Introduction Petri

Exercise

• Consider two parallel queues in a supermarket• Describe transition relation formally.• Give graphical representation.

PAGE 10

Page 12: Introduction Petri

IN-11

State explosion problem

50 states

5015 = +/- 30517578125000000000000000 states

Page 13: Introduction Petri

IN-12

Large state spaces ...

communication protocol (106 states)

Figu

re ta

ken

from

Fra

nk v

an H

am

Page 14: Introduction Petri

IN-13

link layer of the IEEE1394 standard (FireWire) simulated using two communication nodes and a bus (25,000 states)

Page 15: Introduction Petri

IN-14

Process models versus object/data models

object/data model

process model

system model = process model + data/object model

Page 16: Introduction Petri

IN-15

Example of a data/object model: A UML class diagram

-Name-Number-Age

Customer-date-discount-price

Sale

-number-weight-in stock?

Product

-number-experience-authorization

Sales person

1 0..*

has

1..*0..* is of

0..*

1

makes

Page 17: Introduction Petri

IN-16

Other data/object modeling techniques

• Entity-Relationship (ER) diagrams• Crow’s Foot diagrams• NIAM/ORM diagrams

Page 18: Introduction Petri

IN-17

Example of a process model: A Petri net modeling order processing

start register

send_bill

receive_payment

archive

ship_goodswait_for_availability

reminder

end

c1

c2

c3

c5

c4

c6

Page 19: Introduction Petri

IN-18

CPN Tools 3 (download from cpntools.org)

Page 20: Introduction Petri

IN-19

Other process modeling techniques

• UML activity/statechart diagrams• Event-driven Process Chains (EPCs) • IDEF/DFD diagrams• BPMN/BPEL• Etc.

Page 21: Introduction Petri

IN-20

Applications of process modeling in concrete products

• Business modeling tools: Protos, ARIS, ...• Simulation tools: ExSpect, Arena, Simula, ...• Verification tools: Woflan, ...• Petri net tools: Design CPN, CPN Tools, … • Workflow management systems: Staffware, COSA,

MQSeries Workflow, BPM|one, ...• Enterprise resource planning systems: SAP, Baan,

JD Edwards, Oracle, PeopleSoft, ...• Project planning tools: Microsoft project, ...• Web services languages: BPML, BPEL4WS, ...• ...

Page 22: Introduction Petri

IN-21

Business process modeling tools

Protos

Based on Petri nets

Design, communication, (export to) analysis and/or implementation

Page 23: Introduction Petri

IN-22

ILOG JViews (BPMN)

Business process modeling tools (2)

Page 24: Introduction Petri

IN-23

Business process modeling tools (3)

ARIS

Based on EPCs

Design, communication, (export to) analysis and/or implementation, import of real data.

Page 25: Introduction Petri

IN-24

Business process modeling tools (4)

SAP reference model (>600 EPCs)

Page 26: Introduction Petri

IN-25

Business process modeling tools (5)

Page 27: Introduction Petri

IN-26

Simulation tools

ExSpect

Based on Petri nets.

Rapid prototyping, performance analysis, validation, gaming.

Page 28: Introduction Petri

IN-27

Simulation tools (2)

Arena

Page 29: Introduction Petri

IN-28

Verification tools

Woflan

Based on Petri nets.

Detecting errors.

Page 30: Introduction Petri

Process Mining tools (1)

IN-29

Page 31: Introduction Petri

Process mining tools (2)

IN-30

Page 32: Introduction Petri

IN-31

Petri net tools

CPN Tools

Based on Petri nets.

Design and analysis

Page 33: Introduction Petri

IN-32

Workflow management systems

Staffware workflow designer

Page 34: Introduction Petri

IN-33

Workflow management systems (2)

Staffware worklist handler

Based on a vendor specific language. Enactmen

t

Page 35: Introduction Petri

IN-34

Workflow management systems (3)

COSA

Based on Petri nets.

Enactment

Page 36: Introduction Petri

IN-35

Workflow management systems (4)

Page 37: Introduction Petri

IN-36

Enterprise resource planning (ERP) systems

Baan (DEM)

Based on Petri nets.

Design, training, configuration, and enactment

Page 38: Introduction Petri

IN-37

Enterprise resource planning (ERP) systems (2)

SAP (workflow)

Also EPC view

Design, training, configuration, and enactment

Page 39: Introduction Petri

IN-38

Project planning

MS project

cf. PERT/CPM

Planning

Page 40: Introduction Petri

IN-39

Web services

Oracle BPEL

Enactment based on BPEL standard

Page 41: Introduction Petri

IN-40

IBM Websphere(also uses BPEL)

Page 42: Introduction Petri

WebSphere Business Modeler(flowcharts are translated into BPEL)

PAGE 41

Page 43: Introduction Petri

Worklist in WebSphere

PAGE 42

Page 44: Introduction Petri

Management information in WebSphere

PAGE 43

Page 45: Introduction Petri

As shown …

processes & process models are

everywhere!!

IN-44

Page 46: Introduction Petri

Business process models versus information system models

PAGE 45

Page 47: Introduction Petri

Lifecycle of Business Information Systems

IN-46

Configuration Distribution

Deployment

Production

Implementation

(Re)design

Requirements

Design analysis

Migration

Adjustment

Execution

Monitoring

Runtime analysis

Page 48: Introduction Petri

Some trends

PAGE 47

monolithic organization

specific enterprise information

system

comp.

comp.

comp.

WFM

S

ERP

services

1960 2010

Trend 1: from data orientation to process orientation

Trend 2: from programming to assembling

Trend 3: from programming to configuration

Trend 4: toward redesign and organic growth

Page 49: Introduction Petri

IN-48

Preview

• Classical Petri net• Extensions with

• Color (data)• Time• Hierarchy

• Colored Petri Nets (CPN) language• Analysis of processes

• state-space analysis• structural methods• process mining• simulation

• Design patterns• Other modeling techniques (UML, EPC, BPMN, ...)