MICA: pervasive middleware for learning, sharing and talking

MICA (multimodal interagent communication architecture) is a middleware layer for pervasive computing that is especially well suited to sharing of information between users, learning user's preferences and interacting with the user through many devices and modalities. It is based on the idea of a blackboard: a global shared memory which acts as both a communication and storage mechanism. It uses an extremely simple API that is easy to program, but still small enough to fit on PDAs and mobile phones. It has been used to implement several systems, including a context-aware application that learns the user's email preferences.