When creating a model by using a computer, the normal practice is to decide the precise functionality of the model in advance, and to implement from a functional specification.

 

Modelling activity in EM is closer in spirit to creative work in the arts such as making a sculpture or composing a piece of music.  The interaction between the artist’s state of mind and the work they are creating is dynamic, and the meaning of the work of art is shaped as it is being developed.

 

 A simple exercise in modelling a clock can be used to illustrate this idea.  The basis for this model is the file of definitions clock.d that comprises a definitive script in which the variables correspond to familiar observables associated with an analogue clock, such as the marks that indicate the time and the lengths and positions of the hour and minute hands.  Features of this file include the dependencies that link the positions of the hour and minute hands to the current time.  Notice how these are specified in such as way that both the position of the minute hand and the hour hand depend on the time via independent definitions.  An alternative way to express this dependency that might more aptly describe the physical relationship between the hands of a mechanical clock would express the position of the minute hand as linked to the position of an internal mechanism, and derive the position of the hour hand by a definition representing the chain of cogs that might connect the hour hand to the minute hand.

 

The file clock.d generates a clock face where the hands are yet to be displayed since the time (clock/t) is yet to be specified.  In specifying a time for the clock face, the modeller can adopt many different viewpoints.  For instance:

·        the modeller may act as a user, setting the clock to the current time

·        the modeller may act as a designer, seeking to place the hands in a significant configuration

·        the modeller may act as the clockmaker who inserts the clock mechanism.

Possible definitions to complement clock.d that correspond to each of these scenarios are given in ext0.d.

 

There are many other instances of potential redefinitions in the file ext0.d.  These effect very simple changes to the generated display, but ones that nevertheless can correspond to rich thought processes and changes of perspective on the part of the modeller.  In the role of a user, the modeller will consider such issues as starting and stopping the clock, or setting the time to reflect a new time zone.  In the role of designer, the modeller may consider the appearance of the clock face, the possibility of adding a second hand, or changing the colour of the hands.  The modeller can also act in a role that is outside the scope of either the designer or the user, as when reconfiguring the display to a convenient size for demonstration, or adding physically unrealistic features to the clock.  The motivation for making these modifications is to highlight two fundamental ideas behind Empirical Modelling:

  1. the construction and structure of scripts mirrors the way in which the modeller construes state-change to occur
  2. the modeller’s perspective on the script is subject to change from moment to moment, and involves internal human activity (relating to thought processes, situation and agency) that is much richer and more complex than the external computer-based change.

Note how traditional computer programs, in contrast, being optimised to serve particular functions and operate in specific situations, are constructed in ways that do not necessarily give any insight into the fashion in which the programmer construes the world (though this is recognised to be highly relevant to the process of identifying a requirement).  Moreover, they are generally intended to exploit the computer’s capacity for performing exceedingly complex state-change, and to make the role of the user as clearly defined and as simple to enact as possible.