RuleML 2011 @ BRF Paper Deadline June 21st
by Adrian Paschke
CALL FOR PAPERS
RuleML2011 at BRF
5th International Symposium on Linked Rules: Research-Based,
Industry-Focused
Westin Diplomat, Ft. Lauderdale, Florida, 3-5 November 2011
http://2011.ruleml.org/america
FIRM Extended DEADLINE for paper submission: June 21
Following many requests for an extension of the RuleML at BRF deadline, the
Program committee has decided that 21st June 2011, will be the latest date
on which full papers can be submitted: Note that this deadline cannot be
further extended, since the PC needs to have the time for a good review
process.
Prior submission of abstracts is no longer required.
About RuleML 2011 at BRF
---------------------
In 2011, two installments of the RuleML Symposium will take place. The first
one will be held in conjunction with IJCAI 2011 in Barcelona, Spain, in
July.
The second one will be co-located with the Business Rule Forum to be held in
early November in Ft. Lauderdale, Florida, USA. The second instalment will
include the RuleML Challenge Award which, this year, is dedicated to Rules
and Ontologies.
Objectives
----------
RuleML-2011 at BRF is a research-based, industry-focused symposium:
its main goal is to build a bridge between academia and industry in
the field of rules and semantic technology, and so to stimulate
the cooperation and interoperability between business and research,
by bringing together rule system providers,
participants in rule standardization efforts, open source communities,
practitioners, and researchers. The concept of the symposium has also
advanced continuously in the face of extremely rapid progress in
practical rule and event processing technologies. As a result,
RuleML-2011 will feature hands-on demonstrations and challenges
alongside a wide range of thematic tracks. It will thus be an exciting
venue to exchange new ideas and share experiences
on all issues related to the engineering, management, integration,
interoperation, and interchange of rules in distributed enterprise
intranets and open environments alike.
Topics
--------
As in the previous years, the Symposium will be organized in tracks:
specifically, the RuleML-2011 at BRF focus will be on the following areas:
*** Rules, Semantic Technology, and Cross-Industry Standards
*** Rules and Automated Reasoning
*** Rule-Based Distributed/Multi-Agent Systems
*** Rule Transformation and Extraction
*** Vocabularies, Ontologies, and Business rules
*** NIEM and Rules
*** Cloud Computing and Rules
*** Clinical Semantic and Rules
*** Fuzzy Rules and Uncertainty
*** Rules and Norms
*** Rule-Based Policies, Reputation and Trust
*** Rule-based Event Processing and Reaction Rules
*** General Topics
Submissions on general rule topics are welcome, such as:
- Progress in rule language specification (in XML Schema, Relax NG, etc.)
- Implemented tools for rule bases (e.g. XML and RDF rule validators)
- Rule interchange and reasoning
- Execution models, rule engines, and development environments
- Graphical processing, modeling and rendering of rules
- Rules and NLP
- Rule-based applications
- Usability and effectiveness of rule-based systems and languages
Case studies, experience reports, and industrial problem statements are
particularly encouraged.
RuleML-2011 Challenge
---------------------
The RuleML-2011 Challenge is one of the highlights of RuleML-2011.
Prizes will be awarded to the two best applications, one for the
focus theme and one for the other categories.
This year, the Challenge will be focused on the theme:
***Combining Rules, Objects, and Ontologies: Implementations and
Applications***
The call for demos is available on:
http://2011.ruleml.org/america/challenge
Submission Guidelines
---------------------
Authors are invited to submit original contributions of practical relevance
and technical rigor in the field, experience reports and show case/use case
demonstrations of effective, practical, deployable rule-based technologies
or
applications in distributed environments. Papers must be in English and may
be submitted at
https://www.easychair.org/conferences/?conf=ruleml2011brf
Please upload all submissions as PDF files in LNCS format
(http://www.springer.de/comp/lncs/authors.html).
The selected papers will be published in book form in the Springer Lecture
Notes in Computer Science (LNCS) series.
The selected demo papers will be published in CEUR proceedings.
Important Dates
---------------
Paper submission: June 21, 2011 (11:59PM, UTC-12)
Notification to authors: July 18, 2011
Camera-ready copy due: August 8, 2011
RuleML-2010 Challenge Demos submission: Sept. 2, 2011
RuleML-2011 dates: Nov 3-5, 2011
13 years, 5 months
Why is Drools called "Drools"?
by John Peterson
This is something I get asked on a semi-regular basis and I don't have a good answer for it, so I thought I'd post it to the mailing list and hope someone can tell the story. Is there anyone out there who can explain how the name "Drools" was settled on?
13 years, 5 months
Using multiple Collect() From result in null pointer exception
by Hezi Stern
I have encountered the following issue when running a rule that has more
than 1 collect from a same collection.
I have the following two rules:
rule "filter sentences based on existence of attributes"
when
IPhoneQueryCmd(State.POPULATE == state,
$tidt: targetId)
$attributeFilteredSentences: ArrayList()
from collect (IPhoneSentences.Sentence(
( (descriptor.targetPrivatename == false) || (descriptor.targetPrivatename
== $cmt.sentenceFilters.targetPrivatename) ) &&
( (descriptor.targetSurename == false) || (descriptor.targetSurename ==
$cmt.sentenceFilters.targetSurename) ) &&
( (descriptor.targetFullname == false) || (descriptor.targetFullname ==
$cmt.sentenceFilters.targetFullname) ) &&
( (descriptor.requesterPrivatename == false) ||
(descriptor.requesterPrivatename ==
$cmt.sentenceFilters.requesterPrivatename) ) &&
( (descriptor.requesterSurename == false) || (descriptor.requesterSurename
== $cmt.sentenceFilters.requesterSurenamename) ) &&
( (descriptor.requesterFullname == false) || (descriptor.requesterFullname
== $cmt.sentenceFilters.requesterFullname) ) &&
( (descriptor.time == false) || (descriptor.time ==
$cmt.sentenceFilters.time) ) &&
( (descriptor.subject == false) || (descriptor.subject == $cmt.subject) )
))
then
end
rule "Iphone targets information update - QUERY_AVAILABILITY" extends
"filter sentences based on existence of attributes"
when
$qc: IPhoneQueryCmd(State.POPULATE == state, $tid:
targetId)
$cm: ConditionMatrix($taskId: taskId,
targetId ==
$tid,
contextIntention
== EContextIntention.QUERY_AVAILABILITY,
$timeConstraintType: requesterConstraint.constraintRequestType)
$targetResponse: ArrayList()
from collect
(IPhoneSentences.Sentence(descriptor.intentions.intention contains
EContextIntention.QUERY_AVAILABILITY.name)
from $attributeFilteredSentences)
then
//do something
End
This works fine but once I wish to add a second filtered ArrayList using
$attributeFilteredSentences I get a null pointer exception.
For example I will add an exact similar filter condition but change the
result var name (I called it $dummyVar)
rule "Iphone targets information update - QUERY_AVAILABILITY" extends
"filter sentences based on existence of attributes"
when
$qc: IPhoneQueryCmd(State.POPULATE == state, $tid:
targetId)
$cm: ConditionMatrix($taskId: taskId,
targetId ==
$tid,
contextIntention
== EContextIntention.QUERY_AVAILABILITY,
$timeConstraintType: requesterConstraint.constraintRequestType)
$targetResponse: ArrayList()
from collect
(IPhoneSentences.Sentence(descriptor.intentions.intention contains
EContextIntention.QUERY_AVAILABILITY.name)
from $attributeFilteredSentences)
$dummyVar: ArrayList()
from collect
(IPhoneSentences.Sentence(descriptor.intentions.intention contains
EContextIntention.QUERY_AVAILABILITY.name)
from $attributeFilteredSentences)
then
//do something
End
In this case I get the following exception stack:
org.drools.runtime.rule.ConsequenceException: rule: Iphone dialog sentence -
QUERY_AVAILABILITY
at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleExcept
ion(DefaultConsequenceExceptionHandler.java:39)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:927)
at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
at
org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.j
ava:785)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.j
ava:751)
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeS
essionImpl.java:218)
at
org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSess
ionImpl.java:302)
at
com.delegatecom.task.TaskStatelessSession.testRunRules(TaskStatelessSession.
java:122)
at
com.delegatecom.task.TaskStatelessSession.internalTestNextStep(TaskStateless
Session.java:98)
at
com.delegatecom.task.TaskStatelessSession.testNextStep(TaskStatelessSession.
java:76)
at com.delegatecom.test.AtoB.testStatelessRule(AtoB.java:99)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.
java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.j
ava:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.ja
va:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.jav
a:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:76)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.jav
a:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28
)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRef
erence.java:46)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:197)
Caused by: java.lang.NullPointerException
at
org.drools.reteoo.AccumulateNode.getFirstMatch(AccumulateNode.java:967)
at org.drools.reteoo.AccumulateNode.splitList(AccumulateNode.java:920)
at
org.drools.reteoo.AccumulateNode.removePreviousMatchesForLeftTuple(Accumulat
eNode.java:874)
at
org.drools.reteoo.AccumulateNode.retractLeftTuple(AccumulateNode.java:205)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateRetractLeftTuple(
CompositeLeftTupleSinkAdapter.java:238)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateRetractLeftTupleDes
troyRightTuple(CompositeLeftTupleSinkAdapter.java:138)
at
org.drools.reteoo.AccumulateNode.retractLeftTuple(AccumulateNode.java:212)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateRetractLeftTuple(
CompositeLeftTupleSinkAdapter.java:238)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateRetractLeftTuple(Co
mpositeLeftTupleSinkAdapter.java:122)
at org.drools.reteoo.JoinNode.retractLeftTuple(JoinNode.java:163)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateRetractLeftTuple(Sin
gleLeftTupleSinkAdapter.java:217)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateRetractLeftTuple(Singl
eLeftTupleSinkAdapter.java:91)
at org.drools.reteoo.JoinNode.retractLeftTuple(JoinNode.java:163)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateRetractLeftTuple(Sin
gleLeftTupleSinkAdapter.java:217)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateRetractLeftTupleDestro
yRightTuple(SingleLeftTupleSinkAdapter.java:107)
at
org.drools.reteoo.AccumulateNode.retractLeftTuple(AccumulateNode.java:212)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateRetractLeftTuple(
CompositeLeftTupleSinkAdapter.java:238)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateRetractLeftTuple(Co
mpositeLeftTupleSinkAdapter.java:122)
at org.drools.reteoo.JoinNode.retractLeftTuple(JoinNode.java:163)
at
org.drools.reteoo.ModifyPreviousTuples.retractTuples(ModifyPreviousTuples.ja
va:111)
at
org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:176)
at
org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:14
42)
at
org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:13
49)
at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:18
3)
at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:19
6)
at
com.delegatecom.rules.drl.Rule_Iphone_dialog_sentence___QUERY_AVAILABILITY_0
.defaultConsequence(Rule_Iphone_dialog_sentence___QUERY_AVAILABILITY_0.java:
27)
at
com.delegatecom.rules.drl.Rule_Iphone_dialog_sentence___QUERY_AVAILABILITY_0
DefaultConsequenceInvoker.evaluate(Rule_Iphone_dialog_sentence___QUERY_AVAIL
ABILITY_0DefaultConsequenceInvoker.java:65)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
... 33 more
Any idea what this can be?
Regards,
Hezi
13 years, 5 months
ERR 101 & 102 When parsing Decision Table xls
by Sleepyhead
Hey all,
I'm new to Drools, and trying to use decision tables.
Only I got some errors I don't understand
Description Resource Path Location Type
[ERR 101] Line 15:87 no viable alternative at input 'false' in rule "Pricing
bracket_11" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 15 Drools Error
[ERR 101] Line 23:115 no viable alternative at input 'false' in rule
"Pricing bracket_12" in pattern Person CheckAccepted.xls
/DroolzBeslis/src/main/rules line 23 Drools Error
[ERR 101] Line 31:123 no viable alternative at input 'true' in rule "Pricing
bracket_13" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 31 Drools Error
[ERR 101] Line 7:58 no viable alternative at input 'false' in rule "Pricing
bracket_10" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 7 Drools Error
[ERR 102] Line 15:93 mismatched input ';' expecting ')' in rule "Pricing
bracket_11" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 15 Drools Error
[ERR 102] Line 15:94 mismatched input ',' expecting 'then' in rule "Pricing
bracket_11" CheckAccepted.xls /DroolzBeslis/src/main/rules line 15 Drools
Error
[ERR 102] Line 23:121 mismatched input ';' expecting ')' in rule "Pricing
bracket_12" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 23 Drools Error
[ERR 102] Line 23:122 mismatched input ',' expecting 'then' in rule "Pricing
bracket_12" CheckAccepted.xls /DroolzBeslis/src/main/rules line 23 Drools
Error
[ERR 102] Line 31:128 mismatched input ';' expecting ')' in rule "Pricing
bracket_13" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 31 Drools Error
[ERR 102] Line 31:129 mismatched input ',' expecting 'then' in rule "Pricing
bracket_13" CheckAccepted.xls /DroolzBeslis/src/main/rules line 31 Drools
Error
[ERR 102] Line 7:64 mismatched input ';' expecting ')' in rule "Pricing
bracket_10" in pattern Person CheckAccepted.xls /DroolzBeslis/src/main/rules
line 7 Drools Error
[ERR 102] Line 7:65 mismatched input ',' expecting 'then' in rule "Pricing
bracket_10" CheckAccepted.xls /DroolzBeslis/src/main/rules line 7 Drools
Error
Unknown error while parsing. This is a bug. Please contact the Development
team. CheckAccepted.xls /DroolzBeslis/src/main/rules Unknown Drools Error
I also attached the XLS, someone any idea?
http://drools.46999.n3.nabble.com/file/n3048185/CheckAccepted.xls
CheckAccepted.xls
--
View this message in context: http://drools.46999.n3.nabble.com/ERR-101-102-When-parsing-Decision-Table...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 5 months
Custom-Operator - No access to FactHandles?
by Martin, Matthias
Hello,
some of our custom operators need to access already inserted facts at runtime. Therefore we extended org.drools.base.BaseEvaluator. The provide methods, i. e.
public boolean evaluate(InternalWorkingMemory workingMemory, InternalReadAccessor extractor, Object object, FieldValue value), state, amongst others, a parameter "workingMemory" of type org.drools.common.InternalWorkingMemory.
When calling workingMemory.getObjects() we receive a "UnsupportedOperationException". The question is whether it is possible to access facts in a KnwoledgeSession at runtime or not. Alternatively we could provide the objects in question as globals and call workingMemory.getGlobal(), but that seems to me like somewhat bad architecture.
Any suggestions are welcome.
Many thanks,
-Matthias
13 years, 5 months
operator question
by Jon Gil
Hi all, This might seem overly simple but can I use the + and - operators
in a Condition in a spreadsheet? I feel i'll need to import something, and
I've tried creating an "add" method in my factmodel java class, but i can't
seem to use it.
13 years, 5 months
Terminating service threads
by Manuel Ortiz
Hello everybody:
I have a Drools based application which instantiates KnowledgeAgent and
ResourceChangeNotifier and ResourceChangeScanner services, and see in
Eclipse Debug Tab that these classes run three threads. When my own threads
end, including main thread, these three threads keep running. How can I
terminate these threads?
Thank you very much in advance for your time.
Kind regards,
Manuel Ortiz.
13 years, 5 months
Re: [rules-users] Drools in non-eclipse environment
by Swindells, Thomas
Which version of drools is this?
For drools 5.0.1 we just use maven to resolve the dependencies for us and it works fine. I can't obviously see any eclipse compiler in the jars that we distribute with our application.
Thomas
> -----Original Message-----
> From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-
> bounces(a)lists.jboss.org] On Behalf Of Abhay B. Chaware
> Sent: 09 June 2011 08:06
> To: rules-users(a)lists.jboss.org
> Subject: [rules-users] Drools in non-eclipse environment
>
> Has anyone tried using drools in non-eclipse env ? meaning that
> org.eclipse.jdt.core_3.5.1.v_972_R35x.jar is not in the classpath ?
>
> Documentation says this :
>
> (http://docs.huihoo.com/drools/4.0.7/ch02s05.html)
>
> if you do not have Eclipse JDT Core in your classpath you must override the
> compiler setting before you instantiate this PackageBuilder, you can either
> do that with a packagebuilder properties file the ChainedProperties class will
> find, or you can do it programmatically as shown below; note this time I use
> properties to inject the value for startup.
>
> They also provide an example, but I am not able to figure out exactly how to
> use this example/info.
>
> Here is my code :
>
> KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();
> kbuilder.add(ResourceFactory.newInputStreamResource(is),
> ResourceType.DRL);
>
> where "is" is input stream containing the rule file ( .drl)
>
> How do I override the compiler setting ?
>
> I am getting a null pointer exception ( see below ) and I suspect that
> overriding the packagebuilderconfiguration will fix it ?
>
> W/System.err(25511): java.lang.NullPointerException
> W/System.err(25511): at
> org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:47)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:1161)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:637)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java
> :267)
> W/System.err(25511): at
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder
> .java:459)
> W/System.err(25511): at
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.ja
> va:28)
> W/System.err(25511): at
> com.ts.DBconnector.readKnowledgeBase(DBconnector.java:146)
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster(a)nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************
13 years, 5 months