In this Section we describe the behaviour of modules when computing the answer to a query. As we have already noticed, the behaviour depends on the value of the evaluation type parameter of each module. During the process of evaluating the answer to be given to a query, a module execution is engaged in several activities: make questions to users; make queries to submodules, initiating, then, similar evaluation processes; specialise rules to deduce new facts [20]; deduce new facts which are reified to the control component, ... (see Figure 18). Determining which activity is to take place next is the main task of the control associated to a module, and it is what we mean by Operational Semantics here.
Figure 18: Some activities in the computation of a query answer.
In Milord II there are three types of evaluation strategies: Lazy, Eager and Reified. We explain the behaviour of the module execution for each one of these strategies.