I *would* have added something on dynamic salience when I went over the
Expert manual, in 2008 (?) - if I'd only known it. Blogging is fine - but it
just isn't Documentation, with a capital 'D'.
This is also a nice case in point why I'm reluctant to invest work in
maintaining Drools documentation: From where the heck would I get to know
what's missing or obsolete or wrong? In some areas, I have gathered
sufficient experience, but there are vast areas where I'm anything between
spottily witted to downright ignorant. Also, there's some furious hacking
going on all the time (I presume), and how would one rein that it to get to
know what's happening?
Anyway, right now I'm collecting a loose set of How-tos, as a by-product of
current work, and for areas where I deem it useful. See
http://members.inode.at/w.laun/ and scroll down to "Rule Based Programming"
/ "Drools" / "Selected Topics".
-W
On 27 August 2010 02:21, Mark Proctor <mproctor(a)codehaus.org> wrote:
On 27/08/2010 00:05, Michael Neale wrote:
Hahaha - yes - that is what I was thinking.
Dyanmic salience was added some time back - but its one of those "did it
and forgot about it" things.
Also - historically salience has been "abused" more than "used" - so
perhaps there is less excitement to talk about what you can do with it.
But the case wolfgang mentioned is a good one - if you know you need it
you can probably safely use it.
http://blog.athico.com/2007/05/dynamic-salience-expressions.html
On Thu, Aug 26, 2010 at 11:21 PM, Edson Tirelli <tirelli(a)post.com> wrote:
> Wolfgang,
>
> Not sure I understand what you mean, but Drools supports dynamic
> salience:
>
> rule "fire in rank order 1,2,..."
> salience( -$rank )
> when
> Element( $rank : rank,... )
> ...
> then
> ...
> end
>
> Edson
>
>
> 2010/8/26 Wolfgang Laun <wolfgang.laun(a)gmail.com>
>
> Just FYI, but who knows ;-)
>>
>> Our proprietary vintage RBS has a feature is (admittedly) rarely used
>> but could come in handy, every now and then.
>>
>> Given this class
>>
>> class Element {
>> int rank; // rank > 0
>> }
>>
>> and to fire a rule in ascending rank order, you can write (using
>> modified Drools syntax)
>>
>> rule "fire in rank order 1,2,..."
>> when
>> Element( $rank : rank,... )
>> // ...
>> salience -$rank ### <=
>> then
>> // ...
>> end
>>
>> The dynamically set salience does all the work. (Of course, you can
>> achieve the same order
>> in Drools easily enough.)
>>
>> This is possible since salience is a value that must be carried over
>> into the activation.
>> There is at least one other rule attribute that shares this property,
>> but I'm not sure
>> whether anything useful can be done with dynamic agenda groups.
>>
>> Cheers
>> -W
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss by Red Hat @
www.jboss.com
>
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
--
Michael D Neale
home:
www.michaelneale.net
blog:
michaelneale.blogspot.com
_______________________________________________
rules-dev mailing
listrules-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev