[rules-users] Inferencing
Greg Barton
greg_barton at yahoo.com
Mon Mar 8 16:34:10 EST 2010
You can have code generated rete and still maintain state. Edson mentioned OPSJ, and I can verify that (at least the last time I worked with it 10 years ago) it was code generated and maintained state.
http://www.pst.com/opsj.htm
http://www.pst.com/opsjbro.htm
--- On Mon, 3/8/10, Tim de Jager <tim.dejager at student.hu.nl> wrote:
> From: Tim de Jager <tim.dejager at student.hu.nl>
> Subject: Re: [rules-users] Inferencing
> To: "Rules Users List" <rules-users at lists.jboss.org>
> Date: Monday, March 8, 2010, 2:37 PM
>
>
>
> Thanks a lot everybody for their awnsers, this clarifies it
> to some extend :)!
>
> What I was talking about was indeed the difference between
> an: interpreted rete engine vs. code generated rete engine
> vs. the use of no inference engine at all (e.g. Visual
> Rules). One of the questions that pop up: Is it possible to
> maintain the same 'statefull' features with a code generated
> inference engine? Like you said Take generates a backward
> chaining algorith, but would it be able to react to a
> changed fact like drools can with the modify statement? Is
> code-generated Rete maybe comparable with the drools
> sequential mode?
>
> It could be that I'm mixing alot of things up, I can't find
> a whole lot on this subject.
>
> So do you have any insight on the differences between a
> interpreted rete engine an a code generated one. Would they
> differ in functionality in any way?
>
> Thanks!
>
> -----Oorspronkelijk bericht-----
> Van: rules-users-bounces at lists.jboss.org
> namens Edson Tirelli
> Verzonden: ma 8-3-2010 17:55
> Aan: Rules Users List
> Onderwerp: Re: [rules-users] Inferencing
>
>
> Hi Tim,
>
> That is a nice topic for studies, but be
> prepared for a tsunami of information and quite a few
> controversies. :)
>
> Regarding your question, I am not sure I
> completely understand what you mean, but it is important to
> be clear that "generation of code" is an orthogonal concern
> to the chosen algorithm. I.e., take the Rete algorithm for
> example: you can have it fully "interpreted" (I am using the
> term loosely here), you can generate code for it completely,
> or you can be anywhere in the middle. In all cases, the
> properties of the algorithm itself will be preserved
> (assuming the implementations are correct). Incurring the
> risk of making a mistake here, I will mention that AFAIK
> Jess falls in the first cathegory, OPSJ falls in the second
> and Drools falls in the 3rd, and they are all Rete based
> algorithms.
>
> Its been a long time since I last looked
> at TAKE, but at that time it was generating code for a
> backward-chaining-like algorithm. Not sure what it has now.
>
> So, my suggestion is that you either
> focus on the properties of the algorithms itself (for
> instance, are you comparing classic Rete with known
> algorithm like LEAPS, TREAT, etc) or focus on the advantages
> and disadvantages of code generation (for instance
> "interpreted Rete" versus "code generated Rete", again using
> terms loosely here). Mixing everything in a single
> comparison might be misleading.
>
> Edson
>
>
> 2010/3/8 Tim de Jager <tim.dejager at student.hu.nl>
>
>
>
> Hi everybody,
>
> I'm currently doing my bachelor thesis
> on Rule engines. This includes
> comapring different Rule engine
> products. I have set up a small Java program
> (Conway's game of life) and I'm writing
> the 'engine' in different Rule
> engines, while keeping the same
> GUI,CellGrid etc. I have already made a
> Drools based engine.
>
> I have been studying the Rule engine
> subject for somewhat more then a month
> now. And I'm currently seeing two
> different developments namely the use of
> an inference engine and the generation
> of embedded code instead (Take,
> Visual Rules etc.) I can see some
> of the pro's and cons with both
> paradigms. But I'm wondering what
> opinion some of you guys have on the
> subject.
>
> I can see that without inferencing
> it is very hard (or even impossible) to
> keep a statefull session inside the rule
> engine, haven't seen a
> non-inferencing rule engine which does
> offer this possibility. And also lose
> features like TMS. But what would be a
> concrete example where a statefull
> session is absolutely necessary? Instead
> of letting the engine reason over
> all the facts in stateless way. And
> managing conflicts with a ruleflow (see
> Visual Rules for a nice example).
>
> I'm looking forward to hearing your
> thoughts.
>
> Thanks,
>
> Tim
>
> P.S I already read two of Mark Proctors
> blogs on inferencing, but while
> enlightening, they didn't supply me with
> a definitive awnser
> --
> View this message in context: http://n3.nabble.com/Inferencing-tp435411p435411.html
> Sent from the Drools - User mailing list
> archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss by Red Hat @ www.jboss.com
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list