[UCR] Re: Analyzing Use Cases and Requirements (or What is the RIF?)

Christian and David, Thanks for your comments.  Christian voiced some 
puzzlement over what I said,
so I am responding to him.

Christian de Sainte Marie wrote: Re: Analyzing Use Cases and 
Requirements (or What is the RIF?)

> >
> > [...]
> >
> > The main issue that needs to be addressed is whether the WG endorses
> > the view of the RIF specification as incorporating metalinguistic
> > features and interchange-enabling features in addition to rule-language
> > features.
>
> At the very least, it should be the reverse! Whether the WG endorses the
> view of the RIF specification as incorporating rule-language features in
> addition to interchange-enabling features might indeed be an issue. But
> the charter is very clear about the RIF being about enabling
> interchange: even the name carefully avoids the word "language" to
> stress the focus on the interchange-enabling features!
>
Christian, I think am basically in agreement with you, but I am not sure 
that other members of the WG see these things in the same way.  It is 
entirely possible that some confusion is due to the lack of precision in 
the way some key words are used.  For example, the wording in the 
working group charter seems to imply that a "format" and a "language" 
are the same thing (see the quotes from the charter in my original 
message).  Also the charter does say that the WG is "chartered to 
produce a core rule language..." (again see the aforementioned quotes).  

> >  Is the RIF "just" a rule language, albeit one that
> > provides a well-reasoned standard, or is
> > the RIF more than that?  And, if so, what is the "more?"
> >
> > [...]
> >
> > [...] So at least some of the "more" that could be part of the
> > overall RIF specification is whatever features would be necessary to
> > enable (some degree of) standard-based mechanized rule translation
> > either between non-RIF languages and RIF, or between different RIF
> > dialects
> >
> > Looking over the use cases that have been submitted, it seems that a
> > fair number imply a view of the RIF specification as involving
> > something "more" than a rule language.  Not all of these use cases are
> > stated explicitly in terms of the issue of "translate and transfer,"
> > but many do talk about properties of rules that would be important to
> > take into account in attempting to share rules.
>
> I am not sure how to understand "non-RIF languages". If you mean
> "existing or future rule languages" other than the RIF, then the "more"
> is actually the RIF: a major deliverable is indeed "A W3C Recommendation
> providing technical specifications of the interchange format, suitable
> for implementers of rule engines and rule language translation
> software". "Rule translation" being between the rule languages
> implemented by the "rule engines" and the RIF, to enable rule
> interchange between rule engines using different rule languages
> (including ones with the same of similar semantics, btw, as a major use
> case).
>
> And, anyway, I would rather say that the RIF is "less" than a rule
> language, if anything (actually, I would just say that it is something
> different, hence my question at the kick-off whether we all agreed that
> the WG was about specifying a standard rule interchange format and not a
> satndard rule language for the Web [1]).
>

 Even if the RIF specification does not include the specification of a 
"rule language" per se, surely it must include a meta-level 
specification of admissible "object level" rule languages.  For 
example,  one rule language might define rules as having the top-level  
syntax  "<head>  :- <body>"  while another might define it in reverse 
using a differnent symbol for the "if-then", e.g., "<body> -> <head>."  
I think what you are saying (at least in part) is that the RIF 
specification will define the notion of a "rule" in such a way that both 
of these variants, and others, are admissible as rules in the RIF, but 
that the RIF will not endorse either one of these variants as the 
standard syntax.

However, if one takes the position that the RIF specification does 
include, among other things, the specification of a standard 
object-level rule language, then that specification presumably would 
embrace  one or the other of the aforementioned variants as the 
"standard" and the other one would be non-standard. So taking that point 
of view, what I meant by the phrase "non-RIF languages" should be 
clear.  If the RIF specification includes a rule language, then rules 
written in that language would be written in the "RIF rule language."  
Rules written in, say, CLIPS, might not conform to the standard and so 
such rules would be written in a  "non-RIF language."

To summarize this discussion: with regard to the question of a rule 
language standard, there are two interpretations of the RIF: 1) the RIF 
defines an actual object-level rule language or 2) the RIF defines a 
meta-level specification that in turn implicitly determines a set of 
acceptable object level rule languages.   On interpretation (1) it makes 
sense to speak of translating rules written in a "non-RIF language" into 
the RIF; on interpretation (2), it might be better to speak of  
"parsing" a rule written in an object-level rule language as a valid RIF 
rule.  In either case, there needs to be a determination of what 
features are included in the object-level rule language(s).   Maybe that 
should not be a focus of the work of this group, at least in phase 1, 
but one cannot deny that many of the submitted use cases do intend to 
contribute to that determination.

I hope this helps to clear things up a bit. At any rate, I have moved on 
to considering what the submitted use cases have in common and  have 
come up with what I think are some  good categories.  David and I will 
be talking about this soon and I hope we can present something of 
interest at the next conference call or shortly thereafter. 

Allen

Received on Monday, 9 January 2006 12:18:00 UTC