
Software architecture
The Project54 in-cruiser software system was designed to be fully modular and
configurable (Figure1). For each electronic device that can be controlled by the
software there is a corresponding application module. Application modules are
linked to each other by a simple and efficient messaging system within the core
program (called the Application Manager). This messaging system allows modules
to be isolated from each other in terms of their detailed functionality,
greatly enhancing reliability as system configurations change, while at the
same time supporting the sharing of information and command/control
functionality between modules to provide the advantages of a fully integrated
system. Shared services implemented as operating system drivers or run-time
libraries simplify individual application modules and provide for a common
look-and-feel across modules. For example the GUI application (GUI) provides
access to a shared GUI service, the Logger Application provides logging
services to all modules and the Proxy Application provides access to Project54
modules residing on remote computers.
Speech provides a hands off and eyes off means of communicating with the
Project54 system. Speech input and output for all applications is handled by a
single module, called the Speech Input/Output Application (SIOA), which in turn
interacts with the commercial speech recognition and text-to-speech engines.
Individual applications handle speech as text messages received from or sent to
the speech module. This greatly facilitates developing new applications which
communicate via speech.
 Figure 1: Hardware architecture
Return to CATLab R&D Areas |