The diagnosis rule engine is ment to be a relatively simple (e.g. compared to DROOLs) and generic processing engine that coordinates the execution of diagnosis rules.
The rule engine shell take invocation sequences as input. As output, the rule engine shell provide a set of detected performance problems for each individual invocation sequence.
The rule engine shell be designed in a generic way, so that rules can consume and process any type of objects.
Rules are executed within encapsulated sessions, whereby each session corresponds to the analysis of one invocation sequence
The Rule Engine allows rules to be loosely coupled → no direct dependency between individual rules
Each rule provides incremental information/insights on the processed data
The Rule Engine allows rules to access the information/insights provided by rules that where executed before (in the logical execution order)
The definitions of individual rules explicitly specify which type of information they depend on