Marco Valente

''Keep calm and carry on''

  • Increase font size
  • Default font size
  • Decrease font size
Home Simulations LSD Intro

LSD Introduction

See the LSD site:

LSD (Laboratory for Simulation Development) is a powerful and easy-to-use language for simulation models, specifically designed for agent-based models. 

Users are required to define only the elements of the model and chunks of code expressing how the model should compute values for the variables. The systema automatically arranges this information creating a powerful program endowed with a large number of functionalities to configure, run, debug and analyse the model.  

A Lsd model is formed by:

  • the model structure (made of Objects, Variables and Parameters);

  • equations (chunks of C++ simple code to compute Variables' values) ;

  • initial data (Parameters' and lagged Variables values, and number of Objects).

Model writers need to write only the code concerning Variables and define the model structure. Both operations are generally very simple and assisted by extensive documentation. A development environment (Lsd Model Manager, LMM) provides all the tools for code writing and Lsd specific help. After compilation, the Lsd model program is endowed with many tools for managing simulations in very simple ways. Users of a Lsd model program can set initial data, generate and access automatically model documentation, run simulations observing any detail of the model, analyse the result generating exporting graphics (EPS) or data set (flexible text formats). 

Lsd is written in C++, and a Lsd model is C++ compiled code with dynamically allocated memory, so to generate very fast and efficient simulations (interfaces use Tcl/Tk). Lsd, available for Windows (self-install single file), Unix and Mac OS. The Windows version does not need any additional package, since the distribution includes the Windows port of GNU C++ compiler by MinGW and any other required software. The Unix version requires a GNU C++ compiler and Tcl/Tk, normally installed on any system (e.g most Linux distributions).

Users of Lsd models do not need any prior programming knowledge, and are assisted by extensive documentation. Model writers need as much C++ knowledge as requested by the model's own complexity. The Lsd distribution includes the system, the manual and several example models ready to run. This distribution includes a course on Lsd, besides other documentation.

Lsd has been written by Marco Valente, initially as member of the TED project in IIASA, and then as part of the PhD project (supervised by Esben S. Andersen). Lsd emerged as the generalization of all the program functions used in several simulation models, mostly in agent-based simulation models. Lsd is also continuing evolving, adding new functionalities to both the language and the development environment, although the compatibility with previous versions is always ensured. Click on download to get the latest version of LSD. See this paper to have more details on the design of LSD.

Last Updated on Sunday, 01 March 2009 23:37