CSS 496 Business Process Re-engineering for BS(CS)

Slides:



Advertisements
Similar presentations
1 SE-561 Formal Methods in Software Petri Nets - I.
Advertisements

1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Based on: Petri Nets and Industrial Applications: A Tutorial
Software and Systems Engineering Seminar Winter 2011 Domain-specific languages in model-driven software engineering 1 Speaker: Valentin ROBERT.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Information Systems Analysis and Design
1 Modeling based on Petri-nets. Lecture 8. 2 High-level Petri nets The classical Petri net was invented by Carl Adam Petri in A lot of research.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Requirements Techniques, cont. Brief review Formal Requirements Techniques –Finite State Machines –Petri Nets.
© Copyright Eliyahu Brutman Programming Techniques Course.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.
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)
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
程建群 博士(Dr. Jason Cheng) 年03月
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Capacity analysis of complex materials handling systems.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
Requirements II - Business Processes and Workflows Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Procedures for managing workflow components Workflow components: A workflow can usually be described using formal or informal flow diagramming techniques,
ERP Course: Workflow Management Systems Readings: Chapter 1 and 3 from Wil van der Aalst Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information.
A physical object, for example a product, a part, a drug, a person; an information object, for example a message, a signal, a report; a collection of objects,
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Lectures 5,6 – Workflows and Internet Process Coordination Middleware: the glue for network computing Workflows and Internet Workflows Enabling Technologies.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Modelling by Petri nets
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
Systems Analysis and Design in a Changing World, Fourth Edition
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS) Chapter 2: Workflow Management Khurram Shahzad
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Technology of information systems Lecture 5 Process management.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Tools Of Structured Analysis
Requirements Techniques, cont.
Chapter 1 The Systems Development Environment
Lecture 3 Prescriptive Process Models
Concurrent Systems Modeling using Petri Nets
Information systems modeling tools
CSS 496 Business Process Re-engineering for BS(CS)
System Design and Modeling
CSS 496 Business Process Re-engineering for BS(CS)
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
CV-1: Vision The overall vision for transformational endeavors, which provides a strategic context for the capabilities described and a high-level scope.
Chapter 1 The Systems Development Environment
Object-Oriented Analysis
UML Activity Diagrams & State Charts
Concurrent Systems Modeling using Petri Nets – Part II
Workflow Management Systems
Modeling based on Petri-nets.
BPMN - Business Process Modeling Notations
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri nets.
Chapter 1 The Systems Development Environment
Chapter 14. Activity Modeling for Transformational Systems
Information systems modeling tools
Presentation transcript:

CSS 496 Business Process Re-engineering for BS(CS) Chapter 3: Enterprise modeling Khurram Shahzad mks@ciitlahore.edu.pk Based on Petia, Marlon, Aalst, Johannesson and Weske Lectures

Enterprise Resource Planning ERP definition Software solution that addresses the enterprise needs taking the process view of an organisation to meet the organisational goals tightly integrating all functions of an enterprise ERP means integration of Processes Databases Tools Applications Interfaces

Enterprise Resource Planning Drawback of ERP Costly implementation Dependency on vendor Forgoing “best-of-breed” solutions Solution: EAI Enterprise Application Integration (EAI) is “the unrestricted sharing of data and business processes among any connected applications and data sources in the enterprise”.

Architectures of EAI Message Broker Process Broker Point to Point

Goal Modeling How to make the goals of an enterprise explicit Purpose of Goal Modeling Describing the goals of an enterprise Showing how the goals are interrelated Finding problems that hinder goal fulfillment Finding opportunities that facilitate goal fulfillment

Components of a Goal Model

An Example

An Example

A Goal Model for a Library

Goal Decomposition

Goal Decomposition

An Example Per runs a campaign for president. His main opponent is Eva. Construct a goal model for the following: Victory in the election Get support from EU supporters Get support from EU critics Make the opponent look dishonourable Per has misused credit cards Eva has misused credit cards Get many TV commercials The budget is limited Get financial support from big business Get an image as independent Get an image as trustworthy

Solution

Process Modeling

Process Modeling Purpose of Process Modeling

Basic Concepts Task - a logical unit of work that is carried out as a single whole Resource - a person or a machine that can perform specific tasks Activity - the performance of a task by a resource Case - a sequence of activities performed to achieve some goal, an order, an insurance claim, a car assembly Work item - the combination of a case and a task that is just to be carried out Process - describes how a particular category of cases shall be managed Control flow construct - sequence, selection, iteration, parallelisation

Process Modeling Focus on Petri Nets BPMN EPC

Petri Nets Petri Nets – a formal approach based upon an established formalism for the modeling and analysis of processes Advantages It forces precise definitions Ambiguities, uncertainties, and contradictions are thus prevented, in contrast to many informal diagramming techniques Formalism often enables the use of number of analytical techniques

Petri Nets Classic Petri nets Simple process model Just three elements: places, transitions and arcs. Graphical and mathematical description. Formal semantics and allows for analysis.

Petri Nets A Petri nets consists of places and transitions Places are indicated by a circle A transition is shown as a rectangle

Petri Nets Rules Connections are directed. No connections between two places or two transitions. Places may hold zero or more tokens. First, we consider the case of at most one arc between two nodes.

Petri Nets Enabled A transition is enabled if each of its input places contains at least one token. enabled Not enabled Not enabled

Petri Nets Firing fired An enabled transition can fire (i.e., it occurs). When it fires it consumes a token from each input place and produces a token for each output place. fired

Petri Nets Example

Petri Nets Enabled Transition A transition is enabled when there is token in each of its input places

Petri Nets Traffic Light Example

Petri Nets Traffic Light Example

Petri Nets Traffic Light Example

Role of a token Tokens can play the following roles: a physical object, for example a product, a part, a drug, a person; an information object, for example a message, a signal, a report; a collection of objects, for example a truck with products, a warehouse with parts, or an address file; an indicator of a state, for example the indicator of the state in which a process is, or the state of an object; an indicator of a condition: the presence of a token indicates whether a certain condition is fulfilled.

Role of a place a type of communication medium, like a telephone line, a middleman, or a communication network; a buffer: for example, a depot, a queue or a post bin; a geographical location, like a place in a warehouse, office or hospital; a possible state or state condition: for example, the floor where an elevator is, or the condition that a specialist is available.

Role of a transition an event: for example, starting an operation, the death of a patient, a change seasons or the switching of a traffic light from red to green; a transformation of an object, like adapting a product, updating a database, or updating a document; a transport of an object: for example, transporting goods, or sending a file.

Typical network structures Causality Parallelism (AND-split - AND-join) Choice (XOR-split – XOR-join) Iteration (XOR-join - XOR-split) Capacity constraints Feedback loop Mutual exclusion Alternating

Causality Sequential routing

Parallelism

Parallelism: AND-split

Parallelism: AND-join

Choice: XOR-split

Choice: XOR-join

Iteration: 1 or more times XOR-join before XOR-split

Limitations of classical Petri nets Models tend to become large Models cannot reflect temporal aspects

High-level Petri nets To tackle the problems identified. Petri nets extended with: Color (i.e., data) Time Hierarchy

Running example: Making punch cards free desk employees waiting patients served patients patient/ employees

Extension with color (1) Tokens have a color (i.e., a data value)

Running example: Tokens are colored

Colored Petri Nets

Extension with time (1) Each token has a timestamp. The timestamp specifies the earliest time when it can be consumed.

Extension with time (2) The enabling time of a transition is the maximum of the tokens to be consumed. If there are multiple tokens in a place, the earliest ones are consumed first. A transition with the smallest firing time will fire first. Transitions are eager, i.e., they fire as soon as they can. Produced token may have a delay. The timestamp of a produced token is the firing time plus its delay.

Petri Nets with Time Every token gets a timestamp, indicating the time from which the token is available A transition is enabled when each token to be consumed has a timestamp equal or prior to the current time Each transition gives a delay to a token produced by the transition.

Running example: Enabling time Transition start is enabled at time 2 = max{0,min{2,4,4}}.

Running example: Delays Tokens for place busy get a delay of 3 @+3 = firing time plus 3 time units

Swimming School Exercise

Swimming School Exercise

Basic Workflow Concepts Task - a logical unit of work that is carried out as a single whole Resource - a person or a machine that can perform specific tasks Activity - the performance of a task by a a resource Case - a sequence of activities performed to achieve some goal, an order, an insurance claim, a car assembly Work item - the combination of a case and a task that is just to be carried out Process - describes how a particular category of cases shall be managed Control flow construct - sequence, selection, iteration, parallelisation

Workflow Concepts in Petri Nets Task - transition Resource - token Activity - transition that fires Case - token Work item - enabled transition Process - Petri net Control flow construct - modelled by places and transitions

Workflow Analysis Types of Analysis Qualitative (correctness) Deadlock Livelock … Quantitative (performance) Average completion time Level of service

Reachability Analysis

Reachability Analysis

Reachability Analysis

Reachability Analysis

Reachability Graph Exercies

Reachability Graph Exercies

Quantitative Analysis Resource utilization Number of cases in progress Waiting time System time

Resource utilization Consider a process with one task Number of cases in progress λ is the number of incoming cases per time unit µ is the number of cases the resource is able to process per time unit The resource utilization is ρ = λ / µ

Resource utilization λ = 4 µ = 5 The resource utilisation is ρ = λ / µ = 4 / 5 = 0.8