Kristinn R. Thórisson, Thor List, Christopher Pennock, and John DiPirro
This paper presents a type of scheduling blackboard called whiteboards. Blackboards can simplify construction of systems with large numbers of heterogeneous components requiring a high number of fine-grained interactions. An increase in systems integration, for example in humanoid robotics and intelligent environments, has called for better solutions to support multi-module integration. Whiteboards extend the blackboard model in a number of significant ways that allow them to fill this role. Chief among their features are: an explicit temporal model; quality of service; both publish-subscribe and querying for data; both discrete and streaming data using the same API; explicit data wrappers; programming language independence; as well as a number of solutions to practical issues for improving development effort and runtime performance. Whiteboards consist of (i) a general-purpose message type format, (ii) ontologically-defined message and data stream types, and (iii) specifications for routing between system components. Whiteboards thus provide a development tool especially relevant for simulations of complex natural systems where symbolic data meets raw numerical data; systems with illdefined boundaries between sub-systems; and systems where the number of component states and interactions is considered to be relatively large. Examples include computer vision, speech recognition and robotics, ecosystems and biological systems. This paper describes the main constituents of whiteboards and their use.