Rules are an increasingly important technology in many different domains. There are several reasons for this trend: an increasing formality in the process of doing business and the rules approach to developing that formality.
As more human activities are mediated by computers, so more of these same activities acquire a greater degree of formality for the straightforward reason that computers require greater precision than people do. This trend is accelerated by the increasing influence of non-business stakeholders (such as various legislatures) imposing conformance guidelines on the way that business is conducted.
This leads to a requirement that everyone involved in a system must understand the policies and mechanisms that impact the way that they perform their task. It is not sufficient for a system to be correct; it must also be seen to be correct.
On the other hand, the 'rules way' is more easily understood by non-information technology professionals than conventional programming and scripting languages, especially in complex situations. This has helped to bring an increasing amount of attention to all approaches to rule-based systems.
Unfortunately, there are many different technologies and approaches to rule-based systems. These include production rule based systems, Prolog based systems, pure First Order Logic based systems, description logic based systems and event-condition-action based systems. These approaches vary drastically.
The fundamental goal of the Rules Interchange Format Working Group is to facilitate the interworking of all these different approaches in order to achieve maximum benefit of rules in business conducted on the Internet, the inspiration being that a common interchange or lingua franca of rules that can accommodate the different styles of rules will greatly enhance the successful adoption of rules in general.
This document attempts to characterize the rules interchange problem in terms of the requirements on any RIF. We studiously avoid, in this document, any attempt at actually solving the problem of interchanging rules. Our goal and challenge is to carefully and clearly state the problem in a way that relates to the expected uses of the RIF.
We have followed a two-pronged approach to identifying the problem: we have collected a set of representative use cases and we have performed a more global critical factors analysis of the rules interchange goal. The former is based on use cases collected from members of the working group and abstracted into generic use cases. The latter is based on requirements also identified by members of the Working Group and subsequently abstracted.