Modelling with definitive scripts
The principles of modelling with definitive scripts are discussed in detail in Jaratsri Rungrattanaubol's thesis A treatise on modelling with definitive scripts. A prerequisite for working with definitive scripts is becoming familiar with definitive notations, and with a tool for dependency maintenance that can be used to interpret scripts. The principal example of such a tool in use at Warwick is the 'Evaluator for DEfinitive Notations' EDEN.
The three basic definitive notations used in the EDEN interpreter are: a definitive notation Eden within the EDEN interpreter itself for describing the dependencies between abstract data values; the DoNaLD notation for 2d line-drawing; the SCOUT notation for window and interface layout. The underlying algebras for these three notations respectively comprise: scalars, strings and lists; simple geometric entities, such as points, lines, and circles, together with shapes made up of sets of such entities; windows, displays comprising groups of windows, and auxiliary types to assist screen display. Scripts formulated in DoNaLD and SCOUT are translated into EDEN when interpreted. Illustrative examples of the use of modelling with definitive scripts include roomviewerYung1989, roomviewerYung1991, linesBeynon1991.
The use of definitive scripts serves two complementary purposes in the most simple forms of EM. A script serves a design purpose: recording the current status of the EM construal as it evolves, and providing the interactive interface through which the designer develops further understanding. The script also provides the framework within which other state-changing activities associated with the construal (such as automatic behaviours) are expressed. For this purpose, the EDEN modeller can exploit three constructs: definitions, which comprise scripts explicitly written in Eden and translations of scripts entered using other notations, such as DoNaLD and SCOUT; functions, which introduce user-defined operators that can be exploited in formulating dependencies in Eden; and actions, which take the form of procedures that are triggered whenever the value of one or more observables is refreshed. The use of the EDEN definition-function-action concept is illustrated in the jugsBeynon1988 and oxoGardner1999 models, and in the way in which definitions in a notation such as DoNaLD are implemented using EDEN.
The above aspects of modelling with definitive scripts form the subject of much of the lecture and tutorial material to be found in the first two days of the MSc module EMfCS. For further information relating to practical work, consult the Tools page and online user-guides. The use of other definitive notations, such as EDDI, Sasami, ARCA and Sand is documented elsewhere, and illustrated in the EM archive. There is also scattered documentation on more advanced topics, such as the design of definitive notations, the implementation of definitive notations using the recently developed agent-oriented parser, the connection between modelling with definitive scripts and logic, and links with the philosophy of William James.