Thanks

>Jess lets you define new rules, and remove old ones, while a system
>is running, and facts (like the "property" facts) can come and go all
>the time, as well.

How about the template - can we redefine the template as well as update the
existing one?
Do we need install jess-engine in each broker? or it can be embedded with
Java?

cheers



On Nov 16, 2007 3:40 PM, Ernest Friedman-Hill <[EMAIL PROTECTED]> wrote:

> Hi,
>
> I'm not sure how this conversation drifted into a discussion of
> *alternatives* to Jess; I don't see any problem with doing this
> application in Jess itself.
>
> If you need to have properties like "service" come and go in a
> running system, then the way to do that is the same way you'd do it
> in any database-like system: make the property names into data. So,
> for example
>
> (deftemplate computer (slot name))
> (deftemplate property (slot computer) (slot name) (slot value))
> (deftemplate user-wants (slot name) (slot value))
>
> (assert (computer (name A))
>         (property (computer A) (name RAM) (value 1GB))
>         (property (computer A) (name service) (value BLAST)))
>
> The rules look a little different, but not much
>
> (defrule find-something
>     (computer (name ?c))
>     (property (computer ?c) (name ?p) (value ?v))
>     (user-wants (name ?p) (value ?v))
>     =>
>     (printout t "Computer " ?c " fits the user criteria " ?p " = " ?
> v crlf))
>
> Jess lets you define new rules, and remove old ones, while a system
> is running, and facts (like the "property" facts) can come and go all
> the time, as well.
>
> In a real system, you'd probably use multiple user-wants facts at a
> time, and you could use the "forall" conditional element to match
> computers which meet all of them.
>
>
>
> On Nov 16, 2007, at 2:54 AM, Mohd. Noor wrote:
>
> > let me extend my example
> >
> > say
> >
> > > Computer A:
> > >            CPu =100
> > >            RAM = 1GB
> > >            s/w = c++
> > > Computer B:
> > >           CPU =20
> > >           RAM = 512M
> > >           S/w =spps
> > > Computer C
> > >           CPU =12
> > >           RAM = 2GB
> > >           s/w = mathlab
> > >>>       service = bioInformatic service(BLAST) - this is a new
> > service
> >
> > with refers to Computer C, it just introduced/published in the
> > broker a new attribute/property namely service. I wonder how this
> > infrormation  being made available in Jess/JHCR/any other
> > techniques on the fly- with that, the "user-wants" could be easily
> > satisfied.
> > in this case - user-wants might be "run my application with mathlab
> > and use the BLAST tools" - which not priory available on the
> > origional rules/facts declaration. My  requirement  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, they are hard coded in
> > that sense.  But you can compile on the fly and create new systems
> > of rules.
> >
> > However, the question comes down to what are the constraints you
> > are trying to solve?  Is it true that the constraints are changing
> > and therefore you need to create a new system of constraints?  Or
> > is the data changing and the system remains unchanged.   If you do
> > have to change the constraint system/rules, then under what
> > conditions?  Are you changing the constraint system when you could
> > be modeling this as data that the constraint system uses (thus
> > eliminating the need to change the constraints)?  If not, then how
> > often does the constraint system change?  For example, is it a time
> > based policy, like 8am - 4pm, these constraint rules are used, but
> > 5pm - 7am, we use a different set?  If so, then the life cycle
> > doesn't change - merely the equations/rules.  You can therefore
> > create a model where you can switch in the constraint system to
> > satisfy.
> >
> > You can also use object oriented techniques with constraints
> > ( http://tinyurl.com/2rfdck ).  This would allow you to subclass,
> > use polymorphism, etc, which may allow you to have an extensible
> > system which doesn't require changing the constraints.
> >
> > There's a lot of modeling choices out there...
> >
> > On Nov 15, 2007, at 2:46 PM, Mohd. Noor wrote:
> >
> >> Yes, - I noticed that we have to consider the state of resource at
> >> certain point of time.
> >>  I 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 state (nor would you really want
> >> to), thus it has to be sampled discretely.  The result is a system
> >> which triggers when the sampled values change.  Some values, like
> >> hardware configuration, will change slowly.  Others, like CPU
> >> load, I/O utilization, etc, will change faster.   But regardless,
> >> the essential life cycle remains the same:
> >>
> >> sample the data - event driven, perhaps
> >> set up your equations - canned, template or rule driven
> >> get your solutions - multiple solutions are possible
> >> choose your solution - rule driven, perhaps
> >> effect the system change based on the solution
> >>
> >> Rinse and repeat.
> >>
> >> On Nov 15, 2007, at 10:38 AM, Mohd. Noor wrote:
> >>
> >>> Dear All
> >>>
> >>> Thanks for the kind replies
> >>> What I am concerned is, my rules is always dynamically changes
> >>> over time(e.g. CPU availability/utilisation) -with that, I cannot
> >>> hard coded on the programming coding.
> >>> Even their template/"deftemplate" might be changes( e.g. new
> >>> software properties/a totally new hardware-such as any new
> >>> instrument attached to the computer system)
> >>>
> >>> Is that possible with JCHR?
> >>>
> >>> Any suggestions 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 nasty in all
> >>> but the simplest examples.
> >>>
> >>> For a constraint solver that runs (with minor tweaks) in Jess,
> >>> see http://tinyurl.com/yvz98m
> >>>
> >>> This technique might do what you want, but you might want to look
> >>> into constraint systems in Java like JCHR or even Genetic
> >>> Algorithms, which are particularly good at searching large sparse
> >>> spaces for solutions to constraints.
> >>>
> >>> On Nov 15, 2007, at 8:45 AM, Mohd. Noor wrote:
> >>>
> >>>> let say the user want to select the computer (resources) in
> >>>> which suite their requirement- in this case user wants to run
> >>>> mathlab simulation in computer(clusters) that have more than 20
> >>>> CPUs available. Let consider the attributes such as CPU and
> >>>> software are treated differently(whereby we can migrate the
> >>>> software and licenses to the node that most appropriate with
> >>>> users' resources requirements- in this case;). This rules
> >>>> (contains the node A, B and C's properties/attributes) suppose
> >>>> made available in the brokerage level.
> >>>>
> >>>> In this case the user may select the mathlab from node C and run
> >>>> on node B.
> >>>>
> >>>> How do we transform the resources properties into the rules?
> >>>> How we are going to infer the rules?
> >>>> How we can apply a forward chaining and backward chaining?
> >>>>
> >>>> Cheers,
> >>>> mnoor
> >>>>
> >>>>
> >>>>
> >>>> On Nov 15, 2007 2:42 PM, Motaz K. Saad <[EMAIL PROTECTED]>
> >>>> wrote:
> >>>> Could you explain more!.
> >>>> Do you want to make a rule to determine computer specifications
> >>>> for a given software.?
> >>>>
> >>>>
> >>>> On Nov 15, 2007 1:48 PM, Mohd. Noor < [EMAIL PROTECTED] > wrote:
> >>>> dear jess
> >>>> how to make a rule from this scenario
> >>>>
> >>>> Computer A:
> >>>>            CPu =100
> >>>>            RAM = 1GB
> >>>>            s/w = c++
> >>>> Computer B:
> >>>>           CPU =20
> >>>>           RAM = 512M
> >>>>           S/w =spps
> >>>> Computer C
> >>>>           CPU =12
> >>>>           RAM = 2GB
> >>>>           s/w = mathlab
> >>>>
> >>>> The user will request to run a software mathlab - how do the
> >>>> rules look like
> >>>>
> >>>> cHEERS
> >>>>
> >>>> On Nov 15, 2007 11:44 AM, Mohd. Noor < [EMAIL PROTECTED]> wrote:
> >>>> dear jess
> >>>> how to make a rule from this scenario
> >>>>
> >>>> Computer A:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Motaz K. Saad
> >>>> Computer Science Dept.
> >>>> College of IT
> >>>> http://motaz.saad.googlepages.com
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Informatics & Decision Sciences          Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> PO Box 969, MS 9012                 [EMAIL PROTECTED]
> Livermore, CA 94550                 http://www.jessrules.com
>
> --------------------------------------------------------------------
> 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]
> --------------------------------------------------------------------
>
>

Reply via email to