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