** Next:** Model fragments
** Up:** The knowledge base
** Previous:** Composable relations

####

Property definitions

*Property definitions* describe features of interest to the
application requiring a scenario model. A property definition
is a tuple
where
is a set of *source-participants*, a predicate calculus
sentence whose free variables are elements of , and
is a relation, whose free variables are also elements of , such
that

A typical example of a feature of interest is the requirement that a
certain variable in the model is endogenous or exogenous. To be more
specific, the property definitions below describe when a variable
`?v` is *endogenous* and *exogenous* respectively.

(defproperty endogenous
:source-participants ((?v :type variable))
:structural-condition ((or (== ?v *) (d/dt ?v *)))
:property (endogenous ?v))

(defproperty exogenous
:source-participants ((?v :type variable))
:structural-condition ((not (endogenous ?v)))
:property (exogenous ?v))

The first definition states that whenever either
or
is
true (where `*` matches any constant or formula), `?v`
is deemed to be endogenous. The second property definition indicates
that a variable is said to be *exogenous* if such an object
exists and it is not endogenous.

By describing such features formally in the knowledge base, property
definitions enable them to be imposed as criteria on the selection of
scenario models. In this way, the variable describing the size of a particular
population in an eco-system, for instance, can be forced to be
endogenous.

Note that required properties can be specified in two different ways:
either *globally* as goals for the scenario model construction or
locally as a *required purpose* of a certain model fragment. The
latter use of model properties will be illustrated later.

** Next:** Model fragments
** Up:** The knowledge base
** Previous:** Composable relations
Jeroen Keppens
2004-03-01