accumulate function
by pamerida
Hi everyone,
I have this scenario:
I have assserted a few elements of the type "SegmentGroup8" into the working
memory, this SegmentGroup8 class have inside a list called private
List<ControlTotal> cnt;
What I need to achieve is to perform a "sum" of one of the fields called
c6066 inside the ControlTotal for all the SegmentGroup8 asserted into the
WM...
I would like to use the accumulate functions but I really dont know how, any
help would be appreciated, thanks in advance...
the classes code is the following...
public class SegmentGroup8
implements Serializable
{
private List<ControlTotal> cnt;
private List<MonetaryAmount> moa;
public List<ControlTotal> getCnt() {
return cnt;
}
public void setCnt(List<ControlTotal> cnt) {
this.cnt = cnt;
}
......
}
public class ControlTotal extends Segment
implements Serializable
{
private String c6069;
private String c6066;
........
public String getC6069() {
return c6069;
}
public void setC6069(String c6069) {
this.c6069 = c6069;
}
public String getC6066() {
return c6066;
}
public void setC6066(String c6066) {
this.c6066 = c6066;
}
.........
}
--
View this message in context: http://drools.46999.n3.nabble.com/accumulate-function-tp3353507p3353507.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
14 years, 5 months
rules for promotional offers
by Sandeep Bandela
Hi,
I am new to rules engine, after going through the examples shipped
(shopping.drl, petstore.drl)
I am trying to implement promotional discounting using drools 5.2.0 final,
stateful session. assume cart has all the items that customer wants to buy,
I am trying to bundle them together with the existing offers
rule "Buy X units of Product A and Get Y units of Product B Free"
dialect "java"
when
$itemsA : ArrayList( size >= 2) from collect( CartItem( getProductId()
== "A", !isProcessed()))
$itemsB : ArrayList( size >= 1) from collect( CartItem( getProductId()
== "B", !isProcessed()))
then
// current scenario buy 2*A and get 1*B
int x = 2;
int y = 1;
for(int i=0 ; i < x ; i++){
CartItem $ci = (CartItem) $itemsA.get(i);
// modify($ci){setProcessed(true) ... } dosent work
$ci.setProcessed(true);
$ci.setItemDiscount(0.0);
$ci.setBundleId(bundler.getId());
}
for(int i=0 ; i < y ; i++){
CartItem $ci = (CartItem) $itemsB.get(i);
$ci.setProcessed(true);
$ci.setItemDiscount($ci.getPrice());
$ci.setBundleId(bundler.getId());
}
// global counter to identify bundled items
bundler.increment();
end
the above rule calculates only for 1 set of offer i.e first 2*A & 1*B are
considered, rest in the cart are not bundled.
if customer buys 4*A + 2*B it dosent consider it. am I missing anything? is
this the right way to do it?
any feedback is appreciated.
--
Regards,
Sandeep Bandela.
14 years, 5 months
questions about Drools Fusion perfomance
by Murilo Lima
Hi,
I am planning to use Drools Fusion in a monitoring application, but I have
some performance and fault-tolerance issues.
The idea is to monitor if some measurements are within a parameter defined
on a baseline. The baselines themselves are calculated based on previous
measurements. For example, I want to monitor if a measurement is close to
the average of previous measurements at the same weekday.
My worry is that the volume of measurements is very high, and I need the
average of the measurements over a long period of time. Clearly, I see that
it would be better to use the average of the whole set of measurements
(instead of the average of a sliding window, or setting an expiration for
the events) and calculate the averages in an online fashion, so as not to
keep the measurements in memory. I want to know if Drools Fusion accumulate
functions work that way, or if I need to retract the events myself.
Another question is: if, for some reason, I have to stop the monitoring
application, will Drools Fusion automatically keep track of its internal
state? In the previous example, would I have to provide myself a way to save
the averages on disk, or Drools Fusion would take care of it? I didn't see
anything like that on the documentation.
Thanks for any help,
Murilo
--
View this message in context: http://drools.46999.n3.nabble.com/questions-about-Drools-Fusion-perfomanc...
Sent from the Drools: User forum mailing list archive at Nabble.com.
14 years, 5 months
Getting Exception while running rules continuously on the Event Streams.
by HariKishan
Please find attached the rule Code (.drl) below.
Frequently getting this below Exception while running rules.
Exception caught while executing action:
org.drools.reteoo.PropagationQueuingNode$PropagateAction@41c317
java.lang.NullPointerException
at org.drools.util.LeftTupleList.toArray(LeftTupleList.java:106)
at org.drools.util.LeftTupleList.toArray(LeftTupleList.java:11)
at org.drools.reteoo.CollectNode.assertObject(CollectNode.java:256)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObject
SinkAdapter.java:42)
at
org.drools.reteoo.RightInputAdapterNode.assertLeftTuple(RightInputAdapterNod
e.java:135)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(Sing
leLeftTupleSinkAdapter.java:117)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(Single
LeftTupleSinkAdapter.java:28)
at org.drools.reteoo.FromNode.evaluateAndPropagate(FromNode.java:156)
at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:104)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateAssertLeftTuple(C
ompositeLeftTupleSinkAdapter.java:145)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateAssertLeftTuple(Com
positeLeftTupleSinkAdapter.java:39)
at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:175)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObject
SinkAdapter.java:42)
at
org.drools.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQue
uingNode.java:326)
at
org.drools.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuing
Node.java:221)
at
org.drools.reteoo.PropagationQueuingNode$PropagateAction.execute(Propagation
QueuingNode.java:394)
at
org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorking
Memory.java:1486)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:158)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:122)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:80)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:28)
at org.mule.module.drools.Drools.assertEvent(Drools.java:165)
at org.mule.module.bpm.Rules.handleEvent(Rules.java:131)
at org.mule.module.bpm.RulesComponent.doInvoke(RulesComponent.java:84)
at
org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:1
20)
at
org.mule.component.AbstractComponent.access$000(AbstractComponent.java:56)
at
org.mule.component.AbstractComponent$1$1.process(AbstractComponent.java:234)
at
org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessa
geProcessorChain.java:88)
at
org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessa
geProcessorChain.java:89)
at
org.mule.processor.chain.InterceptingChainLifecycleWrapper.doProcess(Interce
ptingChainLifecycleWrapper.java:63)
at
org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessa
geProcessorChain.java:89)
at
org.mule.processor.chain.InterceptingChainLifecycleWrapper.process(Intercept
ingChainLifecycleWrapper.java:94)
at
org.mule.component.AbstractComponent.process(AbstractComponent.java:154)
at
org.mule.processor.AbstractInterceptingMessageProcessor.processNext(Abstract
InterceptingMessageProcessor.java:93)
at
org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInt
erceptor.java:55)
at
org.mule.processor.AsyncInterceptingMessageProcessor.processNextTimed(AsyncI
nterceptingMessageProcessor.java:118)
at
org.mule.processor.SedaStageInterceptingMessageProcessor$SedaStageWorker.doW
ork(SedaStageInterceptingMessageProcessor.java:197)
at
org.mule.processor.SedaStageInterceptingMessageProcessor$SedaStageWorker.doR
un(SedaStageInterceptingMessageProcessor.java:178)
at
org.mule.work.AbstractMuleEventWork.run(AbstractMuleEventWork.java:43)
at org.mule.work.WorkerContext.run(WorkerContext.java:309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
08)
at java.lang.Thread.run(Thread.java:619)
Thanks & Regards,
Hari Kishan T
14 years, 5 months
Exception when trying to find a field when debugging
by skasab2s
Hello,
I have an object with a timestamp field which I declared this way in my rule
file:
/declare VpAction
@role( event )
@timestamp ( myGregorianCalendar.getTimeInMillis())
end /
where myGregorianCalendar is from type java.util.GregorianCalendar.
Using the rule file in my application works fine (and the timestamp of the
events is recognized correctly, comparisons of events like 'before' and
'after' work too), but when I try setting a breakpoint within this rule
file, I get an exception (see below).
Nevertheless the breakpoint appears as 'set'. But when I debug my
application as a drools application, all breakpoints of my rule file are
skipped, so debugging is impossible. My other rule files don't have event
declarations and the exception doesn't appear there and the rules there are
debuggable.
Any ideas? Thanks in advance!
Here is the exception:
/!SUBENTRY 1 org.drools.eclipse 4 0 2011-09-20 22:27:47.251
!MESSAGE Cannot determine ruleInfo
L/RulesDepotConf/GarmischRulesConf/rules/ValidationEarLeavingActions.drl 69
!STACK 0
org.drools.RuntimeDroolsException: Field/method
'zeitStempel.getTimeInMillis()' not found for class 'e.ar.data.VpAction'
at
org.drools.base.ClassFieldAccessorFactory.getClassFieldReader(ClassFieldAccessorFactory.java:136)
at
org.drools.base.ClassFieldAccessorCache$CacheEntry.getReadAccessor(ClassFieldAccessorCache.java:169)
at
org.drools.base.ClassFieldAccessorCache.getReadAcessor(ClassFieldAccessorCache.java:102)
at
org.drools.base.ClassFieldAccessorStore.wire(ClassFieldAccessorStore.java:419)
at
org.drools.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:118)
at
org.drools.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:95)
at
org.drools.compiler.PackageBuilder.processTypeDeclarations(PackageBuilder.java:1553)
at org.drools.compiler.PackageBuilder.mergePackage(PackageBuilder.java:985)
at org.drools.compiler.PackageBuilder.newPackage(PackageBuilder.java:973)
at
org.drools.compiler.PackageBuilder.processTypeDeclarations(PackageBuilder.java:1439)
at org.drools.compiler.PackageBuilder.mergePackage(PackageBuilder.java:985)
at org.drools.compiler.PackageBuilder.newPackage(PackageBuilder.java:973)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:686)
at
org.drools.eclipse.DroolsEclipsePlugin.generateParsedResource(DroolsEclipsePlugin.java:439)
at
org.drools.eclipse.DroolsEclipsePlugin.generateParsedResource(DroolsEclipsePlugin.java:360)
at
org.drools.eclipse.DroolsEclipsePlugin.parseResource(DroolsEclipsePlugin.java:273)
at
org.drools.eclipse.debug.core.DroolsLineBreakpoint.setJavaBreakpointProperties(DroolsLineBreakpoint.java:90)
at
org.drools.eclipse.debug.core.DroolsDebugTarget.breakpointAdded(DroolsDebugTarget.java:91)
at
org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.run(BreakpointManager.java:920)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at
org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.notify(BreakpointManager.java:946)
at
org.eclipse.debug.internal.core.BreakpointManager.fireUpdate(BreakpointManager.java:860)
at
org.eclipse.debug.internal.core.BreakpointManager.addBreakpoints(BreakpointManager.java:579)
at
org.eclipse.debug.internal.core.BreakpointManager.addBreakpoints(BreakpointManager.java:549)
at
org.eclipse.debug.internal.core.BreakpointManager.addBreakpoint(BreakpointManager.java:542)
at
org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.register(JavaBreakpoint.java:194)
at
org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint$1.run(JavaLineBreakpoint.java:150)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.debug.core.model.Breakpoint.run(Breakpoint.java:335)
at
org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint.<init>(JavaLineBreakpoint.java:153)
at
org.drools.eclipse.debug.core.DroolsLineBreakpoint.<init>(DroolsLineBreakpoint.java:58)
at
org.drools.eclipse.editors.DroolsLineBreakpointAdapter.toggleLineBreakpoints(DroolsLineBreakpointAdapter.java:93)
at
org.eclipse.debug.ui.actions.ToggleBreakpointAction.run(ToggleBreakpointAction.java:106)
at
org.eclipse.ui.texteditor.AbstractTextEditor$14.triggerAction(AbstractTextEditor.java:2909)
at
org.eclipse.ui.texteditor.AbstractTextEditor$14.mouseDoubleClick(AbstractTextEditor.java:2934)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
!ENTRY org.eclipse.jdt.debug 4 125 2011-09-20 22:27:56.287
!MESSAGE Internal error logged from JDI Debug:
!STACK 0
org.drools.RuntimeDroolsException: Field/method
'zeitStempel.getTimeInMillis()' not found for class 'e.ar.data.VpAction'
at
org.drools.base.ClassFieldAccessorFactory.getClassFieldReader(ClassFieldAccessorFactory.java:136)
at
org.drools.base.ClassFieldAccessorCache$CacheEntry.getReadAccessor(ClassFieldAccessorCache.java:169)
at
org.drools.base.ClassFieldAccessorCache.getReadAcessor(ClassFieldAccessorCache.java:102)
at
org.drools.base.ClassFieldAccessorStore.wire(ClassFieldAccessorStore.java:419)
at
org.drools.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:118)
at
org.drools.base.ClassFieldAccessorStore.getReader(ClassFieldAccessorStore.java:95)
at
org.drools.compiler.PackageBuilder.processTypeDeclarations(PackageBuilder.java:1553)
at org.drools.compiler.PackageBuilder.mergePackage(PackageBuilder.java:985)
at org.drools.compiler.PackageBuilder.newPackage(PackageBuilder.java:973)
at
org.drools.compiler.PackageBuilder.processTypeDeclarations(PackageBuilder.java:1439)
at org.drools.compiler.PackageBuilder.mergePackage(PackageBuilder.java:985)
at org.drools.compiler.PackageBuilder.newPackage(PackageBuilder.java:973)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:686)
at
org.drools.eclipse.DroolsEclipsePlugin.generateParsedResource(DroolsEclipsePlugin.java:439)
at
org.drools.eclipse.DroolsEclipsePlugin.generateParsedResource(DroolsEclipsePlugin.java:360)
at
org.drools.eclipse.DroolsEclipsePlugin.parseResource(DroolsEclipsePlugin.java:273)
at
org.drools.eclipse.debug.core.DroolsLineBreakpoint.setJavaBreakpointProperties(DroolsLineBreakpoint.java:90)
at
org.drools.eclipse.debug.core.DroolsDebugTarget.breakpointRemoved(DroolsDebugTarget.java:481)
at
org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.run(BreakpointManager.java:923)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at
org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.notify(BreakpointManager.java:946)
at
org.eclipse.debug.internal.core.BreakpointManager.fireUpdate(BreakpointManager.java:860)
at
org.eclipse.debug.internal.core.BreakpointManager.removeBreakpoints(BreakpointManager.java:471)
at
org.eclipse.debug.internal.core.BreakpointManager.removeBreakpoint(BreakpointManager.java:450)
at org.eclipse.debug.core.model.Breakpoint.delete(Breakpoint.java:122)
at
org.drools.eclipse.editors.DroolsLineBreakpointAdapter.toggleLineBreakpoints(DroolsLineBreakpointAdapter.java:86)
at
org.eclipse.debug.ui.actions.ToggleBreakpointAction.run(ToggleBreakpointAction.java:106)
at
org.eclipse.ui.texteditor.AbstractTextEditor$14.triggerAction(AbstractTextEditor.java:2909)
at
org.eclipse.ui.texteditor.AbstractTextEditor$14.mouseDoubleClick(AbstractTextEditor.java:2934)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:189)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3540)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3161)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)/
--
View this message in context: http://drools.46999.n3.nabble.com/Exception-when-trying-to-find-a-field-w...
Sent from the Drools: User forum mailing list archive at Nabble.com.
14 years, 5 months
Drools & jBPM Boot Camp (Healthcare Focus) : San Francisco Oct 2011
by Mark Proctor
We are still looking for more healthcare speakers, particularly someone
who can do a talk on ontologies, see here
<http://blog.athico.com/2011/09/rules-fest-last-minute-medical-meetup.html>for
previous announcement. We have a preliminary program now for the two day
event, the wiki page contains the live information that is updated
regularly. Here is a copy below:
http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...
-----
* Logistics
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
* Agenda
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
+ Mon - Wed (Rules Fest)
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
+ Thu (Drools & jBPM, Free)
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
+ Fri (Drools & jBPM & Healthcare, Free)
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
* Speaker Bios
<http://community.jboss.org/wiki/DroolsJBPMBootCampHealthcareFocusSanFranc...>
Hyatt Regency San Francisco.jpg
<http://community.jboss.org/servlet/JiveServlet/showImage/102-17205-7-1701...>
Logistics
*Where*
* Hyatt Regency, Burlingame, San Francisco, CA
*When*
* Rules Fest - October 2011 - Mon 24th to Wed 26th
* Drools & jBPM Boot Camp - October 2011 - Thu 27th to Fri 28th
o Thu general tech for Drools & jBPM rules, workflow, event
processing, ontologies
o Fri Healthcare focus
*What*
* Rules Fest
o General reasoning technologies, rules, workflow, agents,
ontologies, uncertaintity.
* Drools & jBPM Boot Camp
o Thu general tech for Drools & jBPM rules, workflow, event
processing, ontologies
o Fri Healthcare focus
*Time
*
* Monday to Friday 9am to 6pm
*Price*
* Rules Fest (Mon - Wed) see here -
<http://rulesfest.org/html/registration.html>http://rulesfest.org/html/registration.html
* Drools & jBPM Boot camps (Thu - Fri) *FREE*
*Accomodation*
* Discounted Room block available, see here -
<http://rulesfest.org/html/registration.html>http://rulesfest.org/html/registration.html
*Contact Details*
* Rules Fest - Jason Morris - info at rulesfest d0t org
* Drools & jBPM (general) - Prakash Aradhya - paradhya at redhat d0t com
* Drools & jBPM (technical) - Mark Proctor - mproctor at codehaus d0t com
Previous Boot Camps
Drools Boot Camp : San Diego April 2010
<http://community.jboss.org/docs/DOC-14964>
Drools Boot Camp : San Francisco June 2009
<http://community.jboss.org/docs/DOC-13468>
Agenda
*Mon - Wed (Rules Fest)*
General talks covering a variety of topics related to reasoning systems,
rules, workflow, agents, ontologies, uncertaintity.
Paul Haley will give the key note (not to be missed) "Paul Haley to
Keynote Rules Fest"
<http://blog.athico.com/2011/07/paul-haley-to-keynote-rules-fest.html>.
Rest of agenda see here http://rulesfest.org/html/agenda.html <http:///>
*Thu (Drools & jBPM, Free)
*
General Drools & jBPM day with presenters from Red Hat and core
community members. This day is suitable for all and will provide an
introduction and overview to Drools and jBPM and ow they are used.
*Name
* *Company
* *Subject* *Presentation Title*
Mark Proctor Red Hat Drools Expert
(rules) Introduction to what a Rule Engine is and the capabilities of
Drools Expert. This will cover both the Drools technical language and
Decision Table theory.
Tiho Surdilovic Red Hat Drools Fusion (cep) Complex Event Processing
facilitates event correlation and temporal comparison. Fusion extends
Drools to provide CEP capabilities. Come learn what CEP, what type of
problems it helps solve and how it's done with Drools.
Mauricio
Salitno
Plugtree jBPM
(workflow) Introduction to what BPMN2 is, why it matters and how jBPM
works.
Ray Ploski Red Hat
Guvnor
(web tooling/brms)
Guvnor provides server side knowledge mangement, authoring and
deployment capalities. This talk introduces these concepts and provides
live demos of everything coming together.
Davide Sottara US Navy Healthcare
Drools Expert
(Semantics and Ontologies)
What are semantic ontologies and what research is underway with Drools
to help. Will also introduce the base founation of Traits, which
provides dynamic and type safe duck typing.
Mark Proctor Red Hat
Drools Expert
(rules)
Learn how to write Adventure games with Drools.
*Fri **(Drools & jBPM & Healthcare, Free)*
Healthcare focus, especially clinical. This day will be predominantly
industry lead with professionals doing most of the talks. None
healthcare people are welcome to join, but be aware that this day is
specialised healthcare problems their problems.
Titles and abstracts are still being fleshed out and subject to change,
check back regularly for changes.
*Name
* *Company
* *Presentation Title and Abstract
*
Captain Emory Fry US Navy Healthcare *Delivering Real-Time Clinical
Decision Support*
Diego Naya OSDE *Improving Healthcare customer service with Drools and
jBPM5*
Mauricio
Salitno
Plugtree *Emergency Services in action.*
Esteban Aliverti Plugtree *Efficient Staff Rostering with Drools Planner*
Nathan Bell Pharmacy OneSource
*Speed Saves Lives: Leveraging a massively parallel expert system for
patient surveillance*
Pharmacy OneSource is a SaaS provider of applications for hospital
pharmacy and infection prevention professionals. This case study will
discuss the steps taken to develop a next-generation patient
surveillance platform that allows clinicians to accurately detect risk
factors, and perform interventions. The platform leverages the
GigaSpaces implementation of Tuple-space and the Drools rule engine to
create a massively parallel expert system. This architecture allows for
customizable handling of millions of HL7 messages per day, evaluation of
thousands of clinician created business rules, and reasoning over
hundreds of thousands of patient data facts to provide near-real-time
surveillance.
Dave Walsh eServices Group
*Medicare and Medicaid look to rules for the future of healthcare*
The Center for Medicare and Medicaid Services (CMS), an agency of the
Federal government, has aggressive plans to modernize healthcare
administrative systems and Electronic Healthcare Records (EHR).
The use of Rules and Business Process Management are a focal point for
the new systems. This session will describe how Medicare and Medicaid
work and how the government (Federal and State) is looking for Rules and
BPM to help change both the administrative and clinical environments.
This session will look at the Medicaid Information Technology
Architecture (MITA) and how Rules and BPM can augment this Service
Oriented Architecture. We will discuss how to get involved in some of
the many projects that are currently underway
Speaker Bios
Captain Emory Fry
Nathan Bell
Dave Walsh
Dave Walsh is CEO of eServices Group. eServices Group is a software
development firm focused on supplying software products to meet the
needs of Medicaid and Medicare for over 18 years. Mr. Walsh also chairs
the MITA Technical Architecture Committee (TAC). The TAC is an industry
collaborative that is focused on supporting the Federal government and
States in the definition of the next generation Medicaid systems based
on SOA, BPM and rules.
Diego Naya
Esteban Aliverti
Mauricio Salatino
Davide Sottara
14 years, 5 months
Identifiers on LHS
by Isaac Pereira
Hi,
Is there a way to get, on the RHS, a mapping between identifiers, declared
on the LHS, and its respectives objects?
I would appreciate any help.
--
Isaac Pereira
14 years, 5 months
Multiple variables problem..
by skasab2s
Hello,
I have a rule file with multiple boolean variables. Currently, I declare a
new wrapper object for every single variable
/declare Object1
value : boolean
end
declare Object2
value : boolean
end
/
The approach works fine, but when I try wrapping the two variables in one
object a not desired effect happens: see code:
/declare ObjectOneTwo
value1 : boolean
value2 : boolean
end
rule "first rule"
when
ObjectOneTwo (value1 == false)
then
set ObjectOneTwo.value1 to 'true'
end
rule "second rule"
when
ObjectOneTwo (value2 == false)
then
set ObjectOneTwo.value2 to 'true' /
end
In the second rule, we modify the same object ObjectOneTwo again which
causes "fist rule" to fire again although this is not desired. Do you know
how to avoid this effect and still have one wrapper object for all
variables?
Thanks in advance!
Svetlomir.
--
View this message in context: http://drools.46999.n3.nabble.com/Multiple-variables-problem-tp3349281p33...
Sent from the Drools: User forum mailing list archive at Nabble.com.
14 years, 5 months