A logic programming language for simulation is presented along with
several examples of its use. This language uses the same primitives
as Concurrent Prolog with the addition of delay expressions in the
guards. An advantage of this approach is that Concurrent Prolog programs
can be prototyped and debugged via simulation after which the delay
expressions can be ignored to produce the final Concurrent Prolog
program. Limited backtracking is supported in the initial language
interpreter which is written in standard Prolog. This enables alternate
paths in a simulation to be explored for acceptable solutions. As in
Concurrent Prolog a declarative interpretation of a program is possible.
That is, a Concurrent Prolog program can be considered as a set of
axioms in first order logic.