Capturing executable domain knowledge (rules) would normally require complex software programs to be written. UReason products provide an environment where the user can "program" using predefined rule-blocks rather than writing and maintaining many lines of a software language. Predefined rule blocks are available for:
- Statistical Functions
- Pattern Detection
- State Interaction
- Event Generation
- Model Access

UReason products provide special rule types for specific purposes. Many types of graphical rules can be combined (chained) to create (but not limited to) sophisticated monitoring, diagnostic and decision support applications. UReason classifies rules into:
- Symptom Rules: rules that analyse perceived problems or complaints detected by you or reported by your users. Symptom Rules can trigger Cause Rules forming a basis for Root Cause Analysis.
- General Rules: rules that can generically be used to create templates for frequently used detection/analysis schemes.
- Cause Rules: rules that analyse possible causes for events that have occurred (generated by Symptom Rules).
- Analysis Rules: rules that generally analyse your domain or perform further analysis when symptom or cause determination is vague or requires more inputs.
Within these classifications various types of diagnostic rules can be created:
- Diagnostic Rule Definition: a rule used for Fault Detection & Diagnosis of your data or models. When models are used we generally speak of Model Based Reasoning (MBR).
- Decision Support Rule Definition: a rule allowing feedback driven Decision Support.
- Reusable Rule Block Definition: a rule that can generically be used throughout a scenario or domain (depending on its location).