pub:projects:samurai:cases:userv
Table of Contents
UserV
In comparison to orginal model, models implmented in CLIPS, Jess and Drools assumes that concept of Client
and Driver
are the same. This is because, it is impossible to support many drivers or cars simultaneously in XTT2 model.
Model in CLIPS
- Model 1: userv-clips.clp
- Rules: 84
- Uwagi:
- Rule
automobile-eligibility-potential-occupant-injury::POIR-exhigh2
must have increased priority in order to fire first within the group. This rule is activated by different set of facts than other rules within this group and thus its LHS can be satisfied simultaneously with LHS of other rules. In case when this and another rule are satisfied, firing this rule in the second place may provide to incorrect (to low) value of POIR: the first rule change it tolow
and pops the module from the focus stack preventing this rule from firing and setting POIT toextremely high
.
Model in Jess
- Model 1: userv-jess.clp
- Rules: 84
- Uwagi:
- Definitions of numerical-based slots in Jess fact model should also provide default values. This is because, Jess has only one rete network for all modules. Hence, some rules from the modules that have not current focus can be evaluated as well. If a comparison of two numerical fields are performed within such rules then Jess can cause error in case if at least one of these values are not set yet. This situation can be observed when the default value of
CarFacts → BasePremium
is removed
This error does not appear in CLIPS because it generates a separated rete network for each module.
Model in Drools
- Model 1: userv.java userv-drools.drl
- Rules: 85
- Uwagi:
- Due to the fact that drools does not provide corresponding mechanisms for execution control like CLIPS or Jess, it is not possible to mix rules that should be fired exclusively with rules that can be fired several times in one module. This is why, the “automobile-eligibility-potential-theft” module must have a corresponding module that contains only one rule, that assert fact of the
CarFact
type. - Global variables cannot be defined and initialized within
DRL
file. They must be created injava
file and then inserted into working memory:Integer year = 2013; ksession.setGlobal("currentYear", year);
and in
DRL
file:global Integer currentYear;
Model in XTT2
- Model 1:
- Rules:
- Uwagi:
pub/projects/samurai/cases/userv.txt · Last modified: 2016/01/05 22:34 by 127.0.0.1