I think Satish boggavarapu wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
>
> Hi,
>
> I have few questions regarding Jess.
>
> 1) Considering the scenario of a Network management application, If there is
> a KB of Network topology what are the choices of representing it? Can i use
> XML to represent it and load the KB in to Jess?
Jess can't read XML directly, but XML can be a handy intermediate
representation; you could then write a small program to translate from
XML to Jess's rule language. There is a project to define a RuleML
langauge -- see http://www.dfki.uni-kl.de/ruleml/. I've stated my
intention to support RuleML in the future.
>
> 2) If the alarm events are coming in as Structured CORBA events with
> key/value pairs (Slots in an Alarm object), would it be better if i
> represent them in the rete net as they are? Or would it be better to write a
> wrapper which builds the Alarm object and assert it in to the network. Which
> one is better? Are there any performance hits?
>
> Structures events. A.B.key = xyz, A.B.val = abc
> Object: A { xyz = val; }
Jess can only pattern-match on things with a fixed, known set of
slots, like a Java Bean; the fixed set of sttributes must be known at
the time the rules are compiled into a Rete network. So only the
latter works.
>
>
> 3) Does Jess uses Hashtables for its internal storage? Or lists? O(N)? or
> O(N * N)? Some where i saw a benchmark saying Jess is 20 times faster than
> CLIPS for large N. Is this the result of the way its internal storage
> mechanism is handled?
The Rete-memory data structures are most like hash tables, but they're
not java.util.Hashtables. The performance gain, which is real for
applications limited by Rete-memory lookup time, comes from an adptive
indexing algorithm. Basically the slots from which the hash code used
in each memory is generated are chosen based on the pattern
corresponding to that memory; given whatever the pattern needs to
access, the index key is chosen to make that access as fast as
possible. See http://aaaprod.gsfc.nasa.gov/teas/Jess/JessUMBC/ for the
slides from a talk I've given about Jess's internals.
>
> 4) If i have an object and some of its attributes are matched against a
> pattern, will the whole object go in to rete net? Or only the parts of the
> object that are matched? how does this work. If the whole object goes in to
> the rete net, does representing attributes in structured events makes sense?
>
Section 2.7.4. of the Jess manual explains how Java Beans are
pattern-matched.
>
> 5) Is it a good idea to call the Java methods which Jess functions call
> internally, directly from java code?
>
Jess is fairly carefully written such that methods that are public are
public for a reason (so you can call them) and methods that are not,
are not for a reason (because you shouldn't call them.)
> 6) Are there any benchmarks of any known implementations of applications
> using Jess to verify the stability and performance?
>
See the slides noted above for some of the classic ES benchmarks.
> I appreciate your opinions and answers.
>
> Thanks in Advance
> Satish.
>
> ---------------------------------------------------------------------
> 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]
> ---------------------------------------------------------------------
>
---------------------------------------------------------
Ernest Friedman-Hill
Distributed Systems Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
Org. 8920, MS 9012 [EMAIL PROTECTED]
PO Box 969 http://herzberg.ca.sandia.gov
Livermore, CA 94550
---------------------------------------------------------------------
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]
---------------------------------------------------------------------