Laboratory for Simulation
Development
NEW SITE: www.labsimdev.org
Introduction
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.
|