An architecture for building problem-solving systems. A series of separate processes, i.e. expert systems, databases, or other sources of expertise in the application domain, communicate through a central global database known as the blackboard. Partial solutions are built up on the blackboard, which effectively coordinates the problem-solving process. A blackboard system has the characteristics of parallel, incremental, opportunistic operation. An agenda mechanism is frequently used as the main control mechanism to schedule the flow of activity in the system.