topical media & game development

talk show tell print

object-oriented programming

Business process modeling


Having looked at business objects, we may well ask ourselves what business processes are, and what role IT plays in business processes. Following  [Davenport90] we define a business process as `a set of logically related tasks performed to achieve some well-defined business outcome'. Following  [Davenport90] we may observe that IT plays a dual role. On the one hand, IT is an enabler of new process structures, since it allows for automating (parts of) business processes. And on the other hand, IT provides support for the (re)design of business processes, as a means to model and simulate various aspects of business processes. In this section we will look at an approach to modeling business processes supporting the simulation and evaluation of logistic aspects of business processes. Simulation may help in determining the effectiveness of business process (re)designs.

Logistics-based modeling

Improvements in business performance and productivity may be achieved by critically examining some of the rules that govern a business process. Business process redesign (BPR) is the generic label for many emerging methodologies aimed at producing these improvements. Re-design implies that the current state of affairs is no longer acceptable and can no longer be refined or evolved.

Despite the importance of qualitative assessments in BPR, as noted in  [Hammer90], for modeling we favor a more quantitative approach for which we provide support by means of a simulation library (BPSIM) based on the logistics-based business modeling method (LBM) presented in  [Gerrits95].

Logistics-based modeling -- criteria for redesign

Product lead time -- time between order and delivery

slide: Logistics-based business models

Logistics-based modeling allows for analysing the time spent in executing a business process. The product lead time is defined as the time that passes between the moment a customer orders a product and the moment a product is delivered. In more detail, we can distinguish between processing time (the time actually worked on a job or operation), queue time (the time a jobs waits for a resource to become available), setup time (the time that passes between the moment a resource becomes available and the moment work on the job is started), wait time (the time that is spent waiting for another job to complete), and transport time (the time that is needed to move a job from a resource at a certain location to a resource at another location).

For a particular model, measurements may be obtained by running a series of simulations. Based on an analysis of the simulation results, alternative models may be proposed. For example, when the setup time for a job is relatively large, combining jobs into a single task for an employee may be more efficient. The LBM method offers a number of primitives, with associated graphic icons, from which a business process model may be constructed as a network of resources connected by transport arcs.

Logistics-based modeling primitives

  • operation -- processing component
  • task -- a series of consecutive operations
  • transport -- transport of information
  • choice -- affects flow of information
  • organizational units -- to represent departmental boundaries
  • external agents -- opaque entities
  • archives -- paper-based storage facilities

slide: Logistics-based modeling primitives

The primitive entities offered by LBM are listed in slide lbm-prim. Operations are atomic in the sense that wait time, queue time and transport time may not be part of an operation. Only setup time and process time are part of an operation. Tasks are introduced to allow for a series of jobs or operations to be processed, for example by one employee, in order to reduce the setup time needed. Transport entities represent the time it takes for information to flow from one resource (that is operation or task) to another. Transport implicitly defines the sequential structure of a process. However, duplications of information, and consequently parallel operations, are allowed. In addition to the primitives mentioned above, LBM allows us to characterize organizational units to represent departmental boundaries, external agents to represent opaque information producing or consuming entities, and archives to represent paper-based storage facilities. Also, employees may need additional means to engage in an operation or task.

Business process simulation

The classes provided by the business process simulation library
BPSIM reflect the entities provided by the logistics-based business modeling method LBM. The BPSIM library is an extension of the simulation library SIM, described in  [SIM]. SIM is a C++ library, which is part of the hush framework, offering classes supporting discrete event simulation, based on standard simulation techniques, developed in  [Watkins93]. It will be described in the next section.

On a somewhat more abstract level, one may regard a business process simulation as consisting of data, flowing through the process, and handlers -- datahandlers -- performing some action on the data, such as transportation or specific operations.

Accordingly, BPSIM provides two base classes underlying the classes corresponding to LBM entities:

  • data -- which represents the product or case, i.e. the information, that flows through the process.
  • datahandler -- which is the basis for all classes that handle information.
As an aside, LBM contains no symbol for data as it only depicts the objects that handle the information.

Derived from datahandler class:

  • operation -- executed by employee
  • transport -- connects datahandlers
  • waitqueue -- wait for processing
  • choice -- to model alternatives
  • archive -- for storage of resources
  • external agent -- blackbox entity

slide: Classes derived from datahandler

The classes depicted in slide bpsim-classes are derived from the datahandler class. They realize the corresponding entities in LBM.

An operation takes time, and is executed by an employee. Sometimes an operation results in more than one outgoing dataflow, for instance when it issues a request for additional information from a different department.

A waitqueue functions as a regular queue if it has one incoming dataflow, i.e. transport. When there are more incoming flows, it functions as a synchronized queue. Data from one flow is not passed on to the next datahandler until the data from the other flow has arrived. This happens for instance when work on a case cannot continue until additional information has arrived.

An external agent can either generate data according to some random number distribution, or take data, process it and pass it on to the next datahandler. In the latter case the agent functions as a black box: we only care how long the processing takes, not how it is exactly performed.

In addition, BPSIM offers the classes means (which can be used to model resources that are necessary to perform certain operations), and employee (which models the different people that perform the operations).

As one can see, the entities task and organization unit from LBM have no specific counterpart in BPSIM. The reason for this is that having no other datahandler between two operations already implies that those operations belong to the same task. Consequently they are executed with no time in between and by the same employee. Also, the fact that tasks are executed in different organization units does not add any information that changes the behaviour of the simulation. If it takes time to transport information between different units, then that time can be represented by the object of class transport between those units.

For the gathering and analyzing of results, the SIM classes histogram and analysis are used. The class agent, for example, can be given a histogram to track the lead time of data it has generated.

A script interface for BPSIM

Employing the facilities of the hush library a script interface has been defined for BPSIM that allows the user, that is the designer of business models, to construct and run business simulation models with a short turnaround time. Each class in the BPSIM library corresponds to a command in the script language. As illustrated in the next section, script commands allow for a graphic representation of the model, which may be displayed in a Web page as an applet.

Example -- requests for loans

Now let us take a look at an example business process model based on the objects made available in BPSIM. The example will detail possible situations before and after business process redesign has taken place.

slide: Processing alternatives

Current situation:
Our first model, (left), which represents the current situation, consists of a client producing, for example, requests for a loan at a bank. The requests are initially handled by a clerk whose task is to send requests for amounts greater than $10,000 to the boss. The boss, whose task is to approve or deny the loan, sends the result back to the clerk for processing. If the amount is less than $10,000, the clerk has authority to process the request himself.

Redesign alternative:
In our second model, (right), which is the result of a redesign effort, requests are handled by a clerk who enters the data into a computer. The computer now makes the decision as to whether the loan is improved -- for loans of value less than and greater than 10,000. The clerk then passes the results on to another clerk for the task of dispatching loans.

slide: Presenting a redesign alternative

In slide present-models the visual representation of the model resulting from the redesign effort is shown, embedded in a Web page. In addition to the model, the page contains some results obtained by running a simulation. For example, the text indicates that an employee is busy handling incoming requests only 33% of the time. The histogram depicts the distribution of the lead times of incoming loan requests, that is the time that passes between receiving a request and giving an answer. The Web page further contains a button to start a simulation run, a description of the model and links to alternative models.

The script

In the fragment below, a histogram for recording leadtimes is created as well as an agent generating requests and a transport to a clerk handling the requests.


  histogram leadtimes
  agent client generate leadtimes
  client -duration 60 poisson
  transport t1 
  t1 -duration 20
  employee clerk
  operation receive clerk
  receive -duration 20.0 5.0 normal 

slide: The script

The duration of the agent is specified using a poisson distribution with \lambda = 60. The clerk is declared to perform a receive operation, the duration of which takes values from a normal distribution with \mboxmeans = 20 and \mboxstandard deviation = 5.0. After defining the components of the model and their connection a simulation may be started by pressing the start button. If desired, users may change the parameters concerning for example setup and wait time, to explore the various scenarios a model has to satisfy.


As observed in  [Wastell94], organizational change is a `highly threatening and stressful experience for many participants and ... high levels of stress can have a pernicious effect on individuals, group processes and organizational learning'. Hence, directly involving the users in the modeling phase of the BPR project may be an important step towards capturing the human aspects that are necessary for the production of an optimal model. It may also help to lessen the anxiety of employees.

On a technological level, we advocate the use of business process simulation. Nevertheless, to accomodate the social aspects, it is important to support the visualization of such models and their integration in an arbitrarily complex information context, such as the World Wide Web. Developing visualisation and animation support for simulation models is a topic of ongoing research. See section DIVA.

(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.