Conclusions
Distributed logic programming has been introduced as a means
to specify the functionality of an object oriented system
in a high-level (logic-based) formalism,
preserving the structure of the original problem.
The specification given may also be used as a prototype of the system.
Hopefully, the use of DLP as a design and prototyping tool has been
clearly demonstrated by the example presented in previous section.
Currently, there exists only a rather inefficient prototype implementation of DLP.
See [Eliens91].\ftn{
The prototype has been implemented in a variant of the language described in
[Am87].
Recently, research to (re) implement DLP in a concurrent extension of C++
has been started.
}
Not included in the prototype implementation of DLP, but certainly needed
when actually using DLP as a design/prototyping tool
is a suitable programming environment and documentation support.
Finally, I would like to stress that DLP
and for that matter any programming formalism,
has its inherent limitations as a tool
to design complex (object oriented) systems.
As observed in [Ho87], the restrictions that must be adhered to in
order to have an executable specification may be too severe
to make the specification of any use for conceptually understanding
the design or the requirements a design must meet.
In these cases a precise mathematical description or an informal description
may well augment the design as laid down in the executable specification.