This document, developed by the Rule Interchange Format (RIF) Working Group, specifies use cases and requirements for a format that allows rules to be translated between rule languages and thus transferred between rule systems.
The Phase 1 version of this document presents use cases for RIF in general, but requirements primarily for Phase 1. The Phase 1 deliverables will provide an extensible base with which the use cases can be addressed, but it will not be until Phase 2 that most of these use cases are directly addressed by the Working Group.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
The Rule Interchange Format (RIF) Working Group seeks public feedback on this draft. Please send your comments by 8 September 2006 to email@example.com (public archive). If possible, please offer specific changes to the text which will address your concern.
Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
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 the RIF. We start by presenting a set of use cases that are representative of the types of application scenarios that the RIF is intended to support (Section 2). 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.
Section 3 of this document begins with a brief explanation of Critical Factors Analysis, which is the methodology we are using to drive the process of capturing requirements on the RIF. This section enumerates the main goals of the RIF working group activity and relates them to what we believe are the key factors that are critical to attainment of those goals. Requirements, in turn, are measurable properties that directly support one or more of these critical success factors. This section includes diagrams that show the relationships among the goals, critical success factors, and requirements. Section 4 is basically a list and brief description of the requirements on the RIF as of the current working draft.
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. Section 5, Coverage, deals with the issue of how 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.
Nearly fifty use cases documenting the need for a RIF were originally submitted. These were grouped into eight general categories and then synthesized as much as possible. In the second round, two new use cases were added. The following use case descriptions, guided by this synthesis, provide scenarios that motivate the need and explain the benefits of a RIF. They are also intended to provide an ongoing reference point for the working group in its goal of providing a precise set of requirements for a RIF.
In order to enhance readability and avoid the appearance of syntactic prejudice, we have deliberately avoided the use of formal notation in representing rules in these use cases except where doing so might introduce ambiguity. However, this informality may lead readers to the conclusion that rules can perform arbitrary actions in the real world. This is not the case; the RIF WG has not yet decided on the ultimate power that rules will have.
This use case illustrates a fundamental use of the RIF: to supply a vendor-neutral representation of rules, so that rule-system developers and stakeholders can do their work and make product investments without concern about vendor lock-in, and in particular without concern that a business partner does not have the same vendor technology. It also illustrates the fact that the RIF can be used to foster collaborative work. Each developer and stakeholder can make a contribution to the joint effort without being forced to adopt the tools or platforms of the other contributors.
John is negotiating an electronic business contract regarding the supply of various types of items that Jane's company is manufacturing. Jane and John interchange the contract-related data and rules involved in the negotiation in electronic form so that they can run simulations. Both agree on a standard Business Object Model / data model (i.e., vocabulary / ontology) for the goods and services involved - in this case an XML schema and appropriate test XML documents are interchanged with their rules. Since John and Jane run applications based on different vendors' rule engines and rule languages, they interchange the rules using the RIF; both vendors used can interpret the XML schema and data, and produce the results as an amended XML document. John's company defines its purchase orders in terms of an XML description of goods, packaging, delivery location and date with delivery and payment rules. A rule proposed by John might be the following:
If an item is perishable and it is delivered more than 10 days after the scheduled delivery date then the item will be rejected.
Jane replies with some suggested rule changes:
If an item is perishable and it is delivered more than 7 days after the scheduled delivery date but less than 14 days after the scheduled delivery date then a discount of 18.7% will be applied to this delivery.
John considers this and agrees with Jane. Both organizations utilize these rules in their operational systems using disparate rule representations internally to compute prices for this order and determine contract compliance.
Future requests for the supply of items by John's company are defined on their purchasing web site, as the appropriate XML schema and a RIF ruleset (or rulesets). This allows Jane's company and its competitors to respond electronically with XML cost sheets. Suppliers respond with multiple cost sheets with different variations on the RIF rules proposed by John's company, allowing John's company to review the alternative rules with their associated costs to determine whether they, as a business, would benefit by relaxing or adding new rules as proposed by suppliers.
This use case concerns the ability of parties involved in formal transactions or procedures, e.g., credit card authorization of a purchase, access of private medical records, etc., to express and protect their interests within a policy-governed framework. The goal is to formally encode the preferences, priorities, responses, etc., of the parties in such a way that the overall policy can work as intended while providing opportunity for automatic negotiation of terms when allowed by the policy. Utilization of the RIF in this use case would extend the scope of this technology, affording a higher degree of interoperability, as well as enabling re-use and sharing of preferences, etc., through interchange. The detailed scenario below shows how this would work.
Alice wants to buy a device at an online site called "eShop." Alice employs software called "Emptor" that functions as automated negotiating agent for buyers. eShop employs software called "Venditor" as automated negotiating agent for sellers.
Alice's and eShop's policies describe who they trust and for what purposes. The negotiation is based on the policies, which are specified as rules, and credentials Emptor and Venditor have. These policies and credentials are disclosed (interchanged) so as to automatically establish trust with the goal of successfully completing the transaction.
Policies are themselves subject to access control. Thus, rule interchange is necessarily done during negotiation and (in general) depends on the current level of trust that the systems have on each other. Since Emptor and Venditor might use different rule languages and/or engines for evaluating (own and imported) rules, a (standard) rule interchange format (RIF) needs to be employed for enabling the rule interchange between the two systems.
When Alice clicks on a "buy it" button at the eShop's Web site, Emptor takes over and sends a request to eShop's site. Venditor receives the request and sends parts of its policy (i.e. a set of rules) back to Emptor. Among other things, the policy states that:
A buyer must provide credit card information together with delivery information (address, postal code, city, and country).
For determining whether Venditor's request for information is consistent with Alice's policy, Emptor takes its rules into account, which state for example:
Disclose Alice's credit card information only to online shops belonging to the Better Business Bureau.
By disclosing (interchanging) the above given rule, Emptor asks Venditor to provide credentials saying that it belongs to the Better Business Bureau, Alice's most trusted source of information on online shops. eShop has such a credential and its policy contains a rule stating to release it to any potential purchaser. Hence, Venditor passes the credential to Emptor. Emptor is now ready to disclose Alice's credit card information to Venditor but it still must check whether disclosing all the information does not break Alice's denial constraints. Alice has stated two constraints stating:
Never disclose two different credit cards to the same online shop.
For anonymity reasons, never provide both her birth date and postal code.
Different choices exist for implementing the above constraints as rules; choosing the type of rules for implementing policies depends also on the capabilities of the Emptor system.
For this purchase, anonymity is no issue and only information on one credit card is requested. Thus, Alice's constraints are respected. Emptor therefore provides Alice's credit card information to Venditor. Venditor checks that Alice is not on eShop's blacklist, then confirms the purchase transaction.
Companies that provide software such as Venditor and Emptor would make use of the RIF in a number of ways. The rules expressing Alice's and/or eShop's policies could be expressed in different rule languages but still work with the software, using RIF-based interchanges. Secondly, assuming Venditor and Emptor are products of different companies using different internal rule languages, it would still be possible for them to work together in real-time. When these two systems need to exchange policy or preference information of their respective clients they would use the RIF to enable the interchange in real-time. When Venditor sends its initial policy information to Emptor it uses the RIF. Emptor takes that policy and translates it from the RIF to its internal representation in order to determine what it needs to do.
This use case demonstrates how the RIF leads to increased flexibility in matching the goals of end-users of a service/device, with the goals of providers and regulators of such services/devices. The RIF can do that because it enables deployment of third party systems that can generate various suitable interpretations and/or translations of the sanctioned rules governing a service/device. There are at least two broad areas in which such third-party services could be deployed.
One area is Dynamic Spectrum Access for wireless communication devices. Recent technological and regulatory trends are converging toward a more flexible architecture in which reconfigurable devices may operate legally in various regulatory and service environments. The ability of a device to absorb the rules defining the policies of a region, or the operational protocols required to dynamically access available spectrum, is contingent upon those rules being in a form that the device can use, as well as their being tailored to work with devices in the same class having different capabilities.
In this use-case we suppose a region adopts a policy that allows certain wireless devices to opportunistically use frequency bands that are normally reserved for certain high-priority users. (The decision by the European Union to allow "Dynamic Frequency Selection" (DFS) use of the 5 GHz frequency band by wireless systems, a band intermittently used by military and weather radar, is a recent example - See http://europa.eu.int/eur-lex/lex/LexUriServ/site/en/oj/2005/l_187/l_18720050719en00220024.pdf.)
Suppose the policy states:
A wireless device can transmit on a 5 GHz band if no priority user is currently using that band.
How does a device know that no priority user is currently using a band it wants to use? The answer will depend on the specific capabilities of the device. One type of device may answer this question by sensing the amount of energy it is receiving on that band. That is, it might employ the rule:
If no energy is detected on a desired band then assume no other device is using the band.
A second type of device, may get information from a control channel that lets it know whether the desired band is being used by a priority user. That is, it might employ the rule:
If no control signal indicating use of a desired band by a priority user is detected then assume the band is available.
So each type of device will need to employ different "interpretations" or "operational definitions" of the policy in question.
Now assume that there are 10 manufacturers of these 2 different types of wireless devices. Suppose that each of these manufacturers uses a distinct rule-based platform in designing its devices. Each manufacturer needs to write 2 interpretations of the policy (for each of the two types of device). That means that 20 different versions of the policy must be written, tested and maintained.
Enter the RIF. The 10 manufacturers form a consortium. This is a third-party group that is responsible for translating regional policies into the RIF. When it does so, however, it provides different versions corresponding to the possible interpretations (operational definitions) of the policy. So in this case, 2 RIF versions of the DFS policy are provided for the 2 types of device mentioned above. Each of these RIF specifications can be automatically translated into the appropriate rule-platform provided a RIF-Compiler for the target device architecture exists. Clearly it will be in the interest of each device manufacturer to develop such compilers. That is because the manufacturer only needs to develop such a compiler once for every architecture it owns. Contrast that investment with having to produce, test, and maintain different versions of various policies over the lifetime of a product.
This arrangement also allows the overall process to be organized in a fashion that maintains the natural division of labor in the corresponding division of artifacts produced by that labor: the policy and its various interpretations are written and maintained in platform-independent artifacts (the RIF); knowledge about how to translate from the RIF to a particular device architecture is maintained in the compilers. A change in policy is inserted at the top level in the policy artifact hierarchy where it should be; possible operational interpretations of that change are inserted at the next level down; the implementation implications for the various device architectures is generated automatically at the lowest level.
Web Services and Service Oriented Architectures is another broad area in which third party rule interchange services would be enabled by the RIF. Web-based service architectures offer a dynamic and flexible approach in which differentiated Service Level Agreements (SLAs) can be matched to particular circumstances automatically as required. For example, what constitutes a certain level of service, or an acceptable premium for such a level, might vary depending upon the laws in the region in which the service is provided or contracted. SLAs written in the RIF could be automatically translated into appropriately customized agreements by a third party service provider.
A business process (BP) designer designs processes that can span multiple departments in the same business as well as other business partners. A classic example of this is the integration of supply chain business processes which typically involve multiple partners. Supply chain integration involves exposing a certain amount of business logic between partners as well as integrating processes across partners. In such activities it is therefore often necessary to access or invoke rules that originate in other ownership domains.
A key part of a business process is the logic used to make decisions within the process. Such logic is often coded in rules because rule languages are easier for BP designers to understand and manipulate than procedural code (as in Java) -- although both forms of business logic are prevalent. Where business logic is represented in different rule languages this presents a significant burden to the BP designer in designing an integrated process.
Two primary integration modalities are possible: importing the different rulesets into a single engine and processing them in a uniform manner, or accessing the rulesets by querying remote engines and processing the results. Each modality has its uses and contra-indications. Where there are strong ownership boundaries involved it may not be permitted to merge rule sets of partners.
For example, in an insurance adjustment process, the inspection of a damaged vehicle is often performed by independent inspectors. The critical decision in how an insurance claim will proceed is whether the damage results in a total loss or whether a repair is feasible:
If inspector believes vehicle is repairable then process as repair otherwise process as total loss.
The question of whether a vehicle is repairable is one that is dependent on the processes executed by the inspector and cannot be directly integrated into the insurance companies own adjustment process. The insurance company effectively queries the inspector's logic. Within the adjustment process, the overall flow will be quite different for repairable claims and total loss claims.
Even in the case of a single company, which is nominally under a common ownership domain, information and business logic is often controlled by multiple stakeholders. For example, a large company will often be organized into semi-independent profit centers (business units). Each unit will be motivated differently, will have different ontologies and business logic and may use different rule languages to represent their logic (this is particularly the case where one company acquires another company).
The RIF should be used to permit the BP designer a unified view of the different partners' business rules in designing the process, while at the same time permitting the partners to continue to leverage their own business rules without changing their own technologies.
When a business process is deployed, the engine running the BP may dynamically import the business rule logic of multiple departments when they are in the same organization; or, if that is not permitted, then a query-style access to partners' business rules may be used. In this way, the RIF permits a unified dynamic view of the business rule logic no matter what the original form of the rules.
For this to be viable from a business perspective it is critical that the semantics of the rules and query exchange be completely predictable and preferably loss-less.
This use case is about the management of rules representing business policies and practices in cases involving multiple organizations and/or multiple units within a single organization. One of the key challenges in dealing with such domains is that some rules that support business policies and practices might not be directly executable by a machine, whereas others, even those dealing with the same situation, are machine executable. Rules that are not directly executable might need something from a person, e.g. a decision or confirmation of an action, at which point the rule execution system might be able to use the rule in a reasoning process. The RIF can help to make such domains more tractable and amenable to machine processing by allowing rules to be labelled with tags that express the necessary meta-level information required to make a reasoned determination as to the intended status of a given rule.
This scenario uses the (fictitious) car rental company, EU-Rent, used as the SBVR case study. The EU legislation discussed is also fictitious.
EU-Rent’s corporate HQ deals with CarWise, a consultancy company with expertise in managing fleets of vehicles. One service CarWise offers to its clients is negotiating with EU regulators to clarify regulation. It provides both interpreted regulation for EU-Rent as an organization, and rules that can be directly used by IT rules systems.
An EU regulator issues a directive dealing with insurance for vehicles owned by companies. One of the interpretations relevant to EU-Rent is:
Every car rental must be insured for damages to third parties.
EU-Rent receives this and accepts that it must comply. It also decides that it will maintain its compliance documentation electronically. CarWise provides EU-Rent with rules for electronic signatures for insurance schedules, which can be directly used in EU-Rent’s IT systems, e.g.
Each schedule must have electronic signatures from two EU-Rent employees of at least manager grade.
EU-Rent corporate HQ decides that
Cost of third-party insurance will be built into the basic cost of each rental.
so that there is no possibility that it can be omitted from rentals. It provides this rule to its companies in each of the EU countries in which it operates. EU-Rent operating companies also use consulting companies like CarWise for national level expertise. In the UK AutoLaw advises EU-Rent of rules for placing aggregate insurance for fleets with more than one insurer in order to spread the risk:
For fleets of more than 200 vehicles, fleet insurance policies must be placed with at least 3 insurers where at least 25% of the risk is with each insurer.
AutoLaw also provides the rules for calculating tax liability for aggregated insurance for direct use by EU-Rent’s IT systems. These include, e.g.
For an individual rental, the tax on aggregated insurance is 1.5% of the simple cost of the rental
Simple cost of rental is the cost for use of the car, excluding extra equipment, additional drivers and VAT.
EU-Rent UK has some existing insurance policies in place. They provide third-party insurance as an explicit item, and EU-Rent UK cannot get refunds on early termination. It asks corporate HQ for rule:
Insurance policies that provide separate third-party cover must not be renewed.
EU-Rent HQ permits this, not just for UK, but for all its operating companies, and disseminates it.
EU-Rent HQ is concerned about meeting deadlines for electronic filing. It introduces a new rule that it distributes to operating companies:
Each electronic compliance document must have its required electronic signatures 48 hours before its filing deadline.
This means that if '48 hours before filing deadline' occurs and the electronic signatures are not present, an operating company's rules system must report the out-of-compliance situation, and then wait for the responsible managers to provide the signatures.
Decision support systems aid in the process of human decision making, especially decision making that relies on expertise. Reasoning with rules is an important part of this expert decision making. For complex decision support systems, it is expected that rules will be furnished by a variety of different sources, including ontologies, knowledge bases, and other expert systems. This use case illustrates how the RIF makes it possible to merge rulesets from diverse sources in diverse formats into one rule-based system, thereby enabling inferences that might otherwise have remained implicit.
Medical decision support systems, such as the ones discussed below, might use rules from pharmaceutical knowledge bases, laboratory knowledge bases, patient databases, and medical ontologies. For example, a large amount of information on therapeutic medications (drug taxonomies, indications, contraindications, and clearance times) and diseases (disease taxonomies, etiologies, and symptoms) is contained in existing ontologies such as SNOMED Clinical Terms®. Rules can be used to express therapeutic recommendations, to formulate queries about relevant prescriptions for a patient, and to assess the effectiveness of a treatment.
The following scenario illustrates how rule-interchange would be used in various medical decision support systems to support the following functionalities:
Improving situation assessment, e.g., determining when a patient needs to be put on medication, or have his medication switched.
Prescribing a course of action, e.g., determining which drug is best for a patient in a particular circumstance.
Improving event planning, e.g., determining whether a patient can be scheduled for a procedure given the medication that he is currently taking.
Bob, 62 years old and reasonably healthy, has been going to his internist, Dr. Rosen, for several years for control of his Type II diabetes. Dr. Rosen has been using the AutoDoc system to help him decide when to switch to medications and which drugs to prescribe. The AutoDoc system uses two sources when making its recommendations: a laboratory knowledge base giving particular results for patients and specifying when these results are out of normal range, and a pharmaceutical knowledge base giving guidelines for the use of medications. Automated reasoning with rules from these combined sources is possible if the rules are first mapped to the RIF. Here are two specific examples of such synergistic effects.
This scenario discusses the fictitious expert systems AutoDoc and MEDIC. In the interest of readability and brevity, the information and rules presented in the following scenario may not precisely capture the current state of medical knowledge and best practices in this field, but may be somewhat simplified.
Originally Bob's diabetes was controlled through diet and moderate exercise. In time, however, Bob’s blood glucose level began to rise, even under this regimen. Due to Bob's elevated HbA1c level (which indicates one's average blood sugar level over the last several months), Dr. Rosen prescribed oral medication for Bob. He was forced to change Bob's medication a number of times over the course of a year. He first prescribed Precose, an oral alpha-glucosidase inhibitor, but had to discontinue this medication due to undesired side effects. He then prescribed several sulfonylurea drugs, Micronase and Glucotrol, to no avail. Bob's lab results still indicated an elevated HbA1c level. The following rule from the laboratory knowledge base suggests that Bob's treatment at that time was not effective:
If a Type II diabetes patient's current level of HbA1c is high, then the patient's current treatment is considered to be ineffective.
To deal with this problem, Dr. Rosen was about to prescribe Glucophage (metformin, one of the biguanides) 850 mg, 3 times a day, when as usual, he double checked his prescription with the AutoDoc system. The system, based on the following guidelines from the pharmaceutical knowledge base, informed Dr. Rosen that he should have prescribed an oral bitherapy (two medications, each of which controls blood sugar levels) instead of a monotherapy.
If an oral monotherapy at recommended doses of a sulfonylurea or biguanide, combined with lifestyle changes, is ineffective, then the monotherapy should be replaced by an oral bitherapy.
Based on the recommendation from AutoDoc, Dr. Rosen switched Bob's prescription to Glucophage and Avandia (rosiglitazone, one of the thiazolidinediones).
Bob recently suffered a concussion and has become increasingly forgetful. He went to see a neurologist, Dr. Cervello, who prescribed a contrast MRI (Magnetic Resonance Imaging). When asked about current medication, Bob told Dr. Cervello that he was taking Glucotrol to control his diabetes, forgetting that he had been switched to Glucophage. This was potentially problematic, since Glucophage should not be taken close to the administration of a contrast injection.
Fortunately, when Bob went to the lab to schedule his MRI, the medical receptionist pulled up MEDIC (Medical Event and Drug Interaction Consultant), the hospital’s new automated system, which checks for incompatible medical events and/or drugs (e.g., liposuction scheduled during pregnancy, blood thinners prescribed before surgery, etc.).
MEDIC uses a variety of sources in its reasoning, including:
the pharmaceutical knowledge base, described above
the patient databases, which gives the patient record, including the medications a patient is currently taking
the hospital medical event protocol knowledge base, which details the protocol used for different medical procedures
In this case, MEDIC uses all three sources, and pulls up the following information:
Metformin is contraindicated with contrast dye.
Metformin is the generic form of Glucophage.
Bob is taking Glucophage.
The contrast MRI requires as one of its steps injecting the patient with contrast dye.
MEDIC therefore determines that Bob should not be taking the contrast MRI at this time.
For MEDIC to work, the rules from these different sources must be mapped to a unified interchange format.
Rules are often used in conjunction with other declarative knowledge representation formalisms, such as ontology languages (e.g. RDF and OWL), in order to provide greater expressive power than is provided by either formalism alone. Ontology languages, for example, typically provide a richer language for describing classes (unary predicates). Rules, on the other hand, typically provide a richer language for describing dependencies between properties (binary predicates), and may also support higher-arity predicates.
Rich domain models combining both rules and ontologies are often needed in domains such as medicine, biology, e-Science and Web services. In such domains, several actors and/or agents are involved that have to interchange the data, ontologies, and rules that they work with. An example is the use of such a domain model in an application that aims at assisting the labelling of brain cortex structures in MRI images. In this case, an OWL ontology is used to capture knowledge about the most important brain cortex anatomical structures, and a rule base is used to capture knowledge about mereological and spatial dependencies between properties.
For example, a rule is used to express the dependency between the ontology properties isMAEConnectedTo and isMAEBoundedBy, in particular (a simplified form of) the knowledge that two Material Anatomical Entities having a shared boundary are connected:
If MAE X is bounded by Z and MAE Y is also bounded by Z then X is connected to Y.
Benefits of interchange via RIF include the ability to collaboratively develop and share valuable knowledge, the ability to integrate anatomical images, possibly from distributed image sources, and the ability to use large-scale federated systems for statistical analysis of brain images of major brain pathologies.
This use case concerns the integration of information from multiple data sources. The Semantic Web provides a common data representation and query language, which greatly simplifies access to diverse sources but does not directly address the problem that independent data sources may have rather divergent information models.
Rules are an effective way to express mappings between such information models. However, rules locked within local proprietary systems cannot be reused. With a common rule representation, such mappings can be published across the Semantic Web, enabling an enterprise or community to progressively build up a rich network of mappings unifying the information models.
Information mapping and integration problems like this arise in many diverse domains including health care, travel planning, IT management and customer information management. The following scenario comes from the world of IT systems management.
Vlad has been given the job of analyzing how exposed his division's business processes are to changes in their IT maintenance contracts. He has three sources of information to combine:
a report on application services and associated servers, databases and networks (from the IT department)
a maintenance contracts database (from the finance department)
a registry indicating which business processes use which IT services (from the business planning group)
Each of these sources is in a different form but can be mapped into RDF to simplify access. However, they all have different information models. The IT report is too fine-grained: it talks about routers and interface cards whereas Vlad only needs to identify servers and pick out some generic dependency relations. On the other hand, the finance database models the world in terms of physical assets such as racks, which is too coarse-grained.
First, Vlad creates simple mapping rules to create a uniform, simplified view of the data in terms of a small number of concepts -- Server, BusinessProcess and Dependency. This involves rules such as:
If x is a ComputeNode in Rack r and Rack r is in Cage c and mc is a MaintenanceContract for Cage c then x is a Server with MaintenanceContract mc If x is a ComputeNode with a NetworkInterface with Port p and app is an Application running on Port p then x is a Server that hosts app If bp is a BusinessProcess that uses Application app then bp has a Dependency on app
He then creates rules that combine the data across his now simplified data sources, e.g.
If bp is a BusinessProcess that has a Dependency on Application app and x is a Server with MaintenanceContract mc that hosts Application app then bp has a Dependency on mc
This gives him a uniform view that links from business processes through to the IT and finance data. Vlad publishes these rules so that other people across the company can reuse them to construct similar views.
Rule-based Web services depend on the use of XML data for their request and response format. The involved rules must be able to access and compare XML data in their conditions and modify and generate XML data in their actions.
An existing commercial credit approval service deployed as a Web service takes an applicant credit request document as input and returns an approval or denial (with reason). It is implemented as a BPEL orchestration of two Web services -- a credit history providing service and a decision service containing a rules engine. BPEL first passes the credit request document to the decision service to determine, using rules, whether enough information (SSN, mother's maiden name, etc.) is available to request a credit history. If so, BPEL then requests a credit history from the history providing service and passes the credit history document to the decision service to be evaluated. Based on the evaluation, credit is approved or denied.
Because the rule engine is a Web service, existing BPEL diagramming and execution facilities can be used to integrate rules into this credit approval service. The credit evaluation model can be changed easily using GUI tools to customize rules. Use of RIF would improve the situation further. First, the credit history vendor could supply a default set of rules for evaluating its histories. Second, there would be several rule editing and customization tools from different RIF compatible vendors to tailor the rules to meet specific business objectives.
The credit evaluation rules are grouped into three rulesets that are executed sequentially. Rules in the first ruleset apply thresholds to several "red flag" quantities in the credit report, such as:
number of times a payment was 60 days late
number of foreclosures or repossessions
number of garnishments
number of liens
A red flag above the threshold results in denial of credit.
Rules in the second ruleset increment a credit score variable. For example:
If applicant owns residence then add 40. If applicant rents then add 30. If applicant has lived at current address 2 to 4 years then add 20. If applicant's income is under 20000 then add 10. If applicant's income is between 40000 and 50000 then add 40.
The third and final ruleset compares the applicant's credit score and income to threshold values, and makes the final decision to approve or deny credit to the applicant.
The decision and supporting rationale is returned from the decision service as an XML document. This decision document is then used to construct the reply to the original credit approval request.
The Semantic Web includes technologies (e.g., RDF) that allow metadata to be published in machine-readable form. Currently, this information is mostly enumerated as a set of facts. It is often desirable, however, to supplement such facts with rules that capture implicit knowledge. To maximize the usefulness of such published rules, a standard rule format such as RIF is necessary.
One case involves extending current standards for metadata publication with rules in order to express implicit knowledge. Suppose that the International Movie Database (IMD) publishes its metadata and rules in a machine readable format at http://imd.example.org. Besides the ground facts, which can be expressed in RDF, the metadata might also have general rules like the following:
Every science fiction movie is a movie. Every movie produced before 1930 is black and white.
Such rules allow data to be published more concisely by expressing knowledge that, without these rules, is implicit. This can greatly simplify the maintenance of data, guard against inadvertently introduced inconsistencies, and reduce storage requirements.
Published rules also allow combining data from different sources to exploit this knowledge. Consider an alternative database of movies published at http://altmd.example.org. In addition to metadata, it again publishes its own rules:
All movies listed at http://altmd.example.org but not listed at http://imd.example.org are independent movies. All movies with budgets below 5 million USD are low-budget movies.
Publication of rules with explicit references to other rulesets allows the definition of knowledge dependent on explicitly specified remote sources. Such explicitly specified scope is important in the Web environment, since it can reduce the danger of unintended interference from rules published at other remote sources, which may be exporting their own predicates.
Another example of such explicit referencing, which also illustrates implicit person-centric metadata, involves published rules being used to specify how to use other metadata, e.g. in the form of a widespread vocabulary such as FOAF or a standard exchange format like iCalendar. For example, FOAF user Charlie might choose to complement his normal FOAF profile with his preferences about which of his phone numbers should be used depending on his iCalendar schedule:
If Charlie is currently attending a public talk according to http://charlie.example.org/calender.ical then leave him a voicemail message If Charlie is currently in a meeting according to http://charlie.example.org/calender.ical and the importance is high then call his cell number If Charlie currently has no appointments according to http://charlie.example.org/calender.ical then call his office number
RIF should allow extending current standards for metadata publication by enabling such implicit knowledge to be captured via rules and allowing metadata and rules distributed over different sources to be interlinked. In a manner similar to how HTML links human-readable Web pages, RIF should permit linking metadata on the Web to support new kinds of "intelligent" crawling and search.
A critical factors analysis (CFA) is an analysis of the key properties of a project (in this case the RIF). A CFA is analyzed in terms of the goals of the project, the critical factors that will lead to its success and the measurable requirements of the project implementation that support the goals of the project.
A goal is an overall target that you are trying to reach with the project. Typically, goals are hard to measure by themselves. Goals are often directed at the potential consumer of the product rather than the technology developer.
A critical success factor (CSF) is a property, sub-goal that directly supports a goal and there is strong belief that without it the goal is unattainable. CSFs themselves are not necessarily measurable in themselves.
A requirement is a specific measurable property that directly supports a CSF. The key here is measurability: it should be possible to unambiguously determine if a requirement has been met. While goals are typically directed at consumers of the specification, requirements are focused on technical aspects of the specification.
It can often be helpful to illustrate graphically the key concepts and relationships between them. Such diagrams can act as effective indices into the written descriptions of goals etc., but is not intended to replace the text.
illustrates the key elements of the graphical notation. Goals are written in round ovals, critical success factors are written in round-ended rectangles and requirements are written using open-ended rectangles. The arrows show whether a CSF/goal/requirement is supported by another element or opposed by it. This highlights the potential for conflict in requirements.
The primary goal of the RIF is to be an effective means of exchanging rules that has the potential to be widely adopted in industry and that is consistent with existing W3C technologies and specifications.
This is intended to be a W3C specification that builds on and develops the existing range of specifications that have been developed by the W3C. This implies that existing W3C technologies should fit well with the RIF.
CSFs directly supporting this goal: Alignment with Key W3C Specifications
The primary goal of the RIF is to facilitate the exchange of rules. This mission is part of W3C's larger goal of enabling the sharing of information in forms suited to machine processing:
Rules themselves represent a valuable form of information for which there is not yet a standard interchange format, although significant progress has been made within the RuleML Initiative and elsewhere.
Rules provide a powerful business logic representation, as business rules, in many modern information systems.
Rules are often the technology of choice for creating maintainable adapters between information systems.
As part of the Semantic Web architecture, rules can extend or complement the OWL Web Ontology Language to more thoroughly cover a broader set of applications, with knowledge being encoded in OWL or rules or both.
It is an explicit goal of the W3C that the Rules Interchange Format will have the maximum potential for widescale adoption. Rules interchange becomes more effective the wider adoption there is of the specification -- the so-called "network effect".
RIF should fit well with key existing W3C specifications such as XML. In particular, it should align well with the Semantic Web standards such as resource descriptions (RDF) and ontologies (OWL).
The RIF should cover the major classes of rule formalisms that are in widespread use.
CSFs opposing this CSF: Low cost of implementation
RIF will encourage interoperability, e.g., overlap between dialects and distinguished dialects with maximum overlap.
Goals that are supported by this CSF: Widescale Adoption
Requirements supporting this CSF: Limited number of dialects
Given that rule languages are expected to continue to evolve, it is important that the RIF is able to incorporate rule languages not currently envisaged.
Goals that are supported by this CSF: Exchange of Rules
CSFs opposing this CSF: Low cost of implementation
Requirements supporting this CSF: Default behavior
The cost of supporting the RIF will have a direct impact on the extent of its deployability. This applies not only to any execution costs of employing the RIF but also to the design-time costs associated with it. For example, a RIF that requires expensive theorem provers to process the interchange or requires highly complex implementation techniques will be less likely to be deployed than one that is less demanding of technology and people.
Goals that are supported by this CSF: Widescale Adoption
The RIF must be a sound basis for exchanging rules, i.e., it must be predictable what is exchanged when a ruleset is exchanged between partners and/or tools.
The Working Group has currently approved the following requirements. This list is a work in progress and may change in future drafts, especially for Phase 2.
Note that certain requirements, including some of those specified in the charter (e.g. named arguments and Horn Logic as a semantics) are not explicitly mentioned in the list below. It is intended that these requirements will be incorporated via the Rulesystem Arrangement Framework (RIFRAF). The umbrella requirement, Rule language coverage, will thus entail the entire set of requirements implicit in the RIFRAF.
Note also that a language is said to be 'covered' by RIF if RIF can be used to interchange rulesets written in that language. The Working Group expects to provide a precise framework for talking about coverage and interoperability in a later draft.
RIF must define a compliance model that will identify required/optional features.
RIF must specify at the appropriate level of detail the default behavior 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 behavior.
RIF must cover rule languages having different intended semantics.
RIF must be able to pass comments.
RIF must support metadata such as author and rule name.
RIF must be implementable using well understood techniques.
RIF must have a limited number of standard dialects and/or a common core.
RIF must cover OWL knowledge bases as data where compatible with Phase 1 semantics.
RIF must cover RDF triples as data where compatible with Phase 1 semantics.
RIF must cover the set of languages identified in the Rulesystem Arrangement Framework. See the Coverage section.
RIF must have a clear and precise (unambiguous) semantics to reduce the potential for error in the exchange of rules.
RIF must have a standard way to specify the intended semantics (or semantics style) of the interchanged rule set in a RIF document.
RIF implementations must be able to use standard support technologies such as XML parsers and other parser generators.
RIF must not require rule systems to be changed; it must be implementable via translators.
RIF must have an XML syntax as its primary normative syntax.
RIF must permit XML information types (where appropriate) to be expressed using XML Schema. See the charter on Datatype support.
RIF must be able to accept XML elements as data.
The RIF Rulesystems Arrangement Framework (RIFRAF) is meant to define a description space for existing (or potential) rule languages (rule systems). Each criterion defines an axis with two or more values that can be used to discriminate between, or at least characterize, rule languages.
The idea is not that every criterion used in the RIFRAF should be reflected in a coverage requirement: on the contrary, the RIFRAF will be used to identify and to prioritize features and to abstract classes of rule languages/systems that need to be covered by RIF.
The Working Group is currently working to populate the RIFRAF description space with the specific rule languages/systems that need be covered by RIF.
The starting point for the RIFRAF was a set of criteria deemed especially relevant for Phase 1 of RIF. It has and will continue to evolve as it is populated: the description of additional rule languages/systems may require the addition of new criteria (descriptors/discriminators). Phasing is not a limitation, since the anaysis of the populated RIFRAF will also be used to prioritize requirements with respect to phases.
The set of criteria described below is the current state of the RIFRAF. It is included to provide the reader with a snapshot of the work in progress at the time this working draft is released and with a concrete idea of the meaning of the coverage requirement. It should not be construed as a list of requirements for RIF coverage, nor as a representation of how the Working Group views the space of rule languages and systems at this time.
Expressive Discriminators (or Dimensions) are collected here into four groups:
Values of Semantic and Pragmatic Discriminators, stated by Rulebase authors or found by Static Analysis, can of course still be marked up syntactically, e.g. via Semantic/Pragmatic (XML) Attributes on Rulebases, Rules, ..., via (RDF) metadata annotations, etc. In each group, Discriminators, and possibly subgroups of Discriminators, are listed (cf. rdf:subPropertyOf). The numberings of the Discriminators do not reflect priority orderings but are there for ease of reference such as "Syn 1.2" for the Range-restrictedness Discriminator (however, new subgroups may emerge from subsequences of neighboring Discriminators).
For most Discriminators there exists a lot of literature, under various names. For example, Discriminator SeS 1 on "Homogeneous vs. Hybrid Rules" is discussed, under this name, in Combining Rules and Ontologies. A survey. That paper provides various Subdiscriminators useful for OWL Compatibility. The Hybrid approach is further described in A Realistic Architecture for the Semantic Web.
The RIF-crucial Interoperability Discriminators are regarded here as Pragmatic Discriminators, and grouped under Prag 3.
Restricted vs. Unrestricted Use of Logic Variables
Single-occurrence variables (no implicit variable equality) vs. Multiple-occurrence variables (implicit variable equality; if an equality predicate is available, this can be made explicit via tests in the body; e.g., using an 'equal' predicate, the multiple-occurrence p(?x,?y,?x) :- q(?y) can be transformed into the single-occurrence p(?x1,?y,?x2) :- equal(?x1,?x2), q(?y))
Range-restricted Rules (No Head-Only Variables) vs. non-Range-restricted Rules
(Further Restrictions from Static Analysis Research)
Predicate Variables Permitted vs. Not Permitted
Second-Order Syntactic Sugar allowing variables in predicate positions of queries or rule bodies and possibly rule heads (further generalized to function and even atom positions in http://www.w3.org/Submission/SWSF-SWSL/#swsl-rules-hilog)
Monotonic Lloyd-Topor Extensions Allowed vs. not Allowed
Syntactic Sugar for extending Horn Logic with disjunction in rule bodies as well as conjunction and classical implication in rule heads http://www.w3.org/Submission/SWSF-SWSL/#swsl-rules-mon-lt
Explicit vs. Implicit Rule Scope
Allowing formulas and/or names denoting what has been called Modules, Contexts, Rulesets, or Models http://www.isi.edu/~argos/matthew/triple_by_example.html
Slotted (Keyed, Role-Named) vs. Positional Arguments
Allowing n-ary atoms with a set of n 'attribute=value' pairs as in RDF/OWL properties, F-logic methods, and object-oriented systems http://www.ruleml.org/indoo
Webized vs. non-Webized Names
Allowing URIs as OIDs for Constants, Functions, Slots, Predicates, Classes, and/or Labels http://www.w3.org/2000/10/swap/Primer.html
Homogeneous (Body has Single Expressiveness Class) vs. Hybrid (Body has Two Expressiveness Classes) Rules
Fact-only (Database Tables) vs. Rule-only vs. Fact-and-Rule Bases
Variable-ful (Non-Ground) vs. Variable-free (Ground) Facts (also under "Variable-ful vs. ... Clauses")
Function-ful (FO Horn Logic) vs. Function-free (FO Datalog)
Fixed vs. Unfixed Function Nesting Depth
Uninterpreted vs. Interpreted Functions
Variable-ful (Non-Ground) vs. Variable-free (Ground) Clauses
Variable-ful (Non-Ground) vs. Variable-free (Ground) Facts (also under "Fact-only ... Bases")
Number of Premises in Rules
Labeled (Anchored, OIDed) vs. Unlabeled Clauses
Labels Allowed vs. not Allowed as Arguments of User Predicates and/or System Predicates (such as in SCLP's priority-giving 'overrides' predicate, cf. SeS 9)
Certain vs. Uncertain Clauses and Atoms
Static vs. Dynamic: Static priority does not change. It could be specified using a numeric constant, a list of rule (labels) with lesser (or greater) priority, or the position of rules within a ruleset document could be significant. Dynamic priority can change during rule execution.
Rule ordering vs. rule selection: All applicable rules are tried in priority order, or only the highest priority rule is tried.
Turing-complete vs. not Turing-complete
Decidable vs. semi-decidable vs. undecidable
Finite-Model vs. Infinite-Model Rulebases (cf. decidability)
Modality allowed or not (beyond FOL)
No chaining (only 'one-shot' rules) vs. forward chaining vs. backward chaining vs. bidirectional chaining
Incremental (one solution at a time) vs. exhaustive (all solutions at once)
Computational complexity (the complexity class of the inference procedures; generally this is the worst-case complexity, however most algorithms can be optimized for certain cases; rule systems can be classified by their complexity classes)
Within Expressive Equivalence Classes ("clusters")
Between Expressive Equivalence Classes (imperfect or "lossy")
(Further Interoperability Discriminators should go here)