Galaxy Communicator Documentation:
The Galaxy Communicator software infrastructure is a distributed,
message-based, hub-and-spoke infrastructure optimized for
constructing spoken dialogue systems. The Galaxy Communicator
infrastructure is an extension and evolution of the distributed
infrastructure for the MIT
Galaxy system, and is being developed and maintained by the MITRE Corporation under the
aegis of the DARPA
Communicator program. The Galaxy Communicator infrastructure is
available under a liberal open source license from the Galaxy Communicator
Sourceforge site. This is version 4.0 of the Galaxy
The HTML version of this documentation is best viewed with a recent
standards-compliant browser such as Mozilla 1.0.
This documentation is divided into four parts:
Before you begin, please read the introduction
and overview, which will help you decide whether the Galaxy
Communicator infrastructure can help you.
- a tutorial, which will introduce you
to the fundamentals of the Galaxy Communicator infrastructure and
teach you enough to get started;
- a set of advanced topics, which
describe the more complex capabilities of the infrastructure;
- a reference section, which provides
additional details about the basic and advanced topics; and
- an administrative section, which
deals with installing and upgrading the infrastructure.
Help and feedback
There are two resources available to you: the Sourceforge
bug queue and the public mailing
lists. Please do not send messages directly to the
individual developers. It's easier for us to track problems and
respond promptly if you use the mailing lists or the bug queue. If
you receive mail from an individual developer in response to a
submission to the bug queue, feel free to reply, but please do
not delete any "CC:" entries in the mail you receive.
We recommend that everyone who uses the Galaxy Communicator
infrastructure subscribe to the main public mailing list, for
release announcements and other information you may find useful.
If you need help with the Galaxy Communicator infrastructure, please
start with the following steps.
We do realize that people don't like to read documentation, and we also
realize that there's a great deal of it (pushing 800 pages in the
latest PDF version), but it's really a tremendous source of information
about the Galaxy Communicator infrastructure. Most likely, the first
question one of us will ask you is whether you've followed these three
- Finish the tutorial. We've tried
to design the tutorial to answer the most basic questions and provide
a common vocabulary. If you don't know the information in the
tutorial, you probably don't know enough about the infrastructure to
ask your question.
- Skim the advanced topics.
The first paragraph of each topic describes the basic purpose of the
document. The answer to your question may very well be there.
- Read the frequently asked
questions. They really are the most frequently asked
If your question still isn't answered, then by all means send a query
to one of the addresses above.
Reporting a bug
It's best to send a message to the Sourceforge
bug queue as described above.
Either the public mailing list or the bug queue is fine.
If you intend to run the examples in the tutorial rather than simply
read it, make sure that the Galaxy Communicator distribution has been installed so that the tutorial can
be run on Unix
or (as of version 4.0) Windows.
These topics are also presented in tutorial style, where possible.
- Frequently asked questions
- The Hub and server executables
- Frame and object reference
- Building a
- Program file reference
- Logging reference
- Broker reference (vastly
improved for 4.0)
- The structure of a
server (expanded in 4.0)
- Reserved frame keys in
- API indexes
server example: double
Exemplifies the basics of creating a server, declaring servers and
message signatures, sending new messages to the Hub, raising and
handling errors, and defining server and connection initialization
functions, in C, Python, Java and Allegro Common Lisp. Also
exemplifies using command line argument parsing, scriptless
interaction, run-time script error checking, logging,
listener-in-Hub functionality, and how to use continuations.
- Audio and
Exemplifies creating and managing broker connections in C, Python,
Java and Allegro Common Lisp. Also exemplifies interacting with the
MITRE broker packaging utilities.
Exemplifies how to write Communicator-compliant servers using a
non-Communicator main loop.
objects for audio and data
Exemplifies how to use binary (8-bit) data for audio in frames (instead
of brokering) and for opaque encoding of arbitrary objects (including
Exemplifies how to compile Communicator-compliant servers without
using the MIT makefile templates.
- Running a
Illustrates how to run multiple Hubs against the same server.
- MIT executables and facilities
- MITRE tools
toy travel demo reference
- Programming language bindings
All bug reports and requests for help should be sent to Sourceforge
bug queue. Please do not contact members of the Communicator
- Installing the distribution
(enhanced for 4.0 with Windows instructions)
- Version 4 (current version)
- Version 3
- Versions 1 and 2
Last updated September 24, 2003