ETHZ_Logo RAMSES_Logo_Right    RAMSES    RAMSES_Logo_Left Systems Ecology   

RAMSES - Research Aids for Modeling and Simulation of Environmental Systems

1 - What Is RAMSES?

RAMSES is a generic modeling and simulation environment that allows you to solve a wide range of modeling and simulation problems easily (Fischlin 1991). You can model and interactively solve non-linear differential equations, difference equations, and discrete event systems in any combination; size and complexity of your model is only limited by your computer's resources.

RAMSES supports a modeling and simulation project from the very beginning to its most sophisticated end. It features smooth transitions from interactive modeling and simulation to batch oriented simulation experiments of any complexity. It supports hardware independent modular modeling on Macintosh, IBM PC and Unix computer platforms (100% source code compatibility possible).

RAMSES is an open system, i.e. it can be easily extended and adapted to any need the user may have. Most of its parts have two user interfaces: The end-user interface and the client (programer's) interface. With only few, but then intentionally introduced exceptions, the functions offered can be executed either via the end-user interface interactively, or via the robust and simple client interface by writing a program to suit your current needs in a flexible manner. The program can then be easily converted into a full-fledged, interactive application.

RAMSES is targeted at non computer scientists who wish to concentrate on the modelling task at hand. The software has been mainly designed to support the modeler and simulationist studying environmental systems. However, the tools are also suitable for engineers or other scientists, who wish to program efficiently in a high level language some robust and user-friendly applications, or who are interested in non-linear dynamic systems.

RAMSES is based on the Modula-2 programing language (Wirth 1985, 1988) that supports the writing of simple, compact, well-readable, type-safe, modular and easily reusable programs that execute at high speed.

2 - Tools Overview

RAMSES can be seen as a huge toolbox consisting of many different tools which serve a particular purpose:

  1. Software Development Tools

    RAMSES supports general software development with varying tools, depending on computer platform. These include program editor support, compiler and linker programs, 'make' and other scripts etc.

  2. Platform Independent Programing Interface and Auxiliary Modules

    To ensure a robust, platform independent object-oriented programing of interactive applications RAMSES is based on the Dialog Machine. The Dialog Machine is a virtual interactive working station that hides all hardware or operating system dependencies from the client software. RAMSES comes with a large collection of Dialog Machine based auxliary modules for maths, statistics, graphics etc.

  3. Modeling and Simulation Tools

    For beginners or to solve simple problems, there is Easy ModelWorks. It is the small sister of ModelWorks, a large software package to model and interactively simulate systems. A further major package named ISIS, fully compatible with ModelWorks, supports the implementation of complex dynamic systems in a hierarchical manner.

3 - Software Layers Overview

RAMSES consists of the following software layers:

Logo and Name Description Tools Type
MacMETH Logo MacMETH A fast Modula-2 language system for the Macintosh Classic platform from ETH Zurich. On other platforms you wil need other Modula-2 implementations (see Platforms & Availability below). A
Dialog Machine Logo Dialog Machine A platform independent graphical user interface for personal computers and workstations. B
Auxiliary Library Logo Auxiliary Library A collection of library modules useful in the context of programing, modeling, simulation, and scientific data analysis. B, C
Science Library Logo Science Library A collection of library modules useful in scientific applications such as complex statistical analysis, geographical data processing, bioclimatic scenario generation and forest modeling. B, C
Easy ModelWorks Logo Easy ModelWorks A simple interactive modeling and simulation environment for personal computers. C
ModelWorks Logo ModelWorks An interactive simulation environment for personal computers and workstations. C
ISIS Logo ISIS Integrative Systems Implementation Software supporting the implementation of complex dynamic systems in a hierarchical manner. C
RAMSES Shell Logo RAMSES Shell A tool supporting the tasks of programing, modeling, design of simulation experiments, simulation, and analysis of simulation results. A, C
RAMSES Extras Logo
M2 Mode Logo
RAMSES Extras A collection of extra tools or utilities and some less frequently used modules; most importantly the Modula-2 Mode for the great editor Alpha. A, B, C
RASS Logo RASS The RAMSES Simulation Server supporting lengthy simulations in a batch mode, particularly on the Unix platform. A, B, C

The following figure shows a structural diagram of the RAMSES software layers. It also shows how a so-called Model Definition Program (MDP) fits into the RAMSES architecture. A MPD is written in Modula-2 and specifies the model system to be simulated with the aid of ISIS or ModelWorks. Models to be simulated with Easy ModelWorks are specified in a text file using a simple simulation language (not shown); such models can be automatically translated to a MDP.


RAMSES Software Layers Overview

Overview of RAMSES software architecture. Polygon sizes are proportional to the software layers' size (number of source code lines). Horizontal contact length between two polygons indicates the degree of dependence between sotware layers. Shown are also the numbers of exported objects. c: constants (CONST); t: types (TYPE); v: variables (VAR); p: procedures (PROCEDURE). After Gardi (2005).

4 - Platforms & Availability

All of RAMSES is freeware (courtesy ETH Zurich). The Science Library is available on request.

Depending on computer platform you may need to obtain/purchase separately a Modula-2 development environment, as described below.


Platform Supported Mac Classic Windows Mac OS X Sun Solaris
System Version ≥ 7 ≥ 3.1 ≥ 10.2 ≥ 5
Development Environment RAMSES Shell
or MacMETH
Stony Brook
Modula-2
p1 Modula-2 EPC Modula-2
Dialog Machine Interactive DM Interactive DM Batch DM (RASS) Batch DM (RASS)
Auxiliary Library Yes Yes Yes Yes
Science Library Yes Yes Yes
Easy ModelWorks Yes Yes
ModelWorks Yes Yes Yes Yes
ISIS Yes Yes Yes
RAMSES Extras Yes
Main Download Location here here here here


Remarks on the development environments:

  • Mac Classic:  The RAMSES or the MacMETH release contain all software needed to edit, compile, debug, and execute Modula-2 programs on this platform.
  • WindowsStony Brook Modula-2 has been discontinued in 2004. The development environment was sold until then by TERRA Datentechnik (Maintenance Release 4.03 by TERRA). The compiler we have used is the Stony Brook Modula-2 Compiler V2.22-L, a compatible replacement for the original Logitech/Symantec Modula-2 V4.0 compiler.
  • Mac OS Xp1 Modula-2 is actively maintained and is being ported to the newest hardware/software architectures. You need a license from the distibutor to develop your own programs. The current distribution of RAMSES for the P1 compiler, i.e. RMSP1, is 32 bit only. A version supporting Apple silicon M chips as well as 64 bit Intel Macs is in preparation.
  • Sun SolarisEPC Modula-2 has unfortunately been discontinued in 1999. EPC stands for Edinburgh Portable Compilers, a company that was taken over by the Analog Devices (Edinburgh Design Centre) in 1999. Note, EPC's old website http://www.epc.co.uk is no more valid. We have used the last available compiler version 'em2' V2.0.9.5 and its utility 'em2make'.
Please contact us if you wish to use RAMSES components on the Windows or Sun Solaris platform.

5 - Authors

RAMSES has been conceived, designed and implemented to a large extent by Andreas Fischlin.

Several other persons have made important contributions to the development, testing and documentation of the various software layers. Please see the layer specific web pages for further information.

The figure below gives an overview of the numbers of modules contributed to RAMSES by the various authors (MacMETH excluded).

RAMSES Software Layers Overview

For further information on module authorship see also the Modules by Layer overview.

6 - Cited References

Fischlin, A. (1991). Interactive Modeling and Simulation of Environmental Systems on Working Stations. In: Möller, D.P.F. & Richter, O. (eds.), Analysis of dynamic systems in medicine, biology, and ecology. Informatik-Fachberichte 275: 131-145. PDF doi: 10.1007/978-3-642-77020-3_17

Gardi, O. (2005). Analyse und Evaluation der RAMSES Software bezüglich Neuimplementation auf modernen OS X und UNIX/Linux Arbeitsplatzsystemen. Technische Semesterarbeit, Systems Ecology, ETH Zurich, Switzerland, 159 pp. PDF

Fischlin, A., Gyalistras, D. & Löffler, T.J. (2006). Installation Guide and Technical Reference of the RAMSES Software (Version 3) For Apple® Macintosh® Computers. A Technical Systems Ecology Report, ETH Zurich, Switzerland, 48pp. PDF

Wirth, N. (1985). Programing in Modula-2. Springer, Berlin a.o. 3rd. corr. edition. 202 pp. doi: 10.1007/978-3-642-96878-5

Wirth, N. (1988). Programing in Modula-2. Springer, Berlin a.o. 4th. edition. 182pp. doi: 10.1007/978-3-642-83565-0


  RAMSES@env.ethz.ch Last modified 2/12/23 [Top of page]   

Modula-2 website ring
List all       |       <<  Prev       |       Next  >>       |       Join