Running models : Working with visualisation tools : Others



Using other helpers

Because of the ease with which new helpers can be developed (see below
for details) a great many other helpers exist, alongside the plotter and the data table.
These helpers are of a variety of ages and provenances, and do not conform
to any consistent interface. Some were developed for specific
applications, and although they are of general interest, reflect their
origins in their design.

In order to use a helper, your model firstly needs to be built: that is,
you need to have selected the "Build" item from the "Model" menu, as
described in Running Models. Almost all these
helpers work best in the multiple-windows run time environment. The
procedure for adding helpers differs, depending on whether the single or
multiple-window run time environment is selected.

The other helpers included in the standard installation of Simile
are:

Plot value against
time
Lollipop diagram
Spatial grid display Polygon diagram (map) 3d viewer
Time profiles

With the exception of the "Plot value against time" helper, all these
helpers are primarily designed to display data from multiple-instance submodels. The
spatial grid display and the three-dimensional viewer are designed to
display data from multiple patches of land. The time lollipop display and
the time profiles helper are designed to display the attributes of each
instance of a population
submodel
. All these helpers use the following procedure for binding
variables.

One other tool, that is rather different from the others, is used to
initialise the pseudo-random number generator:

Initialise
pseudo-random number generator

Binding variables to helpers

When you select, for example, the "Plot value
against time
" helper, you need to specify which variable in your model
will be plotted. Therefore, the helper issues an instruction, asking you
to select a variable by clicking on it in the model explorer or in the
model diagram window. Other helpers require more than one variable: in
these cases, the instructions indicate the sequence in which the variables
should be selected. For example, the "Lollipop
diagram
" helper (which displays trees in three dimensions) requires you
to click first on a variable representing the x-coordinate of each tree;
then on one representing the y-coordinates; then on one representing the
heights. Note that no checks are made to ensure that the variable you
select for x-coordinates really does contain x-coordinates: it is up to you
to choose the right one.

Each helper uses one of two methods for instructing you to select the
necessary variable(s):

  • Separate instruction window: a small window instructing you to click
    on a model element. The window will tell you the role of the variable that
    you are selecting in relation to the helper's task, and you need to click
    on a variable that is appropriate to that role.
  • Instructions in the helper window: an instruction about what you
    should be doing in the helper window itself. One example is the slider
    input helper. Typically, this allows you to repeatedly select variables
    from the model, with each one being added to the helper.

Developing new helpers

Simile is probably unique in the world of visual modelling software in
that no input/output tools are built into the software. Rather, every such
tool is implemented as a separate program in an industry-standard
interpreted language called Tcl/Tk. When you load Simile, it creates a
list of available helpers by looking in the "IOTools" directory for
appropriate files. This is the list of helpers that is then bound into the
menus.

One advantage of this approach is that with simple programming anyone
can implement a helper customised to their own requirements: there is no
need to submit a request to Simulistics (though you are,
of course, welcome to do so). This means that if you are modelling (for
example) whales, you can implement a display helper that shows whales
swimming around. These helpers can be distributed easily, as simply
copying the file to the "IOTools" directory is sufficient to install the
helper in each copy of Simile.

In: Contents >> Running models >> Working with helpers