Page 91 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 91
Unit 4: Introduction to Validation, Metrics
Notes
However, the interpreter model can be rediscovered by identifying the components of
Figure 2 with their design antecedents in Figure 2. This is done in Figure 3. Viewed in this
way, the elaboration of the design becomes much easier to explain and understand. For
example, we see that:
• The knowledge base remains a relatively simple memory structure, merely gaining
substructure to distinguish active from inactive contents.
• The rule interpreter is expanded with the interpreter idiom (that is, the interpretation
engine of the rule-based system is itself implemented as a table-driven interpreter),
with control procedures playing the role of the pseudo-code to be executed and the
execution stack the role of the current program state.
• “Rule and data element selection” is implemented primarily as a pipeline that
progressively transforms active rules and facts to prioritized activations; in this pipeline
the third filter (“nominators”) also uses a fixed database of Meta rules.
• Working memory is not further elaborated.
Figure 2: Sophisticated Rule-based System
The interfaces among the rediscovered components are unchanged from the simple model
except for the two bold lines over which the interpreter controls activations.
Contd...
LOVELY PROFESSIONAL UNIVERSITY 85