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