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