This exposition is a tutorial on how object-oriented programming in Lisp can be used for programming a blackboard. Since we have used Franz Lisp and since object oriented programming in Franz is carried out via flavors, the exposition demonstrates how flavors can be used for this purpose. The reader should note that the different approaches to object-oriented programming share considerable similarity and, therefore, the exposition should be helpful to even those who may not wish to use flavors. We have used the radar tracking problem as a ‘medium’ for explaining the concepts underlying blackboard programming. The blackboard database is constructed solely of flavors which act as data structures as well as method-bearing objects. Flavor instances form the nodes and the levels of the blackboard. The methods associated with these flavors constitute a distributed monitor and support the knowledge sources in modifying the blackboard data. A rule-based planner is used to construct knowledge source activation records from the goals residing in the blackboard. These activation records are enqueued in a cyclic queueing system. A scheduler cycles through the queues and selects knowledge sources to fire

Date of this Version