Last Chance - Drools & jBPM at ICAART (Portugal) 4th International Conference on Agents and Artificial Intelligence
by Mark Proctor
The event is just one week away from being cancelled if we don't get
more attendance. So if you are thinking of going, better sign up now,
before it's too late.
Mark
---------------
<http://4.bp.blogspot.com/-_b77C8kLxEk/TuDUJkn_TlI/AAAAAAAAAnY/_QPFAuMEdOo...>
Droosl & jBPM @ ICAART 2012 is now confirmed, and myself (Mark Proctor)
and Dr Davide Sottara will be there. If you have any interesting
research on or with Drools & jBPM that you would like to present on the
day, let us konw.
6-8 Febuary 2012
Vilamoura, Algarve, Portugal
http://www.icaart.org/tutorials.asp
The day is a tutorial day aimed at all levels. It will start with
general introductions to the technology but will slant off to more of
our research based projects such as Drools Semantics and Chance, as it's
part of an academic conference. We would also like to give an
opportunity for the people to present their own research, slots can be
anything from 20minutes to 60 - contact me if you are interested
mproctor at codehaus d0t org.
There will also be plenty of time for discussions and help with your own
projects.
*Abstract*
Drools is the leading open source, industry focused, rule engine. While
Drools started life as a Rete based forward chaining engine, it has
since transcended. It's ongoing mission is to explore declarative
paradigms from a practical and industrial perspective, to boldly go
where no engine has gone before.
The tutorial will start with a gentle introduction, suitable for all
level of expertise, covering the core language and functionality slowly
expanding into more complex areas. The topics covered include, but are
not limited to:
Basic Concepts:
* Patterns, Constraints and Unification
* Data Driven and Goal Oriented Inference using Forward Chaining and
(Opportunistic) Backward Chaining
* Truth Maintenance
* Temporal Reasoning and Complex Event Processing
* Functional Programming
* Traits and Declarative Models
Advanced Topics:
* Decision Tables
* Rule and Workflow Integration
* Hybrid Rule-Based Systems
* Agents and Services
* Unified Testing
*Brief biography of Mark Proctor*
Mark Proctor received his B.Eng in Engineer Science and Technology and
then his M.Sc. in Business and Information Systems; both from Brunel
University, West London. His M.Sc. thesis was in the field of Genetic
Algorithms; which is where he discovered his interest for anything AI
related.
Mark became involved in the Drools expert system project at an early
stage and soon became its project lead. Mark then joined JBoss (later
acquired by Red Hat) as an employee when the Drools project was
federated into the JBoss middleware stack.
Mark now leads the effort at Red Hat for a unified platform for
declarative technologies; with a focus on rules, event processing,
workflow, semantics, distributed agents and governance.
*Brief biography of Davide Sottara*
Davide Sottara received his Ms. Degree in Computer Science(2006) and his
Ph.D (2010) in Computer Science, Electronics and Telecommunications from
the University of Bologna.
His research and development interests include Artificial Intelligence
in general and Decision Support Systems in particular, focusing on
hybrid systems combining predictive models and rule-based systems.
Since 2006, he has been working on the development of intelligent DSSs
in the environmental and medical field. He is a member of the Drools
open source Community, leading a sub-project on the extension of
production rule engines to support hybrid and uncertain reasoning, and
he's also involved in the RuleML rule language standardization
initiative. He is currently working on remote health-care systems
enhanced with AI-based predictive, diagnostic and planning features.
*Contacts*
e-mail: icaart.secretariat(a)insticc.org
<mailto:icaart.secretariat@insticc.org>
12 years, 10 months
Questions regarding Guvnor
by Harshit Bapna
Hello All,
Few questions:
1. What is the release date of Guvnor 5.2 ? (Couldn't find it from the site
of the documentation)
I am interested in the functionality to add the guvnor editors in
another app for rule editing. i.e. StandaloneEditorServlet
2. Which SVN TAG of the Guvnor (which has standalone editor functionality)
should I use ?
Note: On trunk I have observed that the war contains a folder *guvnor* where
as guvnor 5.1 war contained folder *org.drools.guvnor.Guvnor*
Also the web.xml in the trunk has the following url pattern <url-pattern>/*
org.drools.guvnor.Guvnor*/feed/*</url-pattern>
This url pattern would never be matched as the Guvnor.html is under
guvnor/Guvnor.html. To make it work I had to update the url patterns in the
web.xml
Is there anything that I am doing wrong ? (mvn clean install
-Dmaven.test.failure.ignore=true)
IMO, the trunk has partial changes checked in. Hence it is not stable.
Thanks
12 years, 10 months
Error in MVEL execution (optimization?)
by ronalbury
I hardly got any viewers (and no responses) when I posted this just as "MVEL
Optimization" ... so I have changed the subject and re-posted (my apologies
if I just broke protocol).
I'm not sure how to explain this, other than it appears that MVEL is trying
to optimize the When conditions in my rules.
I have a utility class, Test, with a number of methods on it (including null
protected versions of Drools "in" and "matches"). Note that the valueInList
method can return null (e.g. if the product code is null), and the
getAgeAsInt method can also return null (if the age is null). I don't like
having to test if the result of the method is true, but I kept running into
null pointer errors in the Drools expression evaluation code and had to
adopt this convention.
Here are two example rules (one in Java dialect and one in MVEL dialect). I
realize that a list of one is a degenerate case for using 'inList', but it
should still work.
rule "Term 15Plus Max Age - Washington"
dialect "java"
when
$ea : EasyApp(
Test.valueInList($ea.getEaProductCode(),
"L15P")==true
&& Test.valueInList($ea.getEaIssueState(), "WA")==true
&& $ea.getPriIns_xmPerson().getAgeAsInt() > 65
)
then
$ea.addError(drools.getRule().getName());
end
rule "Term 20 Max Age - New Jersey"
when
$ea : EasyApp(
Test.valueInList(eaProductCode, "L20")==true
&& Test.valueInList(eaIssueState, "NJ")==true
&& priIns_xmPerson.ageAsInt > 64
)
then
$ea.addError(drools.getRule().getName());
end
I have approximately 30 different rules similar to those above. When I have
the rules written in MVEL, it appears to be only be evaluating one rule per
EasyApp injection (I have a log message when ever valueInList is called),
and I get bogus results. However, when I shift to java dialect then it
appears that the methods are called for each rule I have defined (as I would
have expected).
Can anyone tell me if I am doing something wrong, and explain why Drools is
behaving as it is?
Thanks
--
View this message in context: http://drools.46999.n3.nabble.com/Error-in-MVEL-execution-optimization-tp...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 10 months
Error while using the Matrix type Decision Table
by Swaroop Oggu
Hi,
Iam trying to use the Matrix type decision table using CustomWorkbook.xls
example on Drools 5.1.0. Iam getting an error "Invalid Column header
(ACTION type),should be CONDITION or ACTION row no XX cellnum XX contain a
leading C or A identifier". The SRL is generating correctly though, Any way
to supress this error ?
Thanks
Swaroop
12 years, 10 months
drools-spring schema issues
by Stephen Masters
Hi folks,
According to the integration docs:
http://docs.jboss.org/drools/release/5.3.0.Final/droolsjbpm-integration-d...
... 3.3.1.3 shows the location of the schema to be:
http://drools.org/schema/drools-spring.xsd
Unfortunately, that seems to redirect me to the Drools home page rather than a schema.
I have previously been using:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-containe...
... but this doesn't support <drools:agendaEventListener> as a child of the <drools:ksession> element. Neither does it support <drools:eventListeners> at the level above. I was hoping to be able to make use of these, as they look as though they should help me to rid myself of some code.
I did notice that there are 1.1.0 and 1.2.0 versions of the drools-spring schema, but neither of those supports this either. I'm generally unclear as to which I should be using.
So I guess I have two questions really...
Are these valid configuration elements to use? i.e. Is the documentation out of date? Are they still beta?
Assuming that they should be available, what schema location should I be using?
Many thanks for any pointers you can provide.
Steve
12 years, 10 months
MVEL performance penalty
by Wolfgang Laun
Drools 5.3.0 FINAL.
This experiment was inspired by code posted with the insinuation that MVEL
would "optimize" condition evaluation. - Consider this rule:
rule "Term - java"
dialect "java"
when
$ea : EasyApp( Test.valueInList( $ea.getProductCode(), "CAR" )==true
&& age < 0 )
then end
You'd expect that Test.valueInList() is called once per inserted EasyApp
fact, and this can be verified easily. - Now the same rule, with MVEL's
syntactic sugar:
rule "Term - mvel"
dialect "mvel"
when
$ea : EasyApp( Test.valueInList( productCode, "CAR" )==true
&& age < 0 )
then end
*Now Test.valueInList() is called twice for each inserted fact.*
Cheers
Wolfgang
12 years, 10 months