Re: JESS: installing JessDE

2008-06-25 Thread Gary Napier

Hi Seyed,

I've personally not tried JESS in 3.4 yet. (it get's officially released
today), however i wouldn't expect any major problems due to backward
compatibility.

Please could you go into help-software updates - manage configuration.

You should have 3 buttons, that show various groups in the tree below.
Make sure all three are on, especially the 3rd one, show disabled features.

Now navigate the tree and see if you can find any reference to JESS. If
it is there, check what issues jess has and report them to us for
further advice,

If you have no JESS entries, then the problem rests with where the
plugins and features are put on your system. Close eclipse
The base directory is eclipse (from what you have said, Desktop/Eclipse)
and should contain a plugins and features directory as well as the
eclipse binary.
The jess download has a folder called eclipse, and in that there are 5
zip files. If you extract these 5 zip files to the one directory (say
c:\temp\jess) you should find 2 folders.
These two folders are plugins and features. Copy both folders to your
eclipse directory (overwrite is ok, as it will merge old folders with new)
Now run eclipse, and follow the same checks for the features...
(remember to clean up your temp directory afterwards)

Hope that helps.
Gary


seyed hossein wrote:

Hi
It's been more than a month for me trying frustaingly to install the
JessDE on Eclipse but they all failed. To install JessDE, I've
downloaded both the Eclipse Classic 3.4 and the Eclipse IDE for
Java EE Developers from the Eclipse website, then saved them both on
my desktop, installed and ran Eclipse. After exitting Eclipse, for
each Eclipse version, I coppied all the files from Jess70/eclipse and
pasted in my Desktop/eclipse file, then extracted them. When I checked
the Desktop/eclipse/plugins, but the gov.sandia.jess_7.0.0 did not
appear, nor did any of the other gov.sandia... files exist under their
corresponding directories. Therefore, no such Jess logo appeared in
the EclipseHelpAbout Eclipse Platform. I even tried transferring the
Jess files to their Eclipse directories manually but they still didn't
show up in the Plugin Details under EclipseHelpAbout Eclipse Platform.
Could anyone tell me where I'm wrong.
Where is the top-level Eclipse installation directory meant to be?
Is extracting a file equavalent to unzipping a file (unzip was not
an option for the files, only extract was there)?
Once Jess does function in Eclipse, how do we open/create a *.clp file
in it?
Thank you


--
_
Gary Napier
Alpha Lab
Institute for Energy and Environment
Department of Electronic and Electrical Engineering
University of Strathclyde Royal College Building
204 George Street
Glasgow
G1 1XW

e: [EMAIL PROTECTED]

t: 0141 548 2665




To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




Re: JESS: Linked list / Sorted List Design Pattern

2008-05-11 Thread Gary Napier

Hi Wolfgang,
thanks for the proposed solution. My case is a little more complex than
this.

Because of the data skew and possibility of missing events, i keep the
initial facts in working memory for a long period of time (48hrs at
current settings, to allow delayed comms)
So the computation would become burdensome as each new open close fact
entered working memory and was tested against every existing fact. I was
hoping to have one list type construct that each new fact can be judged
against and
then included in that construct, then when the 48hrs are up, pairs can
be picked off the construct like removing the head of a list, at which
point the initial facts can be retracted.

So pseudo code

assert OPEN 0845
open is added to list, no computation as list is empty
assert OPEN 0815
open is added to the list, ahead of OPEN 0845 as time0815  time0845

(same happens for close on its list construct)
(48 hrs pass)
rule fires to remove head of both lists, assert an access fact and
retract the open and close facts that generated the initial list entries

I have been perusing this idea and trying to relate it to multislots or
have an extra slot for an index number to represent the elements of the
list, but i'm new to multislots

Any help would be appreciated.

Thanks
Gary


Wolfgang Laun wrote:

As you state it, there is no need to sort all open and close events so
that you can combine an OPEN to ist closest CLOSE. The conditions that
define, for any OPEN, the matching CLOSE are simple enough:

deftemplate Open   (slot time))
(deftemplate Close  (slot time))
(deftemplate Access (slot begin)(slot end))

(defrule MatchOpenClose
   For any matching OpenClose, create an Access
   ?open  - (Open  (time ?otime))
   ; a matching CLOSE must not be earlier
   ?close - (Close (time ?ctime :(= ?ctime ?otime)))
   ; there must not be a closer CLOSE
   (not (Close (time ?xtime :( (- ?xtime ?otime)(- ?ctime ?otime)
=
   (retract ?open)
   (retract ?close)
   (assert (Access (begin ?otime)(end ?ctime)))
)

(deffacts Opcl
   (Open  (time  845))
   (Open  (time 1045))
   (Close (time  900))
   (Close (time 1115))
   (Open  (time 1215))
   (Close (time 1215))
)

(reset)
(run)
(facts)


f-0   (MAIN::initial-fact)
f-7   (MAIN::Access (begin 845) (end 900))
f-8   (MAIN::Access (begin 1045) (end 1115))
f-9   (MAIN::Access (begin 1215) (end 1215))
For a total of 4 facts in module MAIN.

Regards
Wolfgang


On Fri, May 9, 2008 at 8:41 PM, Gary Napier [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] wrote:

My basic problem is this.
I have two events, OPEN and CLOSE, both timestamped

I would like to relate an OPEN and CLOSE to generate a new fact X
However with data skew, there may be a mix of OPEN and CLOSE facts
mixed, such that

OPEN 7:15
CLOSE 9:00
CLOSE 8:00
OPEN 8:15

Would there be any way of sorting these facts (possibly in a multi
slot
or using an extra slot) so that they were ordered.






To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




JESS: Linked list / Sorted List Design Pattern

2008-05-09 Thread Gary Napier

Hi All,

I'm looking to implement some sort of ordered list of jess facts.

My basic problem is this.
I have two events, OPEN and CLOSE, both timestamped

I would like to relate an OPEN and CLOSE to generate a new fact X
However with data skew, there may be a mix of OPEN and CLOSE facts
mixed, such that

OPEN 7:15
CLOSE 9:00
CLOSE 8:00
OPEN 8:15

Would there be any way of sorting these facts (possibly in a multi slot
or using an extra slot) so that they were ordered.

At the moment i have jess exporting these to a Java vector, sorting as
needed and returning the results. Is there a more efficient way to
do this using rules?

Thanks
Gary





To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




JESS: Jess Casting/ Inheritance

2008-01-11 Thread Gary Napier

Hi all,
First off, many thanks to Wolfgang for the temporal solution. It works a 
treat, and i should learn to read the wiki more closely.

Sadly though my rocket ship is not up up an away yet ;-)

I am looking for a little info on the JESS inheritance model.

I have an alarm deftemplate derived from my Alarm class.
I would like jess to analyse these incoming alarms and highlight the 
important ones.
So the output from jess is Super_Alarm. Both classes share many slots / 
fields.


Now the question.
If i have *deftemplate* Super_Alarm *from class* Super_Alarm *extends* 
Alarm :


A) Can i cast an alarm to a super alarm and fill in the new fields

B) What is JESS's mechanism for doing this (in comparison to performance 
of the solution below)


currently i pass the alarm Object slot into the constructor of 
Super_Alarm which is full of : this.setX(alarm.getX() );


Thanks
Gary






To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




JESS: Design check - Tempral Issues

2008-01-08 Thread Gary Napier

Hi Folks,

I'm looking to use JESS in an alarm processor subsystem. I look to your 
experience to let me

know if JESS is the right tools or if there is a better solution.

My main question is about handling temporal issues within JESS. Such as 
rule timeouts. What i think I'm looking for is a
implementation of a watchdog timer or similar. Or maybe I've missed 
something (like backward chaining : not sure I

understand that really ) that already accomplishes the following:

For example. Rule X fires is rules A, B and C fire. Rule X outputs the 
message  A and B and C fired
howeverRule Y fires if rules A and C fire but rule B does not. 
Rule Y outputs the message  A and C fired. But B failed to fire


Now in my application the data can be received out of order and 
sometimes due to faults are never received.
I would like rule Y to fire to signal that data has not been received 
BUT only after an appropriate time out, in case the data is delayed


At the moment :
(A) fact asserted (i.e. data enters to satisfy rule A)
Rule A fires
(C) fact asserted
Rule C fires
Rule Y fires
A and C fired. But B failed to fire
(B) fact asserted
Rule B fires
Rule X fires
A and B and C fired

Net result : the operator sees a problem message where none exists. 
Since this is output from the JESS engine,

the output cannot be recalled or de asserted like facts in working memory.

ideal solution :
Rule Y modified to fire only if (B) is not received 30 seconds after all 
other conditions are met

(A) fact asserted
Rule A fires
(C) fact asserted
Rule C fires
Rule Y fires - but now waits till its timeout expires
 16 seconds pass 
(B) fact asserted
Rule B fires
Rule Y expires as conditions are not met
Rule X fires
A and B and C fired
reset
(A) fact asserted
Rule A fires
(C) fact asserted
Rule C fires
Rule Y fires - but now waits till its timeout expires
 31 seconds pass 
Rule Y fires as conditions are now met
A and C fired. But B failed to fire

PS. I would be willing to write this up for the wiki later if a good 
JESS solution is hammered out.

Thanks
Gary



To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]