I believe eval() solves that purpose functionally but is not optimal; not
sure how evals() tie in with Rete-OO
Specially since the return type of eval() is not known, I can seriously
doubt it being optimal as using Objects directly in conditions.
-
Software documentation is like sex: If its
ok thanks, i think i confused my notion of eval() with also its ability to
return int on calculations in some other framework.
The reason why i started this thread was to ensure in the process of Rule
engineering, I could write optimal rules in mathematical notion and not have
to worry about
According to First order Logic, (from a rule perspective), one can represent
their statements using:
PREDICATES, METHODS, CONNECTORS (including existential quantifiers)
..while PREDICATES can be synonymous with Object and Object expressions; the
only way of using methods has been via eval
Hi,
though it is clear Rule Engine (lke Drools) supports Declarative
programming and First order Logic or FOL (with existential quantifiers and
works) am also looking for Probabilistic Reasoning.
Example:
Fact: A U B = C; this fact exists with a probability of 0.9.
Principles namely being:
ok?! Should i file a JIRA?
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Drools-5-1-1-Error-reporting-issue-in-PackageBuilder-tp2705166p2709887.html
Sent from the Drools - User mailing list archive at Nabble.com.
Hey,
I think I saw Apache-Forrest being used in your docs earlier sometime. Now when
I look at the POM I see DOC Book plugin.
The Drools documentation is 'pretty' (thanks); just wanted to know if you guys
employ forrest. And Are you using the two together or your doing away with one
(and whats
Hi,
I have many rules. These rules may or may not belong to the same set. However,
based on their name they can be grouped. Say all rules starting with
Traffic_Rule, Criminal_Rule etc.
Q1. I want to check after assertion of a fact (A.) how many and (B.) which all
rules executed for Traffic_Rule
Hey,
any answers? Though my questions were logical and simple for guys who would
know :)
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
I dont see any mention of the rules themselves in this thread.
Check if you are using a lot of evals and also you may be using the same
object in all your rules; so the theoretical ReteOO performance goes for a toss
coz it does branch the tree based on object type.
If the above is what your
Mark Proctor mproctor at codehaus.org writes:
thomaskukofka at web.de wrote:
Hello,
some people write about wrapping the Drools API with an own access API
for integration in the application.
Sorry for the perhaps stupid question, but what is the reason for
this? Does this only
Don't forget the free Drools job board. Where the jobs are also listed
on the blog.
http://jobs.athico.com/
Hi Mark,
thats what I had forgotten :o) Thanks for the link!
Mark Proctor mproctor at codehaus.org writes:
___
rules-users mailing
evals by reusing their output?
no
Another question is, is tehre something wrong in the above definition from
a
declarative programming point of view?
its not idea - but sometimes over use of eval can't be helped - only you
know the answer to that, being your domain model
Mark Proctor mproctor at codehaus.org writes:
Awsome! This was the exact level of detail I was looking for. Thank you soo
much. I've been troubled abouth this for some time, and did not have time to
dig through.
but really appreciate it, cant tell you how thankful I am.
Thanks,
Arjun
Mikael Larsson mikael.larsson at redpill.se writes:
Hi!
Just the answer I was hoping for, thanks for the fast reply!
Hmmm, I just wished the answer was also Well, if you have pooled them
there is no harm :o)
This is something that I've been concerned with from a long time.
I do pool
Whats the difference between:
when
Sub Condition A
Sub Condition B
Then
...
End
Vs
when
Sub Condition A and Sub Condition B
Then
...
End
..Assumping I have no need to use variables between A B, do I get a
performance improvement using AND or does the Rete evaluate faster if the
You cannot insert data over time into a stateless session, all data is
added at the same time. When the engine has finished processing it w ill
return and is finished, at this point as soon as the stateless session
is available for garbage collection the objects will be removed. There
is
Steven Williams stevearoonie at gmail.com writes:
I added agenda-group to decision tables in September 2006.cheersSteve
2006, or 2007? Because it was not there in JBoss Rules 4.0.0 (at least not
documented).
Either way, it means it exists now. So will look at the latest release
Hi,
can someone please explain; if a stateless session is used over a log period
of time. How are the objects (rather the shadows to them) released?
I understand that as long as a class is not final, its shadow is created and
used. This raises a concern about the life cycle of that object.
Hi,
I have the following scenario.
SCENARIO (simplified for discussion from actual blown up scenario)
-
1. A decision table (DT) with rules for all types of employees - Call
it Common DT
2. The DT mentioned in Point 1 has a condition that fetched data depending
on Type Of Employee
Mark Proctor mproctor at codehaus.org writes:
Knapp, Barry wrote:
That generic attribute would sure be a nice place to put effective and
expiration dates.
Really looking forward to the patch :)
Ok, so whose writing the patch?
Can we have a spec of whats exactly needed?!
I've been
Test case:
Write a Rule that uses a From clause and on another object does not use a from
clause:
example:
#From row number: 28
rule Rules_28
when
cntct: Contact(initialized==true)
config: BooleanConfiguration(value==true) from
Arjun Dhar dhar_ar at yahoo.com writes:
Hi,
This problem needs to be solved conceptually before technically.
Assuming (I can't use Agenda Groups in decision tables).
SUMMARY
---
Some rules evaluate some logic and pass it to a rule which aggregates the
logic
to give the final
Should we go to Jira to find what are the open issues?
I have been fighthing one issue where drools doesnt seem to be
evaluating all the constraints. I have two columns with the same class
on both and around 8-9 joined constraints. Constraints 5+ are never
evaluated (at least my class
I have a rule:
SOLUTION 1
===
when
cntct: Contact(initialized==true)
rel: Relation(contact==cntct, active:active == $1)
then
…
end
For this to run, it requires the Relation object asserted into working memory;
so I'd have to forcefully assert (Relation
Hi,
in a load intensive operation, if a pool of JDBC connections is exausted
the 'from' breaks. Ok, it should! (Not expecting magic :o) ) ,.. but I'm
concerned about the trace it generates.
The stack trace does not suggest the ground reality and is very abstract. Can
you have an enhacement to
Mark Proctor mproctor at codehaus.org writes:
I just looked at the decision-table implementation. The sequential
option there is different from rulebase sequential mode, my mistake
sorry. sequential the option just sets a salience value on each row,
based on row number. So I see no reason
Hi Mark,
based on previous post I decided to write my own implementation of
COnflictResolver and set that into RuleBaseConfiguration. All very well,
but how do I hook it up to my rule base?? I cant find methods to connect the
two. ..someone help, we're all gonna die ..kidding :o)
Appreciate
Hi,
I usually use decision tables without sequence. But there was a request Not to
use priority and if there was a conflict then the rule on top should get
priority.
I thought, sequence = true was a good way of ensuring that. But in the rules I
call update(); this forces all the rules to fire
they all have getInstance(), except
Composite, so it should be fine.
Hi Mark,
I appreciate the tip regarding writing cutom ConflictResolvers, I needed that
as a develper who cant keep his nose out of the core code.
But right now as an end user I have a problem. I opened my mouth about rules
Hi,
on the user forum, a post was sent to update from
http://labs.jboss.com/drools/downloads. (JAR Last updated 24th Jul 07)
I also took an update from:
http://repository.jboss.com/maven2/org/drools/ (JAR Last updated 31st Jul 07)
...or should I just simply take the latest build from maven ???
Hi Mark 2 different questions below:
BTW how do you implement sequential loading mode? is it there in the
documentation? please let me know even I'd like to experiment.
Also, I keep multiple sessions in memory loaded, A request sends Fact against a
session name; and that the execute for that
I feel using Drools would increase the
development time a lot.Also from a maintenance
perspective it might consume lots of effort.
Can anyone advice me what to use? also please let
me know the PRO's and Cons if any?
I think your main concern is mentioned in the last lines not the 80%
Hi,
In stateless Session:
If List of A1,B1,C1 are executed - execute(List)
and at the same time in a paralell thread A2,B2,C2 are executed - execute(List)
In Theory (Conceptually), I want to confirm if A1 will interfere with the
rule using A2? Just want to ensure what is appropriate or
Q1) So would either or both not contains or not in work?
Q2) Or is not contains only for List or Collection type? what about
HashMaps
then?
Q3) Stretching my actual use case to its limits; if I want to write
conditions
over objects that were never asserted into the working memory (need
mark.mcnally at comcast.net writes:
My rule now appears to be working after switching from the excludes
operator to the newer not contains.
This works:
$ca:CandidateAssociation(nurseDetails.stateLicensures not contains
patientDetails.state )
This does not:
Hi,
I have an Object 'Configuration'
public class BooleanConfiguration {
String paramName;
Boolean value;
Client client;
}
I asserted this object and the rule was not executing as I expected.
I put a break point in the object, and found that it set it correctly but
whenenver the rule
When I define a rule:
When
cntct:Contact (initialized==true)
exr:Relation( contact==cntct,
active:active==$1,
relationName==Old)
Then
contact.getStatus().setStatus(true);
contact.getStatus().addToReasonTrace(drools.getRule().getName());
end
..The bove works.
FYI
Let $1 = true
and the object Contact is declared 'final'
thanks,
Arjun
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Hi,
one doubt I've had while writing DRL scripts and also with others is:
A {
B b
C c
D d
};
If The rules are to be Written over A, B, C
Then should one assert B, C D also? --- Answer yes!
Ok, now that we've asserted them, in the Rule if one uses:
A.b; does the Rete graph recognize it as a
tom at bergstein-soraic.de writes:
I've a use case that is similar to the TroubleTicketExample that is part of
the drools examples.
In this examples new tickets are inserted via workingMemory.assertObject
(ticket). However, tickets are usually managed and stored in a ticketing system
Michael Neale michael.neale at gmail.com writes:
Hi Arjun - I wouldn't recommend re-using session unless there is some
expensive state you wish to reuse. Pooling them will use up far more resources
then freeing them. You should only pool expensive to obtain resources.
Hi Michael,
thanks
Hi,
I reported this earlier also, I cant understand why do we not provide AGENDA-
Group support for Decision tables, while we do provide Activation?
See DefaultRuleSheetListener.
I need to do two things:
1. Support sequencing of rule groups
2. allow two modes: a. Execute all rules, b. Break on
Just info, I ran a test on about a million requests (loop) and 50 threads.
approx 6 business Obectts and 15 rules. I did get any concurrent modfication
issues on JBoss Rules 4. Can you please post the rule scripts/DRL used
regards,
Arjun
Sorry Typo. I was saying is I did not get any
Hi,
I've been building a BRMS server over the Drools 4MR2 API.
The Server has a Boot process to allow to make it become a Rule server(s).
reads and XML configuration in which a user can specify the location of the
DRL, XLS, CVS, etc. During the Boot proocess it verifies thew authenticity of
QUESTION:: Is the session maintaining references to those objects ever after
executing them? Why are the objects not being released?
Specially I'd imagine for a STATELESS session (which is what I've set as
default).
Using JMeter this system crashes every time under load, even with a
Stateless sessions should not hold onto any references. Stateful do,
and dispose() must be called when its finished - otherwise the rulebase
holds a reference forever. If the rulebase is holding onto stateless
sessions, then that is a bug.
Mark
Thanks a lot Mark,
taking the latest binary
Hi,
I took the latest Snapshots from the trunk, to check if the memory leak
problem was fixed, but in compiling the rules i got:
The method modify(MyBusinessObject) is undefined for the type Rule_xxx
Have you removed modify()? so By default modify will be invoked without
having to explicitly
Michael Neale michael.neale at gmail.com writes:
Yes, as discussed, you need to add import statements for the types you want
the BRMS to be aware of - if you like, create a feature request jira for auto
importing. I deliberately didn't do it cause I thought it would cause more
confusion,
Hi,
I uploaded the JBoss Rules 4 WAR; I saw the repository options but no admin
console to run a service. Maybe I'm missing something?!?!
Q) Being under the cover of the JBoss server am sure there must be some
fascility to run this as a daemon service 'out of the box'! Right?? --
Important
49 matches
Mail list logo