2. BlackBoard Metaphor
● A group of specialists sitting a room with a
large blackboard.
● Work as a team to brainstorm a solution to
a problem.
● Everyone contributes to the blackboard,
when the information on the blackboard
allows to apply their knowledge
3. A bit of History
From 1970s:
● Hearsay II speech recognition
● Interpretation of sonar data for ocean
surveillance projects
More recent:
● Collaborative Network for Atmospheric Sensing
● LiftOff! (Earth observation satellite RADARSAT-1)
● DARPA Urban Challenge (C++ KOGMO RTDB)
4. Alternatives?
● Just use a database to store the current
state with a schema (or, some
schemaless mess) and queries?
– Tight coupling between app code and BB
– Often inefficiency
● Use an custom in-memory representation
developed specifically for the task
● There's a Flexibility vs. Efficiency tradeoff