next up previous
Next: Threshold Up: Control knowledge Previous: Control knowledge

Evaluation Strategy


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:

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.

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.

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