[RIF] Current list of requirements and design principles for RIF

Hi,

Find below the current list of requirements together with some design 
principles for RIF. There are no links to CSFs and goals, since these 
can be added after Frank refines the CSFs and the group takes decisions 
on the CSF level. This work is a refinement of previous requirements' 
list: the discussion on soundness and semantics and the DC diagram 
proposed by Frank have been taken into account. There are also a couple 
of open issues, but these are stated at the end of the list.

I hope this is a good starting point for discussion during today's telecon.

Regards,
Paula


-------------------------------------------------------------------------------------------------------------
DRAFT -- RIF REQUIREMENTS AND DESIGN PRINCIPLES

List of design principles for RIF
---------------------------------

1. Syntax

 * An human legible syntax
 * A syntax for exchange (e.g. XML or RDF)

2. Abstractions for reusability and maintainability
 
 * Support for modules and other structuring/abstraction mechanisms
   (e.g. capability to bundle actions that are complex or used
   frequently into procedures -- in case of reactive or ECA rules)

3. Language coherency

 * Coherency refers to a couple of sub-principles to be followed so as
   to obtain a uniform and easy to use RIF. Rules are made of
   components such as the body and head of deductive rules and the
   event part, condition part and action part of ECA rules; to gain
   coherency, these rule components should follow same
   paradigms. Moreover, some components (such as the body of deductive
   rules and the condition part of ECA rules) have same design goals
   and thus they shouldn't be specified by using different RIF
   component languages.



List of requirements on RIF
---------------------------

1. RIF should support different types of rules

 * 1.1 RIF should support deductive rules
 * 1.2 RIF should support normative rules
 * 1.3 RIF should support reactive (ECA) rules

2. RIF should provide access to, representation of, and arithmetical
   operations on (shortly support) different kinds of data sources

 * 2.1 Support for XML data
 * 2.2 Support for RDF data
  *  Desideratum 1: RIF should accept RDF triples as data
  *  Desideratum 2: RIF should express RDF deduction rules
 * 2.3 Support for OWL data
  * Desideratum 1: RIF should accept OWL KBs as data
 * 2.4 Combined access to different kinds of data in same RIF rule

 * 2.5 Basic numeric computations, aggregate functions, procedural 
attachments
 * 2.6 (Optional) type system

3. Formal semantics

 * 3.1 Interchange of rules and rule sets originally specified after
     different semantics is needed. Therefore, it should be possible
     to have RIF rules and rule sets with different semantics.

 * 3.2 Such an interchange is only possible if the original semantics
     of the rules and rule sets to be interchanged is specified. Thus,
     there is a need for a markup of semantics.

4. Preferences and priorities

 * 4.1 Priorities in the manner of Courteous Logic Programs
 * 4.2 Preferences (such as rule order, rete vs. sequential execution)

6. Open issues
 
 * Allen's last proposal
   (http://lists.w3.org/Archives/Public/public-rif-wg/2006May/0209.html)
   based on the notion of rule language families

 * extensibility not explicitly covered here
 * conformance/compliance issues
 * Horn Logic, FOL, negation
 * uncertain and probabilistic information
 * meta rules for meta reasoning

-----------------------------------------------------------------------------------------------------------------

Received on Tuesday, 23 May 2006 14:37:28 UTC