Rule-languages and rule-based systems have played seminal roles in the history of computer science and the evolution of information technology. From expert systems to deductive databases, the theory and practice of automating inference based on symbolic representations has had a rich history and continues to be a key technology driver.
Due to the innovations made possible by the Internet, the World Wide Web, and, most recently, the Semantic Web, there is now even greater opportunity for growth in this sector. While some of these opportunities may require advances in research, others can be addressed by enabling exisiting rule-based technologies to interoperate according to standards-based methodologies and processes. The basic goal of the Rule Interchange Format (RIF) Working Group is to devise such standards and make sure that they are not only useful in the current environment, but are easily extensible in order to deal with the evolution of rule technology and other enabling technologies.
The purpose of this document is to provide a structured context for formulating future technical specifications for RIF. We start by outlining a protypical use of RIF and developing a basic model of how RIF processing is supposed to work (Section 2). This should provide the reader with a general framework for discerning common threads in the varieties of RIF-uses envisioned in the use cases presented in section 3. Section 3 presents a set of use cases that are representative of the types of application scenarios that RIF is intended to support. Besides providing concrete examples for analysis, these use cases also represent a kind of committment, since it is expected that the relevant functionality specified in the use cases will ultimately be enabled by applications or systems that incorporate RIF technical specifications.
Additionally, the use cases illustrate some of the principal ways in which RIF can provide benefits. RIF can promote innovation and development by fostering collaborative work and providing new opportunities for third-party services. RIF can promote e-commerce by providing interoperability across vendor platforms. RIF can promote efficient process management through reuse, sharing, and the ability to provide unified views across disparate platforms. Last, but not least, RIF can promote the growth of knowledge by enabling reasoning with merged sets of rules originating from disparate knowledge sources.
Section 4 of this document begins with a brief explanation of Critical Factors Analysis, which is a methodology, orthogonal to use-case analysis, that can be used using to drive the process of capturing and organizing requirements. This form of analysis proceeds by first enumerating the main goals of an activity, or project, in this case the goals of RIF working group activity, and relates those goals to what are determined to be key factors that are critical to their attainment. Requirements, in turn, are measurable properties that directly support one or more of these critical success factors. The section includes diagrams that show the relationships among the goals, critical success factors, and requirements. Critical factor analysis is especially helpful in the generation of "non-functional requirements" and constraints, since the latter do not arise from the need for a particular type of function or specific behavior, and are therefore difficult to infer from individual use cases. For example "implementability," is a general requirement on RIF as a whole - one that is presupposed by all use cases.
The actual statement of requirements is given in Section 5. In addition to being generated by use cases analysis and critical factor analysis, some requirements are additionaly directly stated in, or implied by, the working group charter. For example the "XML syntax" requirement is explicit in the charter. The "RDF Data" requirement, generated by use case analysis, is also interpreted as being implied by the charter's call for RDF compatibility.
One of the critical factors for a successful RIF is that it be useful for interchange of rules among the set of rule languages it is intended to cover. This leads to the requirement "Rule Language Coverage" which is currently something of a promissory note concerning the languages RIF will cover. As discussed in section 6, Coverage, the idea is to characterize the space of rule languages in such a way that clear and principled decisions as to what the RIF will (and will not) cover can be made. We note that in this document we deliberately refrain from defining the notion of "coverage" in a rigorous manner, since precisely what it means for diverse rule languages to be "covered" by RIF may vary from case to case. Intuitively, when we say that "RIF covers rule language L" we mean that there is at least one standard dialect of RIF into which rules written in L can be translated and vice versa.