Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

Using the Empirical Modelling Presentation Environment (EMPE)

The Empirical Modelling presentation environment (EMPE) was developed by Antony Harfield in 2007. The EMPE is a useful vehicle for demonstrating and exploring existing EDEN models, and is also itself an interesting example of an EDEN model. The EDEN files that define the EMPE can be downloaded as empeHarfield2007 from the EM projects archive.

The use of the EMPE has been illustrated in a number of archived models (e.g. graphicspresHarfield2007), and in lectures and in laboratories in CS405.

To use the EMPE yourself, whether in revising lectures delivered with the EMPE or to present another model, you should consult the resources in the public directory at /dcs/emp/empublic/teaching/cs405-2011/UsingEMPE/. The simplest approach is to make a private copy of this directory in your own space.

For basic information about how to use the EMPE, you should cd into the copy of empeHarfield2007 within your 'UsingEMPE' directory and invoke tkeden with the file run.eden. Note that the first action of this run file is to withdraw the tkeden Input Window - you will need to be patient while the EDEN definitions for the EMPE are then processed. When the EMPE is loaded, you should have a presentation within the EMPE itself that describes the basic functionality of the EMPE - describing how to add and edit html slides, for instance, and how to embed EDEN script fragments and current values of EDEN observables within such slides. It is most important to be aware of the mechanism by which such a presentation is stored by using the 'Copy Definitions' button to copy the EDEN definitions associated with the html source for the slides into the clipboard. From the clipboard, they can then be pasted into a file (cf. intro.eden in empeHarfield2007) that is generally loaded at run time but can be reloaded at any time.

Other examples of the use of the EMPE that are topical in connection with CS405 have been stored in other directories within the UsingEMPE directory. To load them, you need only cd into the appropriate directory and execute the run file within it using tkeden. The trickiest part of setting up a model for use within the EMPE in this way is integrating a Scout display associated with the model into the EMPE display. As a simple example of such integration, which involves defining observables in the %angel notation in terms of %scout observables, you can consult the run.e and setup.e files within the progstoconstrualsBeynon2011 presentation in the UsingEMPE directory.

Index to illustrative examples of the EMPE

There are EMPE presentations in each of the following subdirectories at /dcs/emp/empublic/teaching/cs405-2011/UsingEMPE/. To execute them invoke tkeden with the run file within the subdirectory.

  • empeHarfield2007 - Antony Harfield's EM presentation environment together with his quick guide to its use
  • progstoconstrualsBeynon2011 - a presentation addressing the shift in perspective from 'programs' to 'construals'
  • roomdemoShao2007 - Jin Ai Shao's "brief tutorial on EM" using the room model in roomYung1989 (adapted from WEB-EM-3)
  • prescabinetdigitBeynon2007 - a presentation and commentary concerned with the semantics of the digit-cabinet definitive script(s)

Useful information when using the EMPE

The observables that govern the size of the 'Input Box' and 'Interactive Display' on the left of the EMPE screen are referenced in %angel by names such as pres_scoutbox.height (e.g. = 400 px); pres_scoutbox.width (e.g. = 500 px); pres_inputbox.width (e.g = 40 characters) and pres_inputbox.width (e.g = 10 characters). The contents of the 'Interactive Display' is called pres_scoutbox.display. In %eden, you can access the same observables by replacing the 'dot' by an 'underbar'.

In using the EMPE it is easy to make the mistake of closing the presentation window. Whereas the Scout screen can be opened using the drop-down menu associated with the tkeden Input Window, there is no such direct way to recall the presentation window. For this purpose, you need to introduce the following definition in %angel:

pres_win.visible = 1;

in order to avoid restarting the EMPE from scratch.

Note: There is an error in the specification of the observable pres_slideheader in the 2007 version of the EMPE. This observable should be defined with an 'is' as below:

pres_slideheader is "<html><body><font size=-1>&nbsp;</font><br><blockquote><font size="//pres_fontsize//">";

In the original definition, this observable was assigned a fixed value, so that changing pres_fontsize had no effect. Possible values for pres_fontsize are "+1", "+2", "+3", "+4".