Discrete Process Simulation

(Tools: Tomas)







TOMAS is a userfriendly shell -written in Delphi- with all the basic needs for a process oriented simulation. It contains visual control, queues and statistics.
A screen shot of the visual control containing the jobshop example is shown below.

As can be seen, TOMAS provides a menu to control the simulation run and a tracing window to trace all processes. Additionally, due to the flexibility demand all visual controls can also be programmed.
The userfriendliness is further supported by adding extra checks to standard process routines.
The basic classes of Tomas are summarized below.

A TomasElement is a basic class, that owns all methods to start, interrupt,resume and finish it's process method. Above that it owns methods to enter and leave TomasQueues.

A descendant of TomasElement. It owns all kind of methods to support the visualization for 3D-animation.

A TomasQueue is a basic class to represent a set of TomasElements for modelling waitinglines, jobs in progress etc. By allowing only TomasElements to enter a TomasQueue, provisions could be made to make searching and sorting extremely fast. TomasQueues automatically gather statistics such as number in queue (minimum, mean, maximum) and waitingtimes (mean, maximum).

A basic class for statistical distributions. Drawing from TDistribution is drawing from a uniform distribution between 0 and 1. TOMAS uses a mixed congruential method of Lehmer. Derived classes are TUniformDistribution, TExponentialDistribution, TNormalDistribution, TTableDistribution (a tabled frequency distribution:discrete or cumulative) and TInputDistribution (a distribution of one of the types mentioned, but specified in an input file).