Users developing simulations in LSD define the model in an intuitive format that satisfies two conditions:

- define univocally the model
- provide as little information as possible

The definition of a model as required in LSD distinguishes between model's configuration and equations. The former defines the elements of the model, the second the computational content.

### Model configuration

A configuration is the list of the elements in a model. The available elementsare:

**Variables**. Labels attached to values computed at each time step, once and only once at each time step, using an equation (see below).**Functions**. Similar to variables, but are not necesssarily computed at each time step, but only when requested by the equation's of other elements.**Parameters**. Labels attached to values that do not change value (unless overwritten)**Objects**. Containers for other elements (inlcuding objects), giving structure to the model. Objects can be defined in many copies, generating multiple copies of their content.

### Equations

An equation is a piece of code used to generate a numerical value assigned to a type of variable (or function). The same piece of code is used to compute the values for all the copies of a variable. Within an equation it is possible to use any legal C++ command and a number of LSD specific commands, such as, for example, introduce new objects, overwrite values of other elements, etc.

Notice that the equations is the only computational content of a model. This means that the modeller needs not (and cannot) control the flow of a simulation run in other ways by writing equations. This simplies considerably the generation of a model, or its modification, since it is the system that automatically determines which equation must be executed at any moment.