Product Description: "SIMUL8 is a discrete-event visual simulation package for general engineering use. This desktop tool is being widely used to simulate workflows in production, distribution and office environments to identify improvements in operations and processes."
Reviewed by
There is currently a bewilderingly wide choice of software packages available for modelling queueing and business systems. At the end of this review I will refer to some sites where information about different packages can be found. The package discussed here, SIMUL8, is one of a number of commercial packages used for modelling the business process systems in factories, hospitals, call centres and other organisations. It was created about 5 years ago with the objective of making the power of commercial simulation packages accessible to a far wider market. It is considerably cheaper than many of its competitors. Due to its low cost and its ease of use, it has now established itself as one of the most widely used simulation packages in British universities. In this review I will focus on its potential for educational rather than commercial use.
Visual Thinking, the company that produces SIMUL8, claim that the program was 'designed for use by mass market simulation users who require point-and-intuitive interfaces'. In particular, the Windows based graphical interface allows users to build relatively complex models without needing to learn a programming language. A first time user can normally build, run and change simple models within an hour. After a few further hours of tuition, students are usually ready to tackle a moderate sized project.
A basic SIMUL8 model consists of five key elements: an entry point, a queue (or storage area), a work centre, an exit point and a resource. The model is built by selecting these icons from the tool bar and arranging them on the screen, adding and changing links as necessary. Figure 1 shows a typical example of a SIMUL8 model, in this case an airport check-in and boarding system.
Figure 1. An Airport Check-In Model
The system has numerous defaults which allow a new model to be run immediately. However, the defaults can be changed easily by use of appropriate dialogue boxes. Clicking on any one of the icons bring up a dialogue box similar to that shown in Figure 2. Arrival rates, activity times, travel times, queueing, priority and batching rules can all be changed in the appropriate box. Attributes, for distinguishing between different types of work items, can also be added. Other system defaults such as the unit of time, the warm-up period and run-times can all be changed from the program tool bar.
Figure 2. A WorkCentre Dialogue Box
The package comes with a reasonably extensive library of graphics icons. This, combined with the graphics palette, allows the presentation of a model to be enhanced significantly.
Results and performance measures, such as throughput rates and queue statistics are collected automatically as the model runs. These results are again accessed by clicking on the relevant iconand dialogue box.
The above features allow reasonably complex models to be built. But what if this is insufficient? Firstly, the package has an in-built programming language, Visual Logic, which allows control rules of the 'if ... then ... else' form to be written. Secondly, there is a Visual Basic extension available if significantly more complex rules are required. In fact, the access to dynamic link libraries allows links across networks. However, although it is always tempting to try and model the complex aspects of a system, the real challenge is often in trying to build a simple model. In an educational context, the emphasis should be much more on understanding system behaviour, rather than learning to use a particular piece of software. For example, the understanding of stochastic systems behaviour is rarely intuitive. Mathematical queueing theory is not very accessible or practical to the layman. Simple simulation models, by contrast, can shed light on problems we encounter on a daily basis.
Theoretically, SIMUL8 can also be used to model adaptive systems which include some element of learning.
Figure 3. A Closed Queueing System
The model in Figure 3 represents a closed queueing system. The population has a choice of two equivalent service providers - Service 1 and Service 2. The idea of the model is to investigate how the population reacts to the queue for each server and switches allegiance accordingly. Will one server prevail at the expense of the other, will the traffic oscillate between the two or will the system achieve a state of balanced equilibrium?
For example, customers may be initially indifferent and make their choice as they approach the servers at Decision Point 1. They may be able to see the current size of the two queues and decide to select the shorter. Alternatively, they may want to learn from experience. At Decision Point 2 they reflect on the time spent queueing for their chosen server and decide whether it was acceptable or not. If not, they may switch their allegiance next time.
To build this into the model, a number of attributes are added to the work item. These attributes could designate a customer's preferred server, histories of their queueing times at each server, and various other parameters such as a maximum queueing time threshold. The attributes can then be updated at the appropriate point. Figure 4 shows how the Visual Logic Editor could be used to build the control rule at Decision Point 2.
Figure 4. A Visual Logic Decision Rule
Many variations on these decision rules could be tested. However, such rules would only be based on the measures of the queueing system itself, and that is clearly a problem. Although we do not like queues, there is no simple relationship between queues and our choice of service. Faced with a choice of service points in a supermarket or an airport, we usually choose the one where we expect to wait the shortest time. But when it comes to switching between different companies or even modes of service, the queue is only one of many criteria in the decision process. My students often try to explain to me how getting into the best nightclub requires standing in line for most of the evening! That is, a queueing model really does not provide enough information to model long-term behavioural trends. It would be possible to extend a queueing model with the Visual Basic extension but an established agent-based or systems dynamic type model is probably preferable.
What is perhaps more interesting is how the availability of tools like SIMUL8 might influence our attitudes to queueing. Perennial problems like always feeling as if we have chosen the wrong checkout, or wondering why colleagues keep us waiting, are usually the results of trying to apply social solutions to what are actually systems problems. Developing a better systems understanding might just reduce some of that "queue rage".
In summary then, the strength of SIMUL8 is the ease with which a simple queueing system can be modelled. Even for students who are not immediately concerned with queueing systems, it provides an excellent introduction to the wider area of simulation modelling.
SIMUL8 is just one of a large number of programs and packages for modelling queueing systems. There are a number of on-line surveys that compare and contrast many of these. For example, the publication ORMS Today publishes a comprehensive survey every few years. For academics interested in using software for teaching purposes, the Simulation Education Homepage provides a comprehensive list of software with links to courses worldwide where the particular package is used.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2000