Using declarative rules for MISMO ?

"Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca> writes:
> Hi Mark,
> 
> Thanks for your initiative.
> 
> Many of us have been traveling around F2F6 (for too long :-).
> E.g., I'm writing this from a Vienna Internet Cafe.

:-)  (I made it home yesterday.  Played with the kids, mowed the lawn,
etc, etc.  One of my daughters guessed, on the first try, that I brought
her an Innsbruck snow-globe; alas, it broke in my luggage!)

> Also, maybe some context was missing.
> 
> Let me thus give the path to a complete MISMO example,
> and disucss it, below:
> 
> http://lists.w3.org/Archives/Public/public-rif-wg/2007Mar/0096.html
> 
> MISMO_BREW_POC.zip
> MISMO BREW POC
> example1.drl.txt
> 
> 
> rule "Credit Score Adjustments 1"
>   date-effective "25-OCT-2001 17:26:14"
>   when
>     cs : CreditSCore( programGroup == "ACMEPowerBuyerGroup",
>                       lienType     == "FIRST_TD; SECOND_TD",
>                       devision     == "Wholesale",
>                       creditScore  >= 580 & <= 679 )          
>   then
>     cs( score = cs.score -0.3 );
> end
...
> However, we have not yet decided on the semantics of setters
> acting as reassignments, as in score = cs.score -0.3.
...

I wonder if the MISMO community would be better served by declarative
rules.  I don't know much about their deployment scenarios.  These kind
of "adjustment" and "score" rules seem pretty easy to translate into a
declarative form.  Then this would fit into RIF Core.

If there is an open set of possible adjustments, then I think one needs
a world-closing aggregator like Prolog's "findall" (which I don't expect
in Core).  If the rules are all known in advance of some processing
point, however, then I think it's easy enough to chain them together
into a purely declarative structure.  

   -- Sandro

Received on Sunday, 10 June 2007 19:38:35 UTC