RIF must define expected default behaviour
RIF must specify at the appropriate level of detail the default behaviour that is expected from a RIF compliant application that does not have the capability to process all or part of the rules described in a RIF document, or it must provide a way to specify such default behaviour.
That default behaviour must be easy to implement independently of the rule-processing capability of the consumer application.
Position in the DC structure
Level: Requirement [PROPOSED]
The following DCs depends on that one:
Support for Priorities and Preferences (cf. Courteous Logic) (from :F2F2/RequirementsBrainstorming)
Graceful Degredation (requirement on translator) -- use the core as much as possible? (from :F2F2/RequirementsBrainstorming)
RIF must be extensible (from :F2F2/RequirementsBrainstorming)
Different kinds of rules to be interchanged (from Draft - Requirements on RIF)
Extensibility in the sense that users can add customized functionality (data transformations, access to new data sources). (from Draft - Requirements on RIF)
This DC is (or may be?) an alternative to the following:
Identifying which member of the family of possible dialects is used in this Ruleset (from :F2F2/RequirementsBrainstorming)
Each feature-package labeled about which other feature-packages it is compatible with (or maybe the users/programmers need to know this, not the machines) (from :F2F2/RequirementsBrainstorming)
Format for tagging of various RIF extensions (in a way that rule engines can announce their capabilities in these terms and compatibility between a rule set and a rule engine can easily be determined). (from Draft - Requirements on RIF)
Requires that RIF support the intersection of features found in competing products (from Draft - Requirements on RIF)
Decidability or possibility to automatically restrict to an expressive decidable fragment (from Draft - Requirements on RIF)
If the default behaviour is defined as part of the RIF specification, would it be useful that RIF provides a way for an application that produces a RIF document to specify at the appropriate level of detail the default behaviour it expects from RIF complicant applications that are not able to process all or part of it?
This DC is equivalent with the following:
Graceful failure -- if RIF->RL1, some feature can't be done correctly, then there should be some proscribed behavior (from :F2F2/RequirementsBrainstorming)
See also a simple proposal how this could work in my answer to Dave Reynolds about decidability.
A RIF without that is probably of limited use for most stakeholders