Practical modelling with EDEN
The attendance at CS405 labs has been so poor this year that it has not been possible to organise a systematic programme of study for EM tools. Students who intend to submit models for WEB-EM-05 will need to get at least basic experience of EDEN nonetheless. A few pointers to practical resources that can help in this are reviewed here. Some additional advice about the variants and extensions of EDEN that you may wish to use is included. (Note that many of the links identified here point to practical resources presented in previous years.)
-
For basic knowledge of the
eden
,donald
andscout
components of EDEN, consult Labs 1 and 2 from this year and Lab 3 from 2007-8. This is an essential prerequisite for basic model-building. (For some answers to Lab 2, and for more advanced knowledge of features of EDEN - some of which are likely to be relevant to your model-building exercise, see Seminar 3 from 2007-8.) -
You may well find it useful to exploit additional notations, such as the
eddi
notation for relational views and tables. An introduction toeddi
is provided in Lab 4 from 2007-8. A brief account of howeddi
was once applied in teaching a second-year database module exists in the form of an EDEN model prepared for a conference presentation (which you should run ontkeden-1.49
on Linux ortkeden-1.46
on Windows). -
It is a good idea to become familiar with some of the models demonstrated in the lectures. There are several links in this year's lecture notes that enable you to do this. Examples include: the graphics presentation model (Lecture 4), the jugs model (Lecture 8), the Logo-related models (Lecture 10), the heapsort model (Lecture 11) and the cruise control model (Lecture 13). You may also find it instructive to look more closely at other tools with which some comparison has been made. In particular, you can readily download the Miranda interpreter for Linux, and study Mike Joy's functional program for 3D noughts-and-crosses (see Lecture 12).
-
There are many extensions to EDEN that may be of interest. The CS405 labs from 2006-7 are a good source for studying some of these. You are not required to use any of these extensions in your submitted model, but it may well be that studying / critiquing / deploying one or more of these extensions will be helpful in relation to your chosen theme. They include:
- The agent-oriented parser (AOP): This is a notation that makes it possible to implement new definitive notations within EDEN itself (and indeed to modify them on the fly). The
eddi
notation is one example of a notation implemented in this way. (For more details, see Lab 6 from 2006-7.) - The dependency modelling tool (DMT): This exists in the form of a Java-based tool for visualising dependencies, and in a version that is implemented in EDEN itself (see Lab 5 from 2006-7).
- The GEL presentation environment: This environment can be very useful in presenting a model, especially in relation to documenting, recording and replaying interactions. This can be effective even in relation to quite simple models.
- The Sasami 3D modelling notation: This notation makes it possible to define simple 3D models with dependencies. It is introduced in sasamiexamplesCarter1999, and was improved in one of the contributions to WEB-EM-03 (sasamiprimitivesKnight2007). Its use is illustrated in Charlie Care's planimeter models (kaleidoscopeBeynon2005).
- Other extensions: Other useful extensions to the EDEN interface include Karl King's Visual Symbol Table (vstKing2005) and variants of his tool for drawing Scout windows with the mouse alone drawScoutKing2004.
- The agent-oriented parser (AOP): This is a notation that makes it possible to implement new definitive notations within EDEN itself (and indeed to modify them on the fly). The
- The most significant recent development in EDEN has been the web-enabling of the tool by Richard Myers. More about Web EDEN and some examples of its use can be found here. The series of workshops relating to the theme of Sudoku solving is a useful introduction to many of the key themes and techniques introduced in the CS405 module. The adaptation of an existing model to operate under Web EDEN would be a suitable basis for your modelling exercise, but you should be warned that there are limitations in Web EDEN, even in respect of more than the basic use of
donald
andscout
in conjunction that is illustrated in the introductory lab. - There may be other applications that use dependency that you would like to discuss in relation to your practical assignment for CS405. For instance, there is some affinity between EM ideas and the DOSTE and Cadence notations developed by Nick Pope. Some reference to these may be included in the lectures this year, subject to demand.
tkeden
. The primary things to look out for are: the introduction of clocks (older models may run best with tkeden-1.46
); two runset regimes that affect the way in which mouse tracking is handled (between tkeden-1.66
and tkeden-1.67
) and may have other side-effects; the revised implementation of eddi
that was introduced in tkeden-1.67
- this provides simple eden
equivalents for relational operators, but loses some functionality in the process. These inconsistencies are to be regretted, but are hard to avoid as there are currently so few people actively involved in maintaining the EDEN code.