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

Getting started with the EDEN tools

Downloading and installation

Eden is currently available for Windows, Linux/Unix and Mac OS X. Binaries and sources are available from the Eden page.


  • Download the latest zip file, named eden-windows-(version).zip, from the Eden page, and then extract the files somewhere on your disk (for example, "My Documents").

Mac OS X

  • Download the latest dmg package, named eden-macosx-(version).dmg, from the Eden page. Install the dmg package on your system.


  • The linux binaries are compiled on the DCS servers and are not tested outside of the department. Therefore, it is suggested that you compile your own binaries from the source code. Instructions on compiling can be found under Developing Eden.
  • If you have access to the Department of Computer Science at the University of Warwick, then you will be able to run the tools and models internally (see Using Eden at DCS).
  • If you wish to try the linux binaries, download the latest tarball package, named eden-linux-binary-(version).dmg, from the Eden page. Extract the files from the tarball (e.g. zcat eden-linux-intel-binary-(version).tar.gz | tar xvf -) and move into the resulting directory before running ./tkeden.

Running the tool

The primary tool for building models is tkeden. This tool incorporates the main definitive notations (Eden, Scout and DoNaLD) as well as some other domain specific notations.

A screenshot of tkeden

To start, run the tkeden executable and an environment for interaction will be displayed. The key elements of the interface are: the text entry box (1), the accept button (2) and the notation switches (3). Statements are entered into the text entry box (1) and then executed by clicking on the accept button (2). The environment enables the modeller to switch between notations on-the-fly by selecting the notation switches (3).

Other useful features in the environment include the ability to view all the observables and definitions currently in the model (View -> View Eden Definitions). Basic guides to each of the main notations are available from the Help menu.

Note: When running tkeden under Windows, a console window will be opened to view any text output from the environment.

Loading models

A model can be developed interactively as described above, or existing models can be loaded into the environment. To load an existing script, use File -> Open and select the file to be opened in the environment. To execute the loaded script, simply click the accept button.

A large variety of models are available for download in Projects

When you download a model and extract the files, you will find various file types. Generally, models are often split into scripts containing different notations: .e (or .eden) refers to Eden scripts, .d refers to DoNaLD scripts and .s refers to Scout scripts. Models will usually contain a file named run.e (or run.eden) that can be loaded to start the model.

A model can be started by opening the run.e file from within the tkeden environment using File -> Open/Execute. Otherwise it can be started from the command-line:

tkeden run.e

This will cause a new tkeden environment to be opened and the file run.e to be loaded. Once a model has been loaded, the tkeden environment can be used to interact with the definitions and enter new statements in any of the notations.

Other Eden tools

The tkeden tool described above is the most widely used and the best place to start for new modellers. However, there are two other variations of the tool which also come with the Eden package:

  • ttyeden implements just the hybrid definitive and procedural notation Eden and provides a UNIX shell-like interface. It is useful for trying out ideas in Eden quickly. ttyeden has a line editing feature (GNU readline), enabling full cursor editing of the input line and history.
  • dtkeden extends tkeden with distributed communication features, adding the LSD notation to do so. It is used when models use communication between machines, for example in our Clayton tunnel railway accident model.