Guided Editor in BRMS / Guvnor Version 5 (Snapshot of 26 June)
by Paul Browne
Folks,
For various reasons I'm trying out the Guided Editor for Business Rules in
the Guvnor Version 5 (Snapshot of 26 June from Hudson, deployed on JBoss App
Server 4.2.2GA).
I've created the Package / Category and uploaded a simple fact model (as
works in BRMS version 4). I create a new business rule using the guided
editor and the screen shows successfully with both 'When' and 'Then'
parts.Assume the next question is due to me missing something, but wanted to
double check:
When I press the green '+' to the right of the screen I am shown the message
/ dialog layer saying '
*Add a condition to the rule... *or* Add an action to the rule.
*Problem is that there doesn't appear to be a way of adding a condition or
action. The only thing I'm seeing in the logs is
* (Contexts.java:flushAndDestroyContexts:335) could not discover
transaction status
*Am I missing something or should I come back to Guvnor later in the
development Cycle?
Thanks
Paul
12 years, 9 months
Can drools continue testing even if one of the conditions fail ?
by DroolUser
Hi,
I'm using drools for testing if the few attributes of my MO are not null.
I construct the rule in the .drl file in following way :
rule "name"
when
condition1
condition2
condition3
condition4
then
consequence
end
I have observed that the drool engine verifies the conditions line by line
(in the sequence they have written). The moment condition fails, control
comes back to the calling method.
I don't want this. I want the control to execute each and every condition
whether true or false and maintain a record of passed/failed conditions.
Something like this :
rule "name"
when
condition1
log the test result --- This statement should get executed
even if condition 1 fails and control should go to condition 2
condition2
log the test result
condition3
log the test result
condition4
log the test result
then
consequence
end
Is this possible in Drools ?
--
View this message in context: http://www.nabble.com/Can-drools-continue-testing-even-if-one-of-the-cond...
Sent from the drools - dev mailing list archive at Nabble.com.
15 years, 8 months
Re: [rules-users] Max packages
by Mark Proctor
Joe White wrote:
>
> Mark, thank you very much for your help, it is greatly appreciated.
>
>
>
> "There are improvements we can make to generated code into a single
> class and use a switch statement to invoke the correct part, but we
> don't have time for that right now, so would need to come from the
> community."
>
>
>
> I would be interested in doing this work if someone can point me in
> the right direction on where to start.
>
look for the *.mvel templates in drools-compiler you'll see how we
generate the code. Then look at all the various java builders, like
JavaConsequenceBuilder and you'll see how we construct it. compiled code
is done in two places. We first generate an invoker class which
implements the interface, like the Consequence interface and then we
genernate the code to be executed which is called via the invoker. It
needs to be two as the needed parameters for the java consequence to
execute differer (different number of vars) so the invokers job is to
match the needed interfaces and adapt/bridge to calling to the actual
consequence/eval/predicate. We currently generate all the
consequence/eval/predicate in a single class per rule, but we have a
class per invoker.
So we now need invoker apis, like Consequence, to take an int so it can
use a switch statement to which allows multiple invocations to be
generated into the same file. An idea solution will take a configuration
on teh granularity that people want - to what we have now right up to
putting everything into a single file for the entire package.
>
> I also would be interested in doing the work to allow drools to
> reference multiple levels of inner classes.
>
This is done and fixed in 4.0.x and trunk - we just haven't released any
binaries wit hteh fix.
>
> Our work would benefit from both pieces of functionality. I'll move
> this to the developer list, but would appreciate if somebody
> knowledgeable could show me where to get started on the code necessary
> to generate to a single class.
>
I've cc'd this into the dev mailing list, so please when you reply do so
to just that mailing list.
>
>
>
> Thanks,
>
> Joe
>
>
>
> *From:* rules-users-bounces(a)lists.jboss.org
> [mailto:rules-users-bounces@lists.jboss.org] *On Behalf Of *Mark Proctor
> *Sent:* Wednesday, August 13, 2008 2:53 AM
> *To:* Rules Users List
> *Subject:* Re: [rules-users] Max packages
>
>
>
> Joe White wrote:
>
> Can someone help me understand the relationship between the number of
> Packages in a single RuleBase and PermGen memory consumption? I have a
> test that generates 200 rules and then adds those rules as different
> packages to a single rule base. PermGen consumption grows near
> linearly with the addition of Packages to the rule base and on a
> default PermGen setting the JVM runs out of PermGen after about 120
> packages.
>
> It's not related to Packages, it's related to the number of rules and
> whether those rules have compiled java parts - like the consequence,
> eval etc - each one adds an additional class.
>
>
>
> Is every new Package and RuleBase backed by a set of generated
> Classes? Is there a way to get around the amount of class generation
> that is taking place?
>
> The test has been run against Drools 5.
>
> You can use MVEL, which has no class generation. There are
> improvements we can make to generated code into a single class and use
> a switch statement to invoke the correct part, but we don't have time
> for that right now, so would need to come from the community.
>
>
>
> Thank you for your help,
>
> Joe
>
>
> ------------------------------------------------------------------------
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
16 years, 2 months
IntelliJ ipr, iml files in subversion break my svn up
by Geoffrey De Smet
Hi guys,
Someone removed the *.ipr and *.iml files from svn:ignore and committed
their *.ipr, *.iml files.
Subversion now refuses to svn up because I got local iml files that
conflict with the repository iml files.
Since IntelliJ can easily synchronize from the maven2 pom.xml files, I
don't think it's a good idea to commit those.
When not everyone uses the same version of IntelliJ this can be problematic.
Also, I explicitly exclude drools-guvnor out of my ipr file to build faster.
Can that change be reverted? I believe the old way is better.
--
With kind regards,
Geoffrey De Smet
16 years, 3 months
RuleML-2008: Deadline Extension
by Adrian Paschke
[ our apologies should you receive this message more than one time ]
=====================================================================
Due to a number of requests we have to decided to extend
the submission deadline by 2 weeks.
NEW deadline for paper/demo submission: June 16
=====================================================================
2008 International RuleML Symposium
on Rule Interchange and Applications (RuleML-2008)
October 30-31, 2008, Orlando, Florida
http://2008.ruleml.org
--------------------------------------------------------------------
RuleML-2008 Highlights:
- Keynote speakers:
* Michael Kifer (State University of New York at Stony Brook, USA),
on "Rule Interchange Format: Not Just Syntax".
Joint keynote between RuleML-2008 and RR2008.
* David Luckham (Stanford University, USA) on complex event processing.
* Paul Haley (Haley Ltd) on business rules.
* Benjamin Grosof (Vulcan Inc, USA) on the SILK KRR system of the HALO
project.
(Details at: http://2008.ruleml.org/keynote.php )
- Joint Lunch Panel with the Business Rules Forum about "Rules on the Web"
- RuleML-2008 Challenge with prestigious prices
(Details at: http://2008.ruleml.org/challenge.php )
(Submissions at: http://ruleml-challenge.cs.nccu.edu.tw/ )
- Lightning talks / Highlight talks
Accepted papers will be published in Springer LNCS proceedings and
a journal special issue (IEEE TKDE pending) is forthcoming.
PRESS RELEASES: http://www.targetwire.com/vpo/rm/
--------------------------------------------------------------------
Call for Papers
Collocated with the 11th International Business Rules Forum, the 2008
International Symposium on Rule Interchange and Applications
(RuleML-2008) is
the second symposium (after last year's highly successful RuleML-2007 -
http://2007.ruleml.org/) devoted to work on practical distributed rule
technologies and rule-based applications which need language standards for
rules operating in the context of, e.g., the Semantic Web, Intelligent
Multi-
Agent Systems, Event-Driven Architectures and Service-Oriented Computing
Applications. The RuleML symposium is a new kind of event where the Web
Rules
and Logic community joins the established, practically oriented Forum of the
Business Rules community (http://www.businessrulesforum.com) to help cross-
fertilizing between Web and Business Logic technology.
The goal of RuleML-2008 is to bring together rule system providers,
representatives of, and participants in, rule standardization efforts (e.g.,
SBVR, RuleML, RIF, PRR, CL) and open source rules communities (e.g., jBoss
Rules, CLIPS/Jess, Prova, OO jDrew, Mandarax, XSB, XQuery),
practitioners and
technical experts, developers, users, and researchers. They will be offered
an exciting venue to exchange new ideas, practical developments and
experiences on issues pertinent to the interchange and application of rules
in open distributed environments such as the Web.
The Symposium gives emphasis on practical issues such as technical
contributions and show case demonstrations of effective, practical,
deployable rule-based technologies, rule interchange formats and
applications
as well as discussions of lessons learned that have to be taken into account
when employing rule-based technologies in distributed, (partially) open,
heterogeneous environments. We also welcome groundwork that helps to
build an
effective, practical, and deployable rule standard, improve rule technology,
provide better understanding of the integration and interchange of
rules, and
make the current generation of rule engines and rule technology more usable
for advanced Web and Service Oriented Architectures.
More details in: http://2008.ruleml.org/cfp.pdf
--------------------------------------------------------------------
RuleML-2008 Challenge
The RuleML-2008 Challenge is one of the highlights of RuleML-2008. It
addresses the system demonstration for practical use of rule technologies in
distributed and/or Web-based environments. The focus of the challenge is on
rule technologies (including rule languages and engines), interoperation and
interchange. The challenge offers participants the chance to demonstrate
their commercial and open source tools, use cases, and applications. Prizes
will be awarded to the two best applications. All accepted demos will be
presented in a special Challenge Session.
More details in: http://2008.ruleml.org/challenge.php
--------------------------------------------------------------------
Important Dates
- Paper Submissions due June 16, 2008 (EXTENDED)
- Notification of acceptance July 22, 2008
- Final submissions due August 13, 2008
- Symposium date October 30-31, 2008
- RuleML Challenge October 30, 2008
--------------------------------------------------------------------
Submission Site is open:
http://www.easychair.org/conferences/?conf=ruleml2008
Submission guidelines:
http://2008.ruleml.org/submissions.php
Topics of Interest:
http://2008.ruleml.org/topics.php
Organizing Committee:
http://2008.ruleml.org/oc.php
Program Committee:
http://2008.ruleml.org/pc.php
=====================================================================
Co-located with:
The 11th International Business Rules Forum
http://www.businessrulesforum.com
=====================================================================
Sponsored by:
Gold level : Vulcan Inc (pending)
Silver level: Model Systems
Bronze level: STI Innsbruck, ruleCore, JBoss
Sponsoring opportunities: http://2008.ruleml.org/sponsoring/
=====================================================================
In Co-operation with:
AAAI, W3C, BPM-Forum, Business Rules Forum , ECCAI, OASIS, OMG,
Dallas Rules Group, Belgium Business Rules Forum,
MIT Sloan CIO Symposium,
ACM, ACM SIGART, ACM SIGMIS, ACM SIGWEB, Open Research Society,
IEEE Systems Man and Cybernetics Society
IEEE SMCS TC on Intelligent Internet Systems
IEEE SMCS TC on Distributed Intelligent Systems
IEEE Computer Society TC on Autonomous and Autonomic Systems
=====================================================================
Media Partners:
Springer LNCS, MoDo Marketing
=====================================================================
16 years, 3 months
drools-api/.project name mismatch
by Greg Barton
In the latest anonymous svn trunk, the drools-api/.project file has the wrong name tag. It's "<name>drools-core</name>" instead of "<name>drools-api</name>"
An "mvn eclipse:eclipse" fixes it, but just so you know.
16 years, 4 months
Several unit tests failed under JDK1.6
by Jervis Liu
Hi, I have tested our
https://svn.jboss.org/repos/labs/labs/jbossrules/soa_tags/4.3.0.GA_IR1/
branch against JDK1.6. There are several tests failed, detailed can
be found on https://jira.jboss.org/jira/browse/SOA-714.
These failures are in three modules:
1. drools-compiler: DynamicRulesTest.testDynamicFunction
This might be related to classloader. See Mark Proctor's comments:
(4:39:06 PM) conan: jliu: the drools complier one is probably related to
the need for any classloaders to do forName instead of loadClass
(4:39:11 PM) conan: fo you have the stack trace for it?
(4:40:42 PM) jliu: (4:40:28 PM) jervisliu:
java.lang.NoClassDefFoundError: org/drools/test/AddFive
(4:40:42 PM) jliu: at
org.drools.test.Rule_global_rule_test_0.consequence(Rule_global_rule_test_0.java:7)
(4:40:42 PM) jliu: at
org.drools.test.Rule_global_rule_test_0ConsequenceInvoker.evaluate(Rule_global_rule_test_0ConsequenceInvoker.java:20)
(4:40:42 PM) jliu: at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:554)
(4:40:42 PM) jliu: at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:518)
(4:40:42 PM) jliu: at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:475)
(4:40:42 PM) jliu: at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:439)
(4:40:42 PM) jliu: at
org.drools.integrationtests.DynamicRulesTest.testDynamicFunction(DynamicRulesTest.java:311)
(4:40:42 PM) jliu: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
(4:40:42 PM) jliu: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
(4:40:42 PM) jliu: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
(4:40:42 PM) jliu: at java.lang.reflect.Method.invoke(Method.java:597)
(4:40:42 PM) jliu: at junit.framework.TestCase.runTest(TestCase.java:154)
(4:40:42 PM) jliu: at junit.framework.TestCase.runBare(TestCase.java:127)
(4:40:42 PM) jliu: at
junit.framework.TestResult$1.protect(TestResult.java:106)
(4:40:42 PM) jliu: at
junit.framework.TestResult.runProtected(TestResult.java:124)
(4:40:42 PM) jliu: at junit.framework.TestResult.run(TestResult.java:109)
(4:40:42 PM) jliu: at junit.framework.TestCase.run(TestCase.java:118)
(4:40:42 PM) jliu: at junit.framework.TestSuite.runTest(TestSuite.java:208)
(4:40:42 PM) jliu: at junit.framework.TestSuite.run(TestSuite.java:203)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
(4:40:42 PM) jliu: at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
(4:41:29 PM) jliu: conan: yes, i guess its sth to do with the
classloader, so maybe JBRULES-1666 has not been fixed yet. at least on
this branch.
(4:43:08 PM) jliu: conan: for ur information, this DynamicRulesTest
passed on the trunk. but there are 4 other failures under jdk1.6 in the
compiler module
(4:43:48 PM) conan: jliu:yes something changed in jdk1.6 that made the
classloaders more strict.
(4:44:43 PM) conan: jliu: in jdk1.5 I could tell it to load a clas that
didn't exist and it would correctly fail, i'd then add the class to the
classloader and it woudl pass - it's almost like jdk1.6 caches that
failure result, so that it doesn't bother to lookup the class we just added.
I have replaced all loadClass stuff with forName. but this didnt help. I
will continue my investigation next Mondy, but if there is someone who
is more familiar with this please feel free to take over this.
2. drools-repository: this seems to be related to
org.tmatesoft.svn.core.SVNException. Havnt got time to look into this yet.
3. drools-jbrms: I will look into these problems.
But again, if anyone else knows the problem, please feel free to stand
out ;-)
Thanks,
Jervis
16 years, 4 months
TypeDeclaration plugin heirarchy
by Stephen Kestle
This is a follow up to my reply to
http://article.gmane.org/gmane.comp.java.drools.user/12319 :)
What I would like are some changes to PackageBuilder (line numbers at
r21562):
Remove/change lines 632-641 as they call
pkgRegistry.getPackage().getFactTemplate, where fact templates are
compiled into the package after 393, which is after 381->551->570->634.
Ok, so perhaps it is possible, if you define your templates in another
package...
Change TypeDeclaration.Format to a class, instead of an enum. We want
our own type. At line 632, insert something like the following:
final String format =
ObjectUtils.defaultIfNull(typeDescr.getMetaAttribute(
TypeDeclaration.ATTR_FORMAT).toLowerCase(), "pojo"); //ATTR_FORMAT="format"
TypeFactory factory = packageDesc.getTypeFactory(format); //where
packages have a typeFactory declaration of a class that implements
TypeFactory (which has a getFormat() for registration purposes)
TypeDeclaration type = factory.create(typeDescr);
lines 643-674 get moved into PojoTypeFactory.create();
Something needs to be done to TypeDeclaration to allow non-class based
implementations. After all, it makes no sense (to me) to call a method
that then just refers to a map of name-values.
However, drools uses java object types/classes heavily for rules
optimisations - and type references. Is this unavoidable? Was this the
fundamental problem with templates - that one could not be composed
inside another because the type could not be referenced (by a class)?
Also, I'm looking for a way to do partial compilation... I want to
create a description with fundamental declarations and imports for our
product to simplify the text ones, but I can't figure out how to merge -
is it just a case of declaring my core package, and then "adding" the
same one from the file?
Cheers
Stephen
16 years, 4 months
Eclipse 3.4 views
by Stephen Kestle
The debugging views don't seem to work in eclipse 3.4 (ganymede) against
5.0.0M1. Has anyone seen these work?
I've followed the instructions about breaking at a debug point, but no luck
Thanks
Stephen
16 years, 4 months
Re: When does the Drools 5.0 M2 release?
by Mark Proctor
We are hoping to do M2 end of this week, if the parser merging goes well.
Mark
Ji-Woong Choi wrote:
> As you may know, Drools is final stage of Samsung Electronics proposal.
> They want to know that when Drools 5.0 M2 will be released, because
> some of their requests are related in Drools 5.0 M2 such as BRMS
> improvement.
>
> Is it correct the Drools next version by Q3? I referred to on Drools wiki.
>
> Thanks in advance.
> JW.
16 years, 4 months