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