Version 1.0 (March 1982)



DISCO is a SIMULA-class for combined continuous and discrete simulation. The class is designed to facilitate description and simulation of systems involving both discrete and continuous phenomena.

DISCO builds on SIMULA's process view of simulation. A system is conceived of as a collection of processes which undergo active and inactive phases and whose actions and interactions comprise the system's behaviour.

A distinction is made between two types of processes, namely discrete processes (class PROCESS) and continuous processes (class CONTINUOUS). Discrete processes have instantaneous active phases, called events, and cause discrete changes in the state of the system. In contrast, continuous processes undergo active phases during time intervals and cause continuous state changes.

Any process may be created, activated, deactivated or removed from the system at any time. However, DISCO permits more than co-existence of separate processes. It allows processes to communicate with one another and influence one another in a completely general way. Any process may reference and modify any variable in any other process and may affect delimiting and sequencing of active phases.

DISCO makes possible simulation of systems having piecewise continuous state variables (class VARIABLE). The discontinuities, the events, can be time-determined (using HOLD, ACTIVATE etc.) as well as state-determined (using WAITUNTIL).

DISCO has been described in the paper

K. Helsgaun,
"DISCO - a SIMULA-based language for combined continuous and discrete simulation".
SIMULATION, Vol. 34, no. 7, July 1980, pp. 1-12.


The code can be downloaded in two formats

  1. DISCO-1.0.tgz (gzipped tar file, approximately 300 KB)
  2. DISCO-1.0.sit (Stuffit archive, approximately 300 KB)

If a UNIX machine is used, download the software in the first format. Next execute the following UNIX commands:

    gzip -d DISCO-1.0.tgz
    tar xvf DISCO-1.0.tar

If a MacOS or a Windows machine is used, download the software in the second format. Next unstuff it with Stuffit Expander™ (freeware available at http://www.aladdinsys.com).

For further instructions, see the installation guide and the user guides in the DOC directory.

The code is distributed for research use. The author reserves all rights to the code.