• Two kinds of components
– Central data structure — blackboard
– Components operating on the blackboard
• System control is entirely driven by the blackboard state
– Typically used for AI systems
– Integrated software environments (e.g., Interlisp)
– Compiler architecture
Inference engine parses user input and determines whether it is a fact/rule or a query. If it is a fact/rule, it adds this entry to the knowledge base. Otherwise, it queries the knowledge base for applicable rules and attempts to resolve the query.
Components: User interface, inference engine, knowledge base
• Connectors: Components are tightly interconnected, with direct procedure calls and/or shared memory.
• Data Elements: Facts and queries
• Behavior of the application can be very easily modified through addition or deletion of rules from the knowledge base.
• Caution: When a large number of rules are involved understanding the interactions between multiple rules affected by the same facts can become VERY difficult.