Next: Threshold
Up: Control knowledge
Previous: Control knowledge
A module execution computes answers to queries being made to it. A query
consists
of asking for the value of an exportable fact. The way the module executes to
obtain that answer can be different, from the point of view of the queries
the module will do in turn to the user, and the way the submodules will be
queried as well.
The three possible evaluation strategies in Milord II are called lazy,
eager and reified strategies. Before explaining in detail
these strategies in Section 8 we give here an intuitive idea
of their main differences:
- Lazy:
- A module with this evaluation strategy asks the user for values for
the facts in the import interface, and queries for values of
facts in the submodules' interface only if necessary. This strategy is
used by default.
- Eager:
- Given a query to an eager module the following actions are
done: it asks the user for the value of all the imported facts of the
module, and it also asks for the values of all the exported facts of its
submodules.
- Reified:
- This kind of evaluation strategy asks questions in the same
form as the eager evaluation strategy, but no actions are made at deductive
level. The rules of the deductive component of a module are reified. It is
then the control which gives sense to the reified rules by simulating inference
rules by means of meta-rules.
Josep Puyol-Gruart
Thu Oct 23 15:34:13 MET DST 1997