The implementation of software systems with large numbers of heterogeneous components calls for a powerful design methodology. Although several such methodologies have been proposed, many lack application to construction of single-mind systems. We have employed the Constructionist Design Methodology (CDM) in building several such systems, including an autonomous radio show host. Proposing modules communicating through messages via blackboards as key building blocks for interactive intelligences, the methodology has been of considerable help in the early stages of designing several large architectures. This paper describes efforts to extend the CDM with more detailed support for the modularization process. We detail of a combination of abstraction and finite state machines in modularizing the realtime turntaking system of the radio show host. Our experience shows considerable benefits and added flexibility in the creation of large architectures when using the new modularization princip...
Kristinn R. Thórisson, Gudny Ragna Jonsdott