RE: [RIF] [UCR]: What is the RIF (revisited)

Peter, 

Let's grant that the RIF is a rule language and that it is executABLE.

There are still two questions that need to be considered:

1) Does a RIF-representation ever need to be executED in order for the
RIF to do any of its jobs, and
2) If so, does the execution required for the RIF to do its job amount
to the same thing as a rule language executing? 

Only if both of these questions are answered in the affirmitive would
making the RIF an executable rule-language be an explicit design goal.

For example, a UML representation of an application or system has a
formal syntax and semantics, and might very well be exectuable, but it
doesn't need to be executed in order for it to do its job, which is
fundamentally to convey information about the application. 

Right now I see the RIF as having two main "jobs": interchange and
interoperability.  Interchange  involves 1) translating from some rule
language into the RIF, and 2)taking the resulting RIF-representation
and translating that into another rule language.  I don't see how
executing a set of RIF-rules would necessarily be involved in that
process.  Basically this is a compilation problem. 

On the other hand, I can see that having an interpretable RIF rule
language might enhance interoperability.  A set of rules might be
written in one language and then translated into the RIF.  That
RIF-representation could be used by a RIF-interpreter running on a
server to answer queries coming in from various client processes
running different rule-systems.  The client queries would have to be
translated into a RIF-format and the answers would have to be
translated back into the various rule languages of the client systems.
If that scenario  makes sense in practice (as a use-case) then I would
say that making the RIF an executable rule-language should be a design
goal.

It seems to make sense on the face of it, but then again, so have other
ideas...

Allen

-----Original Message-----
From: Peter F. Patel-Schneider [mailto:pfps@inf.unibz.it] 
Sent: Tuesday, February 07, 2006 11:59 AM
To: Ginsberg, Allen
Cc: public-rif-wg@w3.org
Subject: Re: [RIF] [UCR]: What is the RIF (revisited)

From: "Ginsberg, Allen" <AGINSBERG@imc.mitre.org>
Subject: [RIF] [UCR]: What is the RIF (revisited)
Date: Tue, 7 Feb 2006 10:55:41 -0500

> Dear RIF-WGers,

[...]

> Here are some questions to think about:
> 
> 1) If the RIF is mainly (or just) a rule-language, how does it enable
> interchange, anymore than some other rule-language?
> 
> 2) Does the RIF need to be or include one or more rule-languages in
> order to be a RIF?
> 
> 3) If the RIF has the ability to specify or describe rules and
> derivation procedures belonging to one or more  rule-languages, does
> that mean that the RIF must itself "be" one or more fully-fledged
> rule-languages?
> 
> 
> Allen

All this fundamentally depends on what you think a rule language is.

My view is that a rule language is no different from any other formal
representation language.  (An opposing view would be that a rule
language must
have as well a fully-worked-out procedural meaning.)  

Under my view, how could a RIF *not* be a rule language or family of
rule
languages?  The RIF is going to have a formal syntax - otherwise how
can it be
used to interchange rules (because there will be no way to parse the
RIF)?  The
RIF is also going to have a formal semantics - otherwise how can it be
used to
interchange rules (because there will be no way to determine what a
particular
bit of the RIF means)?  

Now it may be the case that there is no single formal semantics for all
the
constructs of the RIF.  This would be a shame in my view, but I suppose
that
it may turn out that this is the best that can be done in Phase 2.

Peter F. Patel-Schneider

Received on Wednesday, 8 February 2006 01:50:26 UTC