Reviewed by
László
Gulyás
Computer and Automation Research
Institute, Hungarian Academy of Sciences.
Recent discussions in the agent-based modelling community have revealed disparate opinions about the level of programming skills to be expected from modellers. Everybody seems to agree that the more skill candidates have the better. However, most of today's students lack these capabilities and developing them requires substantial efforts from the adventurous entrepreneur. Therefore, lowering the requirements would definitely help agent-based modelling becoming a more widely accepted methodology. Some suggest that with the spread of general computer literacy, the problem will eventually go away and sooner than one might imagine at present. Others argue that the issue is inherently social: mastering mathematics or statistics is hardly easier than learning to program. Still no aspiring scientist can afford to avoid the former but the same does not yet apply to the latter.
It would be hard to deny any of these arguments. Nonetheless, various model building tools (such as STELLA, NetLogo or AgentSheets) demonstrate that by limiting the 'space' of possible models, the task of learning to model can be considerably assisted. In order to address the problem above, the real challenge is to bridge the gap between the open-ended nature of Swarm-like modelling environments - Swarm, RePast and Ascape (Parker 2001) and the ease of use provided by much more structured software. Graphical model building interfaces for general ABM platforms, such as SimBuilder (for RePast), Visual Swarm Builder (Perrone and Tenuti 2002) and MAML's Model Design Interface (Gulyás et al. 1999) represent attempts to achieve exactly this. However, these tools are still in their infancy. Thus, it was with great interest that I turned to review a professional simulation platform.
The SIMUL8 simulation software package is an industrial strength application for the study of business processes. It is an elaborate workflow simulator combined with an integrated model-building environment. It has a number of extensions for graphical animations (and statistics) and interfaces to common external programs such as Excel or Visio. It is designed to address various business problems, including supply chain management, design of manufacturing systems and capacity planning issues. A common feature of these problems is that they are concerned with cost, time and inventory. SIMUL8 can help you to grasp the effect of various shipping policies on cost, or to estimate the average waiting time of your customers. It can also be used to determine whether the planned capacity for repairs is sufficient with regard to currently applied work shifts.
SIMUL8 is a discrete event simulator in which the main metaphor is the conveyor belt. While the names of the various objects can be changed, a SIMUL8 simulation revolves around processing work items. They enter the system via work entry points, pass through work centres, may temporarily reside in storage areas and leave via work exit points. In addition to this mechanism, work centres may need specific resources to process work items. These six entities are the types of objects that SIMUL8 can handle. A simulation consists of a number of such objects and, perhaps more importantly, of the routes between them, modelled as a directed graph.
Putting a SIMUL8 simulation together is a matter of dragging and clicking. The graphical user interface is transparent and easy to use. Adding a few items to the drawing board and connecting them with arrows usually lays out the main logic of the simulation. More details can then be specified via dialogue boxes, including changing the names of the objects. The properties that can be set include graphics and animation so the output of the simulation can reflect the nature of the topic. For example, in a Doctor's Office simulation, work items would show up as patients, while processing centres would represent the receptionist and the doctors. Various templates and wizards further assist in the creation of a simulation. Running the simulation is easy too. In interactive mode it is not only possible to start, stop and restart the simulation but one can even modify the settings or the structure of the model "on the fly". SIMUL8 can also be used to conduct extensive trial runs. Following the trial, the software automatically prepares summary reports of the results. Areas of interest can then be picked from the summary and further analysed by the various statistical tools and diagrams at the disposal of the user. In addition to its main functionality, SIMUL8 offers splendid context sensitive help and learning materials. These are rounded off by the addition of pro-active help, a less intrusive version of the Office Assistant.
Unfortunately, SIMUL8 is not capable of handling agents whose 'minds' are not on picking items from a queue, applying certain resources to them and sending them down a subsequent route. For demonstration purposes, the author of this review attempted to create a simulation of a two person Iterated Prisoner's Dilemma game but had to give up after several attempts. While I conjecture that it might be possible ultimately to craft such a program, it became clear that it would not be easy. The situation is even worse if one attempts to simulate societies of agents. SIMUL8 is not well equipped for handling populations. While it does provide tools and wizards to duplicate parts of the simulation, the concept of a group of actors (objects) similar in nature and behaviour, but differing in the actual value of their parameters is missing from the system. Finally, interactions are described by a fixed directed graph. This is sufficiently general for most of the problems the software aims to solve. However, it is not enough for modelling the kind of dynamic interaction networks that most agent-based models require.
Social systems and artificial societies are usually much more complex than the systems SIMUL8 is capable of handling. Therefore, it is not likely to be a tool of direct interest to the readers of this journal. However, I believe that reviewing this software nonetheless offers some useful lessons. Agent-based modelling frameworks could take advantage of the user-centred approach and certain other ideas contained in SIMUL8. Unfortunately, it appears obvious that research grant funded software projects can hardly compete with commercial software houses in sophistication and refinement. Also, it is not clear yet, whether a similar level of simplicity and user friendliness is achievable at all for agent-based modelling in general. Nonetheless, it is my sincere wish that practitioners of social simulation had a tool as well designed and professionally implemented for their modelling problems, as SIMUL8 is in its own domain.
GULYÁS L., T. Kozsik and J. Corliss 1999. The Multi-Agent Modelling Language and the Model Design Interface. Journal of Artificial Societies and Social Simulation, 2, <https://www.jasss.org/2/3/8.html>.
PARKER M. 2001. What is Ascape and why should you care? Journal of Artificial Societies and Social Simulation, 4, <https://www.jasss.org/4/1/5.html>.
PERRONE A. and M. Tenuti 2002. VSB - Visual Swarm Builder: A visual tool for Swarm Agent-Based Environment. In F. Luna and A. Perrone, editors, Agent-Based Methods in Economics and Finance: Simulations in Swarm. Kluwer Academic Publishers, Dordrecht.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2003