Re: JESS: Jess IDE in Eclipse 3.5.1

2009-11-20 Thread Hal Hildebrand
ce > these were first released. For quite a while they've been supporting two > mechanisms, but perhaps the old one has finally stopped working. > > Unless they're working for anybody else under 3.5.1 ? > > > On Nov 19, 2009, at 7:24 PM, Hal Hildebrand wrote: >

JESS: Jess IDE in Eclipse 3.5.1

2009-11-19 Thread Hal Hildebrand
Well, still having issues with this. found this warning in the log, which explains why things are getting messed up: The extensions and extension-points from the bundle "gov.sandia.jess" are ignored. The bundle is not marked as singleton. Anyone else having issues with the IDE under Ec

Re: JESS: Jess 7.1p2 with Eclipse 3.5

2009-09-01 Thread Hal Hildebrand
und. The class is there. When I actually build and run tests, which use this .clp, things work just find (this is a very old project, anyway). It's just in the editor that things seem to go south. On Aug 31, 2009, at 12:16 PM, Hal Hildebrand wrote: Wondering if there's a

JESS: Jess 7.1p2 with Eclipse 3.5

2009-08-31 Thread Hal Hildebrand
Wondering if there's any known issues with the IDE integration of Jess with the latest Eclipse. Running into an issue where the resources and classes are not being found on the class path. I am using the Maven plugin, however classes in the same project as the .clp are not being found.

Re: JESS: Rule firing an threads

2009-02-17 Thread Hal Hildebrand
erArg)) the function "some-function" will be evaluated asynchronously. import java.util.concurrent.Executor; import jess.*; /** * @author Hal Hildebrand * Evaluates the passed Jess function call via an executor */ public class BackgroundProcessor implements Userfunction { protected Ex

Re: JESS: New article available

2009-02-10 Thread Hal Hildebrand
Can you post the link to this article? I can't seem to find where you've posted it. Thanks. On Feb 10, 2009, at 7:11 AM, Ernest Friedman-Hill wrote: I've posted a new article on the Jess web site: "Predicate Calculus and Jess," by Wolfgang Laun. This paper shows how Jess can be used to i

Re: JESS: Announcing The Zen of Jess Blog

2009-01-29 Thread Hal Hildebrand
ha! very cool. thx. On Jan 29, 2009, at 2:03 PM, Jason Morris wrote: Hi All, After a nearly three year hiatus and at the bequest of James Owen, I have decided to reactivate my blog on applied Jess technology. To motivate myself, I'll start a thread about my on-going work with the Universi

Re: JESS: Problem with variables and rule syntax

2008-12-30 Thread Hal Hildebrand
what is the ?n in your rule? The problem you're having is that ?n isn't a variable. Think about where you believe you're binding ?n - in your example, it's just "there". On Dec 30, 2008, at 4:29 AM, serendipity wrote: hello!(sorry about my bad english) I am working first time with jess a

Re: JESS: Generic Rules Modelling for using OWL Ontology

2008-11-20 Thread Hal Hildebrand
Are you talking about defaults? If so, then the java object itself can set the default state of the slot. However, there's really nothing that either Jess or Java is going to provide to help you set up the initial state of a system which cannot be set up via some algorithm. If there is no progr

Re: JESS: Preferred rules formulation using NOT CE

2008-11-17 Thread Hal Hildebrand
ainst a literal value. Having a NOT CE that declares a binding isn't really valid, if I'm not mistaken. peter On Mon, Nov 17, 2008 at 12:23 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: Which is more efficient: (DOMAIN::planned-process (host-id ?host) (id ?pid) (pla

JESS: Preferred rules formulation using NOT CE

2008-11-17 Thread Hal Hildebrand
Which is more efficient: (DOMAIN::planned-process (host-id ?host) (id ?pid) (plan ?plan)) (not (DOMAIN::host-association (host ?host))) (not (DOMAIN::decommission-process (process ?pid))) or (not (DOMAIN::host-association (host ?host))) (not (DOMAIN::decommission-process (

Re: JESS: Setting Shadow Facts In Defrules

2008-11-17 Thread Hal Hildebrand
Note that Jess also understands getter and setter conventions, so: (set ?door state "open") is equivalent to (?door setState "open") On Nov 17, 2008, at 7:44 AM, Wolfgang Laun wrote: The Jess User Manual 5.3.2 explains about the OBJECT slot in shadow facts which you get in addi

Re: JESS: A "proper" prolog interpreter?

2008-11-05 Thread Hal Hildebrand
No, I understand that. It's just that what I've currently done hasn't needed anything more than what JESS provides. I am taking a look at CHR again, and looking to see what's under the hood and what the capabilities are. On Nov 5, 2008, at 5:17 AM, Peter Van Weert wrote:

Re: JESS: A "proper" prolog interpreter?

2008-11-04 Thread Hal Hildebrand
, 2008, at 8:09 AM, Peter Van Weert wrote: Hal Hildebrand wrote: Thanks, this is helpful. The main issue I'm going to have with this is the implicit backward chaining in Prolog... Will have to do a lot more investigation to see if JESS is even suitable for these investigations. Most cur

Re: JESS: A "proper" prolog interpreter?

2008-11-04 Thread Hal Hildebrand
rules. Haley's does have NAF, though. Hal Hildebrand wrote: I'm doing some offline research on Reiter's GOLOG and came across hi assertion that he requires a "proper prolog interpreter". Since I'm going to be using JESS rather than a prolog interpreter for this bit of i

Re: JESS: A "proper" prolog interpreter?

2008-11-04 Thread Hal Hildebrand
Thanks, Peter. Your point about there not being a "proper" Prolog interpreter according to that definition is shared by Reiter. On Nov 4, 2008, at 12:23 AM, Peter Van Weert wrote: Hal Hildebrand wrote: I'm doing some offline research on Reiter's GOLOG and came across

JESS: A "proper" prolog interpreter?

2008-11-03 Thread Hal Hildebrand
I'm doing some offline research on Reiter's GOLOG and came across hi assertion that he requires a "proper prolog interpreter". Since I'm going to be using JESS rather than a prolog interpreter for this bit of investigation, I was wondering if JESS actually does meet his requirement: A proper Pro

Re: JESS: Test for null

2008-10-30 Thread Hal Hildebrand
Are you talking about whether the slot is "nil" or not? You can just do: (some-slot nil) to match for an empty slot or (some-slot ~nil) to match a non-empty slot On Oct 30, 2008, at 7:58 AM, David Coyle wrote: Hello: I'm working with objects that have numerous relationships to others. Th

Re: JESS: accumulate not setting variable?

2008-10-17 Thread Hal Hildebrand
below. Using a group will not give an error message in most cases -- you'll just get a broken rule, which is what's happening here. On Oct 16, 2008, at 2:01 PM, Hal Hildebrand wrote: (defrule allocate-resource (declare (auto-focus TRUE)) (DOMAIN::group (id ?group) (unit-cpu ?unit

Re: JESS: accumulate not setting variable?

2008-10-16 Thread Hal Hildebrand
(defrule allocate-resource (declare (auto-focus TRUE)) (DOMAIN::group (id ?group) (unit-cpu ?unit-cpu) (unit-memory ? unit-memory)) ?deployment-state <- (DOMAIN::deployment-state (placement-strategy ?strategy) (placmeent-type ?type) (id ? state) (plan ?plan) (current-cp

JESS: accumulate not setting variable?

2008-10-16 Thread Hal Hildebrand
Under what circumstances with the accumulate CE not set the variable? For example: ?var <- (accumulate ) When will ?var not be set? What I'm seeing is that I'm using accumulate as the last pattern on the LHS of a rule. The rule is evaluated and I'm using the variable assigned to the result

Re: JESS: How to use templates inside facts

2008-09-29 Thread Hal Hildebrand
I treat facts like I would rows in a relational database, with templates as tables, and slots acting as keys to other facts. So, a slot, or combination of slots, contain the key which identifies the fact in question. The question, then is how far you normalize your domain. For me, this

Re: JESS: How to use templates inside facts

2008-09-29 Thread Hal Hildebrand
You'll have to use something like: (deftemplate link (slot x1) (slot y1) (slot x2) (slot y2) ) On Sep 28, 2008, at 1:57 PM, Levent Kent wrote: Hi, I am a new user fo Jess and try to get some understanding for the engine. I cant understand why the code below does not work. (d

Re: JESS: Replacing Facts

2008-09-11 Thread Hal Hildebrand
How would you write the rules relying on the referred to facts? Just curious to find out, as this would be a useful technique... On Sep 11, 2008, at 6:00 PM, [EMAIL PROTECTED] wrote: Thank you Wolfgang, this is a clever idea. I will think about it some more. On Sep 11, 2008, at 10:24 AM, W

Re: JESS: Re: functions as values and calling them

2008-08-25 Thread Hal Hildebrand
lArg1.type())); } On Thu, Aug 14, 2008 at 6:51 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: So I figured out how to fix this to do what I want. Basically, the CallLambda Userfunction needs to check that the first argument is a RU.BINDING in addtion to RU.LAMBDA. This this fix, things work

Re: JESS: functions as values and calling them

2008-08-25 Thread Hal Hildebrand
uot;hal.clp") ; TRUE ; Jess> (batch "hal.clp") ; MAIN::test-me: +1+1+1+t ; ==> Focus MAIN ; ==> f-0 (MAIN::initial-fact) ; ==> f-1 (MAIN::functional-fact (func )) ; ==> Activation: MAIN::test-me : f-1 ; FIRE 1 MAIN::test-me f-1 ; 1 > 0 ; <== Focus MAIN ;

JESS: Re: functions as values and calling them

2008-08-24 Thread Hal Hildebrand
g <= narg; iArg++) { av.add(vv.get(iArg)); } // ...call and return the result. return d.call(av, context); } } On Aug 14, 2008, at 9:04 AM, Hal Hildebrand wrote: Have tried using the CallLambda Userfunction class from http://herzberg.ca.sandia.go

JESS: Re: functions as values and calling them

2008-08-24 Thread Hal Hildebrand
sage: first argument is not a lambda definition. 4096. Program text: ( defrule test-me ( functional-fact ( func ?f ) ) ( test ( lcall ?f 0 ) ) = > ( printout t "1 > 0" crlf ) ) at line 17. Seems as though nothing I can do with the slot value will turn it into a function call. On A

JESS: functions as values and calling them

2008-08-24 Thread Hal Hildebrand
I would like to have functions contained in the slot value of a fact and then apply them. I can create and assign the function values by using (lambda ...), which seems to be what I'm looking for on that side of the equation: (deftemplate functional-fact (slot func) ) (assert (functiona

JESS: Re: lazy nature of default-dynamic

2008-08-04 Thread Hal Hildebrand
Okay, this seems to be not the case - i.e. that the evaluation of the default-dynamic outside of the engine seems to work just fine. On Aug 2, 2008, at 8:05 AM, Hal Hildebrand wrote: I would like to create facts with the values initialized to unique value for each asserted fact. I do this

JESS: lazy nature of default-dynamic

2008-08-02 Thread Hal Hildebrand
I would like to create facts with the values initialized to unique value for each asserted fact. I do this, naturally, using the default- dynamic. However, I'm using the listener hooks and need to access this value outside of the rules engine proper. When I do so, the evaluation of the function

Re: JESS: trigger when all referred elements of a list in a particular state?

2008-07-23 Thread Hal Hildebrand
s fantastic. On Jul 23, 2008, at 8:53 PM, Hal Hildebrand wrote: Sorry for the wacky subject line, but can't think of a good way to describe what I'm attempting. Suppose I had something like the following: (deftemplate some-state (multislot list-o-things)) (deftemplate thing (slot

JESS: trigger when all referred elements of a list in a particular state?

2008-07-23 Thread Hal Hildebrand
Sorry for the wacky subject line, but can't think of a good way to describe what I'm attempting. Suppose I had something like the following: (deftemplate some-state (multislot list-o-things)) (deftemplate thing (slot id) (slot state (default "1"))) (defrule transition-2 (some-state (list-o-

Re: JESS: load-function problem

2008-02-20 Thread Hal Hildebrand
Make sure the directory name of the project is the same as the name of the project. 7.1 has a bug in that if they are named differently, the resources can't be found - e.g. if your eclipse project is "my-proj", then it must be in a directory called "my-proj". On Feb 20, 2008, at 3:58 PM, Marco

Re: JESS: Matching on multi-slot length

2008-02-20 Thread Hal Hildebrand
like the rule is handling join/fork from a BPM graph? On Feb 20, 2008 10:24 AM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: I only posted an abstraction to figure out my problem, leaving out the other details. What I'm doing is essentially modeling workflow which manages to some

Re: JESS: Matching on multi-slot length

2008-02-20 Thread Hal Hildebrand
I only posted an abstraction to figure out my problem, leaving out the other details. What I'm doing is essentially modeling workflow which manages to some target number of instances, so the fact in question is further qualified by other attributes as you have indicated. On Feb 20, 2008, at 6:29

Re: JESS: Matching on multi-slot length

2008-02-20 Thread Hal Hildebrand
st2) ) (test (eq (length$ ?list1) (length$ ?list2) ) ) => (printout t "the lists have the same length) ) that's how I've done it in the past. there might be an easier way. On Feb 19, 2008 4:04 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: I've been strugglin

Re: JESS: Matching on multi-slot length

2008-02-19 Thread Hal Hildebrand
) ) (test (eq (length$ ?list1) (length$ ?list2) ) ) => (printout t "the lists have the same length) ) that's how I've done it in the past. there might be an easier way. On Feb 19, 2008 4:04 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: I've been struggling with tr

JESS: Matching on multi-slot length

2008-02-19 Thread Hal Hildebrand
I've been struggling with trying to formulate a LHS which tries to match the length of one of the fact's multislots with another slot. For example: (deftemplate foo (multislot my-list) (slot desired)) I've tried the following: (foo (my-list ?my-list) (desired = (length$ ?my-list)) (foo { desir

Re: JESS: Distributed Jess Engine?

2008-02-06 Thread Hal Hildebrand
Very little in the literature (There's DJess). I've got a model I've been working for my needs, but it requires Coherence. Peter Lin has, I believe, a couple of patents in this area and a lot of excellent ideas. On Feb 6, 2008, at 11:57 AM, Mohd. Noor wrote: Hi all, Is that any answer t

Re: JESS: Eclipse 3.3.1.1 and Jess Editor on Mac OS X 10.5

2008-01-04 Thread Hal Hildebrand
I'm using Eclipse Version: 3.3.2 Build id: M20071107-1100 OS X 10.5 java 1.5.0_13 and things are working fine. I did move to Jess 7.0p2, though. On Jan 4, 2008, at 7:58 AM, JimYates wrote: I'm having trouble getting Eclipse 3.3.1.1 to open .clp files running Mac OS X 10.5 Leopard.I ha

Re: JESS: Updating shadow facts from object copies

2007-12-10 Thread Hal Hildebrand
Wouldn't the fact id be (potentially) different in different instances of the rules engine? I believe these are assigned in declaration order, so unless every instance is defining instances in precisely the same order, then you'd end up with the same logical fact having different ids in di

Re: JESS: suitability of jess to large (but simple) fact-sets

2007-11-28 Thread Hal Hildebrand
On Nov 27, 2007, at 8:53 PM, Ernest Friedman-Hill wrote: n Nov 27, 2007, at 2:45 PM, Hal Hildebrand wrote: On Nov 27, 2007, at 10:59 AM, Ernest Friedman-Hill wrote: Jess doesn't spool working memory to disk; it lives in RAM. There are techniques for telling Jess how to only loa

Re: JESS: suitability of jess to large (but simple) fact-sets

2007-11-27 Thread Hal Hildebrand
On Nov 27, 2007, at 10:59 AM, Ernest Friedman-Hill wrote: Jess doesn't spool working memory to disk; it lives in RAM. There are techniques for telling Jess how to only load the facts it actually needs, however. Can you elaborate a bit more on that? ---

Re: JESS: Re: how to make a rule

2007-11-16 Thread Hal Hildebrand
nt is - my new rules/facts must be able be updated and evaluated of there is any request related at particular time. Any ideas/comments are very much welcome. mnoor On Nov 15, 2007 11:15 PM, Hal Hildebrand <[EMAIL PROTECTED] > wrote: The rules are compiled into classes, so yes,

Re: JESS: Re: how to make a rule

2007-11-15 Thread Hal Hildebrand
go through the examples of JCHR, it look like that we have to hardcoded the rules. Am I right/wrong?. Cheers On Nov 15, 2007 7:35 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: There's a life cycle involved, so you're never going to get a system with continuously varying stat

Re: JESS: Re: how to make a rule

2007-11-15 Thread Hal Hildebrand
gestions are welcome Cheers mnoor On Nov 15, 2007 5:09 PM, Hal Hildebrand <[EMAIL PROTECTED]> wrote: What you are describing is constraint programming. You can do this with Jess, but it's not exactly the best (imho) tool for the job due to what is involved. The combinatorics are

Re: JESS: Re: how to make a rule

2007-11-15 Thread Hal Hildebrand
What you are describing is constraint programming. You can do this with Jess, but it's not exactly the best (imho) tool for the job due to what is involved. The combinatorics are nasty in all but the simplest examples. For a constraint solver that runs (with minor tweaks) in Jess, see ht

Re: JESS: Rete.clear() and JessEvent.CLEAR

2007-09-28 Thread Hal Hildebrand
with the slight addition of a possibly unneeded check to handle any non listeners when clear() is called again. On 9/28/07 10:47 AM, "Ernest Friedman-Hill" <[EMAIL PROTECTED]> wrote: > > On Sep 28, 2007, at 12:32 PM, Hal Hildebrand wrote: > >> Can anyone answer as

Re: JESS: Rete.clear() and JessEvent.CLEAR

2007-09-28 Thread Hal Hildebrand
Can anyone answer as to whether this is a bug, or that I have to modify my code in some way as to set the event mask such that my handler is called after clear(). Just wondering what I should be doing. On 9/26/07 3:08 PM, "Hal Hildebrand" <[EMAIL PROTECTED]> wrote: > In the

JESS: Rete.clear() and JessEvent.CLEAR

2007-09-26 Thread Hal Hildebrand
In the doc, it says to use the JessEvent.CLEAR to re-set up your event mask on the engine (section 10.11 in the 7.0p1 manual). "One added wrinkle: note how the handler for JessEvent.CLEAR sets the event mask. When (clear) is called, the event mask is typically reset to the default. When event hand

Re: JESS: Jess JessTab protege

2007-09-11 Thread Hal Hildebrand
These are functions provided by the JessTab plugin to Protégé (http://www.ida.liu.se/~her/JessTab/) which allows it to pull in the model you build in Protégé via modeling in OWL or another ontology language and operate on it with Jess. It's billed as a kind of OO extension to Jess and I haven't pe

Re: JESS: LHS, lists and productions.

2007-09-07 Thread Hal Hildebrand
Ah. Should have paid more attention to the details. This has been a tremendous help and my rules make much more sense and don't have that really ugly feel to them. Thanks! On 9/7/07 10:32 AM, "Ernest Friedman-Hill" <[EMAIL PROTECTED]> wrote: > > On Sep 7, 2007,

Re: JESS: LHS, lists and productions.

2007-09-07 Thread Hal Hildebrand
; Same idea: >> >> (defrule removeTransforms >> ?t <- (transform (source ?id) (template ?t)) >> (not (source (id ?id)(templates $? ?t $?)) >> => >> (retract ?t)) >> >> >> On Sep 7, 2007, at 11:57 AM, Hal Hildebrand wrote: >>>

Re: JESS: LHS, lists and productions.

2007-09-07 Thread Hal Hildebrand
te: > Same idea: > > (defrule removeTransforms > ?t <- (transform (source ?id) (template ?t)) > (not (source (id ?id)(templates $? ?t $?)) > => > (retract ?t)) > > > On Sep 7, 2007, at 11:57 AM, Hal Hildebrand wrote: > >> Doh! That does work

Re: JESS: LHS, lists and productions.

2007-09-07 Thread Hal Hildebrand
quot;id" slot of a new "source" fact is the criterion for > creating the "transform" facts: > > (defrule makeTransforms > ?s <- (source (id ?id)(templates $?templates)) > (not (transform (source ?id))) > => > (foreach ?temp $?templates &

JESS: LHS, lists and productions.

2007-09-07 Thread Hal Hildebrand
I have a system where I need to ensure that for every member of a list, there is a fact which contains that member. For example, here's my domain: (deftemplate source (slot id) (multislot templates)) (deftemplate transform (slot source) (slot template)) What I would like is to write some rules

JESS: RESEND: Evaluating a function passed in an argument

2007-09-06 Thread Hal Hildebrand
Resending in plain text as I guess the list rejects HTML mail... I'm providing simulation functions which stand in for my Userfunctions and I ran into an interesting pickle I couldn't figure out how to correctly solve To unsubscr