[rules-dev] Bugs/Problems with 3.1.0M1
Mark Proctor
mproctor at codehaus.org
Mon May 14 08:59:32 EDT 2007
WorkingMemoryFileLogger is still something we need to update. You get
access to the results with StatelessSessionResults, you don't get access
to the FactHandles as they are meaningless in a stateless session, you
can't use them anyway. We may add an internal method to access the
working memory, i.e. accessible by casting, but I don't really want to
have a public method for this as your average user will just abuse it.
We use to have user pluggeable conflict resolution strategies, but it
got removed during some big refactoring, i do intend to add it in before
4.0 final. If people build useful conflict resolution strategies, we
will include them - but please do try and base them on existing
literature if you can, especially for the naming of the strategies.
Mark
Arjun Dhar wrote:
> Mark Proctor <mproctor <at> codehaus.org> writes:
>
>
>> btw SyncrhonisedWorkingMemory used the same interface as WorkingMemory.
>> StatefulSession just extends WorkingMemory, so the API change for you
>> should be minimal.
>> Mark
>> Mark Proctor wrote:
>>
>
> Q) ok! ..So how do I use "WorkingMemoryFileLogger" with a StatelessSession and
> how do I obtain Fact Handles to the facts I asserted?
>
> Feature Requested:
> ------------------
> Q) also, I wish to override the conflict resolution strategy to only have the
> most significant rule execute and not bother about arranging the rest. Winner
> takes all strategy. In 4 are you planning on anything for this? Ok, I think
> this topic deserves a little more respect:
>
> When we create an agenda based on priorities for the rules suited to fire; two
> things need to be done
> 1. Intelligence to figure out in certain cases what is priority.
> Example:
> Rain = True <-- More generic Rule
> Party = False
>
> Rain = True <-- More specific rule
> Umbrella = True
> Party = True
>
> ...i've observed that in such scenarios, the rule engine can be intelligent
> enoug to figure out that a more specific case exists because it is more apt for
> that situation. Ofcourse GIGO, if the analyst is trying to confuse an engine,
> thats illogical in the first place. But logic holds here.
>
> 2. When priorities are assigned, the Rule with the highest priority executes
> firest. But that assumption is incorrect as there can be 3 possibilites:
> 2.1. Only execute the most important rule (Short Curcuit)
> 2.2. Most significant rule, fires first (Like we have when I last checked)
> 2.3. Most significant rule should actually execute last, because we want it to
> prevail over the results carried out by others.
> ..While 2.3 can achieved in a less sophisticated manner by reversing the
> priorities 2.1. ... there is no ready made way to achieve 2.1.
>
> If there is, please let me know. If not, and i build it would you find
> acceptance in yr next release?
>
> thanks,
> Arjun
>
>
> _______________________________________________
> 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/20070514/385643ca/attachment.html
More information about the rules-dev
mailing list