Process Simulation

introduction model software example hypermedia conclusions references appendix
The BPSIM library is an extension of the simulation library SIM  [SIM]. SIM is a C++ library offering classes supporting discrete event simulation, based on standard simulation techniques  [Watkins93]. In discrete event simulation, the components of the model consists of events, which are activated at certain points in time and in this way affect the overall state of the system. The simulation library consists of the following classes: The SIM library is integrated with the hush library, which may be used for defining a script interface to the simulation package, for developing a graphical user interface and for visualising simulation models.

The library BPSIM

The classes provided by the business process simulation library BPSIM reflect the entities provided by the logistics-based business modelling method LBM. On a somewhat more abstract level, a business process simulation consists of data, flowing through the process and different 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:

Note that LBM contains no symbol for data as it only depicts the objects that handle the information. The following classes are derived from the datahandler class: operation, transport, waitqueue, choice, archive, and external agent, which 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 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 turn around time.

Each class in the BPSIM library corresponds to a command in the script language. As illustrated in the next section, script commands result in a graphic representation of model, which may be displayed in a Web page as an applet.

introduction model software example hypermedia conclusions references appendix