I'd like to add to this discussion...
I too did my graduate work at Cal Poly SLO, and worked closely with Dr.
Myers (in fact he was my masters thesis adviser). The blackboard system
we worked on at the time was called Marble, the successor of an earlier
BB system named Pebble. If I recall (this was about 10 years ago) Marble
ran on a Sequent multiprocessor. But we also did some experimental work
with distributed expert systems using a library called PVM (Parallel
Virtual Machine).
Further, the CAD system Alan was referring to was probably ICADS,
something developed primarily by students working at CADRC at Cal Poly
(http://www.cadrc.calpoly.edu/). Dr. Myers was an instrumental influence
of CADRC as its original technical director.
Today, CADRC has a sister commercial company, CDM Technologies, Inc.
(http://www.cdmtech.com/) where I work. Several of our projects and
products make use of some of the concepts of blackboard systems and
distributed, collaborative agents. We've moved on from simple constructs
for knowledge representation and now use information rich ontologies.
However, we do still make use of CLIPS and/or Jess where inference based
agents are called for.
Please contact me, or post to this mailing list, if you have any
specific questions regarding blackboard systems and inference based agents.
Alan Davis
CDM Technologies, Inc.
CADRC Cal Poly, San Luis Obispo
Alan Moore wrote:
Scott,
Someone else is likely to have a more relevant answer but I thought
I'd give my 2 cents worth - it's been a while (15 years?!) so I hope I
can remember this correctly...
During my graduate studies I worked with Dr. Len Myers and others at
CalPoly SLO on a BB based system that used CLIPS (Jess' predecessor.)
In that system, there was a distributed set of agents that worked in
cooperation to advise a CAD system user about their current drawing.
This system worked by having each agent have it's own rulebase and
working memory. The BB was implemented by special (bbassert) and
(bbretract) functions that sent the facts to a central server from
which any registered agent listeners would get a subsequent broadcast
message with the fact(s).
The listening agents could then do whatever they wanted with the
knowledge, usually by calling (bbassert) themselves. It was a pretty
simple distributed blackboard system. You could probably build the
plumbing for one of these types of systems yourself quite easily.
As I remember it, the tricky part was coordinating/arbitrating the
agents and keeping them from, in circular fashion, asserting and
retracting each other's facts. This task was left to a conflict
resolver agent.
I'm sure there is a lot of theory you could read up on about this
topic so I won't go into it here. In our system, each agent posted
their suggestion (e.g. a value for a drawing attribute, etc) to the
blackboard and the conflict resolver made it's decision and determined
the final result/value. Each agent would then have to deal with the
new reality.
It was fun to work on and I'm sure some CalPoly SLO staff, faculty, or
students are on this list and could share with you what happened to
that system or it's derivatives.
Good luck!
alan
Krasnigor, Scott L (N-AST) wrote:
I have been asked by the powers to be to investigate using Jess in
conjunction with a blackboard framework. I was wondering if anyone
out there has any experience with this combination and could provide
some insight or could point me to some good resources/examples on the
subject. Thanks.
Scott L. Krasnigor
Principal Engineer/Scientist
Atlantic Science & Technology
Lockheed Martin - MS2
--------------------------------------------------------------------
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]
--------------------------------------------------------------------
--------------------------------------------------------------------
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]
--------------------------------------------------------------------