MAPLIS - Matrix-Oriented Simulation Game and Interactive Simulation
MAPLIS is an interpreter for executing simulation or simulation-game models formulated in the MAPLIS language.
Originally developed for and used on mainframes (IBM 370, Cray), a 16bit version 1.00 for personal computers
has been available since 1994. This can be executed in DOS (or in a 32bit Windows based on the 32bit Command Line Processor
CMD.EXE). A Windows-compatible version with graphical user interface, which provides all functions of the
MAPLIS language interactively and which works both under Windows 7 32bit and 64bit upwards, is under development.
The most important features of the MAPLIS language are:
- the model time is based on equidistant time intervals (period-oriented & la DYNAMO);
- data objects have the function of stock and flow quantities;
- the data objects are of the tensor type
(zero to n-dimensional), different levels of aggregation are defined by
the respective dimensionality;
- the initialization part for simulation is externalized;
- the simulation part (model definitions) is represented by sequences of instructions that
-- contain allocation equations or
-- create relationships between data objects of different dimensions, which can be used to realize multilevel simulations;
- the output part for simulation results is very economical, evaluations being made externally;
- the user interface is interoperable both in the model definition phase (deferred commands) and during the
simulation run (immediate commands).
Models formulated in MAPLIS language have a mesoscopic view of the reality depicted: they are located
in the middle (Greek meso...) between micro- and macro-models: typical micro models simulate individual objects,
e.g. in queue models (GPSS), typical macro models simulate flows
of goods and information, e.g. in the
world model developed by the Club of Rome (DYNAMO).
(1) Comparison to System Dynamics
While traditional simulation languages (e.g. DYNAMO)
use functions to calculate variables on the basis of
scalars (zero-dimensional matrices), this concept uses multidimensional matrices instead of scalars for the
data of the model. The value sets of influencing (independent) variables serve as index sets of the matrix dimensions.
Influences are shown in the respective occupations of the individual matrix cells. They do not need to be
represented by algebraic functions. Therefore, the traditionally unavoidable reduction of event diversity to
parameters (e.g. by using appropriate statistical tools such as regression or factor analysis) can be dispensed with.
This has very special advantages in the planning space, where the handling of tables can be handled much more
safely than with characteristic values.
For such a disfunctional representation of influencing variables, however, it must be assumed that the
influencing (independent) variables are discrete or - if continuous - at least sensibly discretizable.
However, this is normally unproblematic, since the database used for the model calculations is
based on discretized measurements or the results of surveys with a limited number of response alternatives.
Due to the large amount of data (the expansion of the computational variables increases multiplicatively
with the number of indexes), large storage capacities and high computing power are prerequisites for
efficient work. Due to the positive price/performance development of hardware, this will cause fewer
problems on an ongoing basis.
(2) Comparison to Spreadsheet Simulation
Since Microsoft's Excel has promoted the creation of countless spreadsheet models with "what if" analyses,
there remains a constant unease about the "intuitive" use of the solver and the way it handles
categorical data such as interest rates (no bank gives 6.32789% credit interest) or child numbers (do you
have half a child?). The methodical approach of the MAPLIS language (tensor concept for the representation
of objects in the database) helps to avoid this type of conflict.
Instead of the relatively quick solution provided by a linear equation system (in Excel's Solver), here
we are dealing with a real simulation, which not only determines
a single optimum (in the worst case even only a relative optimum) but also displays all
solution alternatives, which - arranged accordingly - allows discussion of solutions which are numerically
suboptimal but which may be, for other reasons, desirable ones.