[comp.ai.shells] Parallel, Real-time Production System Available

goldstn@cse.uta.edu (David Goldstein) (04/18/91)

Parallel 'C' Langiage Integrated Production System

For quite some time I have had a parallel/distributed version of CLIPS
running over TCP/IP at the University of Texas, Arlington.  After a
recent posting, I thought I would make this more public.

Below the dotted line is a research update sent to my technical
correspondences..  I am currently searching for people interested in
applying my parallel version of CLIPS to applications.

This version of CLIPS 

1) performs parallelization almost completely transparently
2) has functions for signal/interrupt-driven reasoning as
	well as timed reasoning for real-time reasoning
3) provisions will be made for dynamic saliences (changing during
	run-time) if there is sufficient interest.

Applying fault-tolerance and distributed truth maintenance mechanisms to
this version is currently my dissertation topic.  I am also making
communications completely transparent.

A demonstration of the system will be held on a network of Sun 3's, Sun
4's and Vax's at the North Texas Association for Artificial
Intelligence's AI Extraveganza on 4/19 as well as presentations at
AAAI-91 and CLIPS 2nd Conference.

Please contact me at goldstn@cse.uta.edu for more information.
Thanks!
David Goldstein
Faculty Associate,
University of Texas at Arlington and its Automation and Robotics
Research Institute (ARRI)

-----
The Parallel Real-time AI System is currently running over internet 
(via TCP/IP) at UTA on our VAX, Sun 3's and Sun 4's, and is currently 
being ported to run on transputer-based machines.  The system is 
scalable, and features transparent concurrent processing (although 
users can tune their applications).  Many aspects of the communications 
can be modified directly in productions.  For example, the number of 
facts (n) contained in each message is determined by the fact

(NUM_FACT n).

Essentially, one machine in the system (where the user is located) acts
as a client knowledge source, the other machines as server knowledge
sources to the client and sensors (see below), and all communication is
done via a blackboard.  Work on an improved architecture to optimize the
communications is underway.  Cycle-stealing is used to permit the
servers to utilize system resources without noticable affects.

Real-time reasoning is only partially implemented.  Currently, reasoning
can be performed for a given amount of time, number of productions, or
until an interrupt is detected.  Reasoning can be resumed directly via
the shell or to an external routine.  Activations of varying priorities
can be dropped facilitate hard-real-time deadlines.  A mechanism for
dynamic saliences has been developed, but not fully implemented.

------

Recently I've designed a new architecture to attempt distributed
truth maintenance and fault-tolerant knowledge bases while reducing the
number of messages passed.  This architecture treats concurrent
processing entirely transparently, except for requiring a configuration
file to state what machines are in the system and the format of their 
communications (so that Appletalk, internet and interconnected
transputers could be all combined into one huge knowledge-based system).

My problems are:

1. Is this PhD level research?  (I had one dissenting committee member
who felt that using existing models (such as client-server) to improve
the implementation of a technology was NOT PhD level research...despite my
pages of abstract algebra)

2. Does anyone have suggestions for applications?  My dissertation
research is entirely unfunded, hence I am either desiring small amounts
of coding for data intensive applications (image identification/robotic
control is the best so far) or an interested company that can help with
the coding their own, larger application.

Caio!

David Goldstein
Faculty Associate, U TX, Arlington
The Automation and Robotics Research Institute