We think the way to handle this, and other issues, is to have special event facts, which can then be matched:
Otherwise()
OnWorkingMemoryEnter()
OnWorkingMemoryExit()
OnAgendaGroupEnter()
OnAgendaGroupExit()

OnAgenda* can take an AgendaGroup name as a field constraint. So how will this work? With Otherwise() we will assert this fact if after a fact is modified or asserted and no new activations are created. We will also extend the event model to support the other events, and again expose them by a specially asserted fact. OnWorkingMemoryEnter() will be asserted when a WorkingMemory is first created and Exist when the Agenda is empty and we are returning back to the main java process. OnAgenda* is for when an AgendaGroup gain and lose the focus. Hopefully this will solve a number of problems.

Mark

_______________________________________
From: Burr Sutter
Sent: 08 December 2006 03:11

A follow-up question…

What the heck is the DRL way of saying (ignore my shorthand)

When
x
Then
doSomething
When
y
Then
doSomethingElse

Otherwise
doExceptionHandling

I need this for a routing example.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to