Re: JESS: installing JessDE
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
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
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
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
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]