1. The same set of rules and facts will always give the same set of
extensions (possible solution sets) onve it has backtracked enought
times.
2. It is efficient (some causes of its present efficiency are that
it minimises backtracking under normal circumstances, it can try
firing rules incrementally and that as it does it only needs to
refer to the current state of the database and established conflicts.
3. All rules are unidirectional.
4. A user can predict informally what should happen in most normal
circumstances.
5. SDML completely evaluates all logical consequences of a solution
it has chosen.
6. The user should have confidence that SDML has tried to contradict
the assumptions.
7. Every combination of seperately legal rules are together allowed.
8. Should be free to combine assuption generating clauses with each
other (e.g. notKnown total ...).
9. Simple rulebases are fired very efficiently.
.....................................................................
I agree whole hartedly with all these except maybe (3) which I think
must be derived from other concerns (e.g. efficiency, clarity to
users etc), which I would see as more fundermental.
Bruce