Skip to main content Skip to navigation

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.)

  1. For basic knowledge of the eden, donald and scout 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.)

  2. You may well find it useful to exploit additional notations, such as the eddi notation for relational views and tables. An introduction to eddi is provided in Lab 4 from 2007-8. A brief account of how eddi 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 on tkeden-1.49 on Linux or tkeden-1.46 on Windows).

  3. 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).

  4. 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.
  5. 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 and scout in conjunction that is illustrated in the introductory lab.
  6. 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.
        As a final word of advice about using EDEN, please bear in mind that there have been some quite significant changes in the interpreter over recent years. This unfortunately means that there are some minor inconsistencies between different versions of 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.