Formal Process Modelling

Similar documents
Semantics of ARIS Model

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority

A UML 2 Profile for Variability Models and their Dependency to Business Processes

Preserving correctness during business process model configuration

Petri Nets ee249 Fall 2000

INTEGRATING COLORED PETRI NET AND OBJECT ORIENTED THEORY INTO WORKFLOW MODEL

Composability Test of BOM based models using Petri Nets

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

From Business Process Models to Process-oriented Software Systems: The BPMN to BPEL Way

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Coloured Petri Nets Modelling and Validation of Concurrent Systems. Chapter 1: Modelling and Validation

The Difficulty of Replacing an Inclusive OR-Join

Structure of Abstract Syntax trees for Colored Nets in PNML

For example, in an assembly sub-floor technicians engaged in making a product,

From Task Graphs to Petri Nets

Stochastic Petri nets

Business Process Modelling

Business Processes Modelling MPB (6 cfu, 295AA)

CLAN: A Tool for Contract Analysis and Conflict Discovery

An Introduction to Modular Process Nets

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process.

Modeling Routing Constructs to Represent Distributed Workflow Processes Using Extended Petri Nets

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

A Brief Introduction to Coloured Petri Nets

Component-Based Behavioural Modelling with High-Level Petri Nets

Process Model Consistency Measurement

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation

Extended Coloured Petri Nets with Structured Tokens Formal Method for Distributed Systems

A NOVEL MODELING METHODOLOGY FOR COLLABORATIVE ENTERPRISE PROCESSES. Received March 2011; revised July 2011

Part II Workflow discovery algorithms

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

By: Chaitanya Settaluri Devendra Kalia

Workflow : Patterns and Specifications

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Part I: Preliminaries 24

Concurrent Systems Modeling using Petri Nets Part II

A counter-example to the minimal coverability tree algorithm

Formal Support for QVT-Relations with Coloured Petri Nets

Process Modelling. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS

Concurrent Systems Modeling using Petri Nets Part II

Timo Latvala. January 28, 2004

APPLICATION OF COLORED PETRI NET IN MODELING OF AN AGRICULTURAL ENTERPRISE INFORMATION MANAGEMENT SYSTEM

Modelling and Verifying of e-commerce Systems

Generalizing the Compositions of Petri Nets Modules

DISCRETE-event dynamic systems (DEDS) are dynamic

19. Business Process Automation in YAWL Fabiano Dalpiaz. Organizational Information Systems Based on slides from

Spiking Neural P Systems and Petri Nets

Activity Nets: A UML profile for modeling workflow and business processes

Coverability Graph and Fairness

PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM

Solution: Petri nets Homework 1. Discussed on Thursday 21 st April, 2016.

Modeling Hybrid Systems with Petri Nets

THE SELECTION OF THE ARCHITECTURE OF ELECTRONIC SERVICE CONSIDERING THE PROCESS FLOW

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

Integration of analytic model and simulation model for analysis on system survivability

CODING TCPN MODELS INTO THE SIMIO SIMULATION ENVIRONMENT

Eindhoven University of Technology MASTER. Translation of process modeling languages. Vijverberg, W.M. Award date: Link to publication

Key Features. Defect Rates. Traditional Unit testing: 25 faults / KLOC System testing: 25 / KLOC Inspections: / KLOC

2 Discrete Dynamic Systems

A Modelling and Analysis Environment for LARES

Directions of the business processes theory

Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net

Integration of UML and Petri Net for the Process Modeling and Analysis in Workflow Applications

Investigation on Soundness Regarding Lazy Activities

A MODELING TOOL FOR A NEW DEFINITION OF STOCHASTIC ACTIVITY NETWORKS *

Diagnosing Workflow Processes using Woflan

Analysis of BPMN Models

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

Syntactic Measures of Complexity

EPC-BASED MODELLING OF BPEL PROCESSES: A PRAGMATIC TRANSFORMATION APPROACH

Process Modelling using Petri Nets

Verification of EPCs: Using Reduction Rules and Petri Nets

COVER SHEET. This is the author version of article published as:

ON-LINE QUALITATIVE MODEL-BASED DIAGNOSIS OF TECHNOLOGICAL SYSTEMS USING COLORED PETRI NETS

A Comparison of the Expressiveness of SPA and Bounded SPN models

Hoare logic. A proof system for separation logic. Introduction. Separation logic

State Machine Diagrams

A Model-Driven Approach to Adapt SysML Blocks

Pre-processing of Stochastic Petri Nets and an improved Storage Strategy for Proxel Based Simulation

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Main Goal. Language-independent program verification framework. Derive program properties from operational semantics

Formal Validation for Software Modeling

Simulation of Petri Nets in Rule-Based Expert System Shell McESE

Overview of Dataflow Languages. Waheed Ahmad

TRANSLATING business requirements into a system

Reducing Clocks in Timed Automata while Preserving Bisimulation

Performance Testing from UML Models with Resource Descriptions *

Modelling Timed Concurrent Systems Using Activity Diagram Patterns

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects

Colored Petri Net Evaluation Tool. Stephen Rojcewicz CS 2310

Relations and Graphs

Automated Compliance Verification of Business Processes in Apromore

Models of Petri Nets

Mining Configurable Enterprise Information Systems

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

Supply Tank 1. Storage Tank 1 TE1. Supply Tank 2. Storage Tank 2 TE2

Transcription:

Formal Process Modelling Petri Net Behaviour Net Model Event-driven Process Chains Formalisation Håvard D. Jørgensen Materiale fra: Jon Atle Gulla, NTNU Folker den Braber, SINTEF Anders Moen, Norsk Regnesentral

Outline Petri nets Simple formal process models Execution semantics Behaviour Net Model Petri nets with data models Formalization of ARIS process mod (EPC) with Petri nets Mapping from EPC to Petri nets Verification of EPCs

Petri Nets - Basics Build up from places and transitions Arrows between them (never from place->place or from transition->transition) lace Transition Place

Petri Nets - Basics p1 t1 Purchase requisition arrived Approve requisition Petri nets is a tuple (P, T, F): P is a finite set of places T is a finite set of transitions (P? T = Ø) F? (P? T)? (T? P) is a set of arcs (flow relatio t2 p2 t3 p3 Create purchase order Contract available Notation: t3 = {p2, p3} p2 = {t2, t3} Input places to transition Output transitions form place Place p1 is an input place for transition t1 Place p2 is an output place for transition t1 p4 p5 t4 p6 Receive goods Goods received Petri nets and formalization: Petri nets have a mathematical foundation Formal semantics Automatic model analysis

Petri Nets - Dynamics Start configuration (initial mark A transition t can fire if all inpu places of t contain tokens and al output places of t are empty Initial marking

Petri Nets - Dynamics Purchase requisition arrived Approve requisition Create purchase order Contract available Tokens: A place contains zero or more tokens Firing rule: A transition t is said to be enabled iff each inp place p of t contains at least one token An enabled transition may fire. If transition t fires, then t consumes one token from each inp place p of t and produces one token in each out place p of t Alternatively: must fire immediately State M (Marking): Distribution of tokens over places Receive goods Goods received M: P?? 0 Example: State M = p1 + 2p3 t1 is enabled, t3 is not enabled

Example: Producer - Consumer p 1 c 1 producing Initial Configuration emptying p 2 buffer c 2 filling consuming

A(1) Mutual Exclusion B(1) in 1 in 2 A(2) B(2) out 1 out 2 A(3) Initial Configuration B(3) d 1 d 2

Petri Nets - Expressivenes Choice (XOR) Branch: Place with N output transitions Merge: Place with N input trans Concurrency, Synchronisation (A Branch: Transition with N outpu places Synchronise: Transition with N places Later: Simplification

Petri Nets - Applications Modelling Analysis Execution Simulation Visualisation Monitoring Concurrent distributed processe Workflow Communication systems Operating systems

Petri Nets - Variations Time Delayed firing Stochastic Branching and time probabilities Coloured Different data types Modular Decomposition and abstraction Object-oriented Inheritance, encapsulation etc.

Example: Oslo Subways Oslo subways 5 lines 101 stations Trains run every 15 minutes 69,8 million passengers 10624 passengers/hour in average 118,7 km track Modelled as OO, timed Petri net Tokens: Trains, passengers Subnets: Stations, line segments, swit signalling systems 2926 places, 2217 transitions, 6971 ar offersen, Anders Moen, Hallstein Asheim Hansen: the Oslo Subway by hierarchic, coloured, object-orienteed, timed Petri Nets with viewp

Example: Subway Line segme Line segment are places Trains = tokens Move-transitions S1 S2 S3 Safe Petri net Never more than one token in e place (no collisions)

User Oriented Visualisatio

Petri Nets - Weaknesses Closed system assumption No model change during executi Uncertainty (e.g. OR-branching) Large, complex models Poor support for abstraction, decomposition Theoretical constructs Map activity to place or transiti Just control flow

BNM: Behaviour Net Mod Petri nets + ER Places have types from data mod Instances are tokens Classes are tokens Tokens are consumed or referen when transition fires Transitions have pre- and postconditions for firing Simulation in IS development Validate model, find bottlenecks Path analysis, matrices

BNM Examples Fig 14.24 Payroll computation Fig 14.30 Path analysis Fig 14.25 Order management

ARIS Conceptual Model Multi-view conceptual language for modeling business processes and organizational structures Organizational view Function view Data view Control view (Output view) Pre-defined models for ERP functionality Low-level processes correspond to specific transactions in ERP system Organizational structures correspond to structural elements in ERP system

ARIS Control view (EPC) Event (or state) Function (process) Logical connector (AND, OR, XOR) Data elements and elements from the organizational view may also be added

Formalization with Petri net Event-driven Process Chains (EPC) Process model (control view) of ARIS Used to describe business processes Formalization of EPC syntax Mapping EPCs onto Petri nets Provides a formalization of EPC Defines the semantics of EPC Enables checks for consistency, completeness, soundness, etc. Do not take into consideration links to elements or organizational elements

The Structure of EPC Mod Logical connector (AND, XOR, OR) Event Function

Formalization of EPC Synta EPC = (E, F, C, T, A): E is a finite set of events F is a finite set of functions C is a finite set of logical connectors T? C? {AND, XOR, OR} is a function which maps each connector onto a connector type A? (E?F)? (F? E)? (E? C)? (C? E)? (F? C)? (C? F)?? C) is a set of arcs Syntactic properties: The sets E, F, and C are pairwise disjoint For each e? E: e <= 1 and e <= 1 There is at least one start event and one final event For each f? F: f = 1 and f = 1 For each c? C: c >= 1 and c >= 1 The graph induced by EPC is weakly connected C J and C S partition C, i.e. C J? C S = Ø and C J? C S = C C EF and C FE partition C, i.e. C EF? C FE = Ø and C EF? C FE = C

Formalization of EPC Semant Defining EPC semantics in terms of Petri nets Basic mapping of EPC to Petri nets: event place function transition Mapping of connectors more complex Depends on type of connector Depends on events and/or functions linked to connector

Mapping of connectors f i : functi e i : event

Mapping from EPC to Petri ne

Mapping from EPC to Petri ne

An Erroneous EPC Model not sound: Assume that no billing needed event holds. Produce article will never be fired Will n

Verification of EPC Models Regular: An EPC is regular iff EPC has two special events: estart and efinal Every node n? N is on a path from e start to e final. Sound: A regular EPC is sound iff For every state M reachable from the initial state, there exists a firing sequence leading from state M to the final s The final state is the only state reachable from the initial state where event e final holds There are no dead functions Well-structured An EPC is well-structured iff for any pair of connectors c 1 c 2 such that one of the nodes is is C AND and the other in C X and for any pair of elementary paths p 1 and p 2 leading from to c 2,?(p 1 )??(p 2 ) = {c 1,c 2 }? p 1 = p 2

Erroneous EPCs Two models to the right are not well-structured

Erroneous? S2 S0 S1 S4 S3 S1 S0 S3 S4 S2 Does not mean that it is not useful Proper functioning cannot be guara

OR-Connectors Represent uncertainty (1 or mor Exponential complexity growth i Petri nets (2 n -1)

Conclusions ARIS rooted in informal language Semantic analysis of ARIS Petri nets Formalization of EPC semantics b mapping EPC diagrams to Petri ne BWW ontological model Evaluation of modeling language w respect to the deep structure of information systems Strengths and weaknesses of formal languages Remember: AND not XOR