Software engineerng applied to discrete event simulations

  • Authors:
  • Kenneth N. McKay;John A. Buzacott;John B. Moore;Christopher J. Strang

  • Affiliations:
  • WATMIMS Research Group, Department of Management Sciences, University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;WATMIMS Research Group, Department of Management Sciences, University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;WATMIMS Research Group, Department of Management Sciences, University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1;WATMIMS Research Group, Department of Management Sciences, University of Waterloo, Waterloo, Ontario, CANADA N2L 3G1

  • Venue:
  • WSC '86 Proceedings of the 18th conference on Winter simulation
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developing simulation programs shows many similarities with classical system software development tasks. In simulation one is often concerned with allocating and deallocating resources. Two forms of deadlock — the 'deadly embrace' and 'apré-vous' — can be troublesome to simulators unless they know how to avoid them in the first place. Critical races and time dependent functions are other characteristics shared between simulation and systems programming. If simulation is viewed and taught as data processing, the simulator will be ill-prepared for writing simulation code.Most simulations in industry are not written by skilled software developers. There is good reason for this: the simulation writer must ultimately understand the problem, its features and the managerial concerns that lead to the requirement for the simulation. However, simulation writers with no software training are poorly equipped for developing simulation code that is easy to design, debug, verify, maintain and explain. A number of simple modern software engineering techniques which are described in this paper can be applied to simulation programs in a practical way to improve both the quality of the simulation and the productivity of the simulator.