[rules-dev] Decision table - Otherwise

Mark Proctor mproctor at codehaus.org
Thu Mar 31 18:32:46 EDT 2011


On 31/03/2011 22:54, Greg Barton wrote:
> Oh, it's been dragging on longer than that.  I used it in OPSJ in 1999. :P
>
Edson's new parser is almost finished. We just found we had hit a brick 
will with pure ANTLR, it was defying us at every turn. Which caused our 
language innovation to crawl to a halt. It's been very painful, but once 
it's done, we'll be back on the language innovation train again :)

Mark
>
> --- On *Thu, 3/31/11, Michael Neale /<michael.neale at gmail.com>/* wrote:
>
>
>     From: Michael Neale <michael.neale at gmail.com>
>     Subject: Re: [rules-dev] Decision table - Otherwise
>     To: "Rules Dev List" <rules-dev at lists.jboss.org>
>     Date: Thursday, March 31, 2011, 4:20 PM
>
>     Otherwise has been dragging on since 2006. There are many
>     skeletons in that cave.
>
>     I will believe it when I see it !
>
>     On Fri, Apr 1, 2011 at 7:25 AM, Michael Anstis
>     <michael.anstis at gmail.com
>     </mc/compose?to=michael.anstis at gmail.com>> wrote:
>
>         I bet Edson can't wait to refactor the parser for that ;)
>
>
>         On 31 March 2011 21:11, Mark Proctor <mproctor at codehaus.org
>         </mc/compose?to=mproctor at codehaus.org>> wrote:
>
>             on a related note I do plan to add OTHERWISE support at a
>             DRL level, just no time to do it right now. Once it's
>             supported at a DRL level, you won't need to as much work
>             on figuring out the inverse options etc.
>
>             Mark
>
>             On 31/03/2011 20:25, Michael Anstis wrote:
>>             Hi,
>>
>>             I'm adding support for "otherwise" to (for the time
>>             being) the guided decision table in Guvnor.
>>
>>             The idea being if you set a cell to represent "otherwise"
>>             the generated rule is the opposite of the accumulation of
>>             the other cells; perhaps best explained with an example:-
>>
>>             Person( name == )
>>             Mark
>>             Kris
>>             Geoffrey
>>             <otherwise>
>>
>>             This would generate:-
>>
>>             Person(name not in ("Mark", "Kris", "Geoffrey")
>>
>>             Equals is the simple example, this is my thoughts for the
>>             other operators we might like to support:-
>>
>>                 * != becomes "in (<list of the other cells' values)"
>>                 * < becomes ">= the maximum value of the other cells'
>>                   values
>>
>>
>>             For example:-
>>
>>             Person ( age < )
>>             10
>>             20
>>             30
>>             <otherwise>
>>
>>             Person ( age >= 30 )
>>
>>                 * <= becomes "> the maximum value of the other cells'
>>                   values
>>                 * > becomes "<= the minimum value of the other cells'
>>                   values
>>                 * >= becomes "< the minimum value of the other cells'
>>                   values
>>                 * "in" becomes "not in (<a list of all values
>>                   contained in all the other cells' lists of values>)"
>>
>>             For example:-
>>
>>             Person ( name in )
>>             Jim, Jack
>>             Lisa, Jane, Paul
>>             <otherwise>
>>
>>             Person ( name not in ("Jim", "Jack", "Lisa", "Jane",
>>             "Paul" ) )
>>
>>                 * I'm not sure there is a simple solution for
>>                   "matches" and "soundslike" but welcome advice,
>>                   although a possibility might be to create a
>>                   compound field constraint:-
>>
>>             Person ( name soundslike )
>>             Fred
>>             Phil
>>
>>             not Person ( name soundslike "Fred" || soundslike "Phil" )
>>
>>
>>             Would this be considered the most suitable approach?
>>
>>             Inputs and thoughts welcome.
>>
>>             Thanks,
>>
>>             Mike
>>
>>
>>             _______________________________________________
>>             rules-dev mailing list
>>             rules-dev at lists.jboss.org  </mc/compose?to=rules-dev at lists.jboss.org>
>>             https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>             _______________________________________________
>             rules-dev mailing list
>             rules-dev at lists.jboss.org
>             </mc/compose?to=rules-dev at lists.jboss.org>
>             https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
>         _______________________________________________
>         rules-dev mailing list
>         rules-dev at lists.jboss.org
>         </mc/compose?to=rules-dev at lists.jboss.org>
>         https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
>
>     -- 
>     Michael D Neale
>     home: www.michaelneale.net <http://www.michaelneale.net>
>     blog: michaelneale.blogspot.com <http://michaelneale.blogspot.com>
>
>     -----Inline Attachment Follows-----
>
>     _______________________________________________
>     rules-dev mailing list
>     rules-dev at lists.jboss.org </mc/compose?to=rules-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20110331/0d402b2b/attachment.html 


More information about the rules-dev mailing list