Galaxy Communicator Documentation:
Toplevel Index
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
Communicator distribution.
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:
- 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.
Before you begin, please read the introduction
and overview, which will help you decide whether the Galaxy
Communicator infrastructure can help you.
Help and feedback
General instructions
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.
Getting help
If you need help with the Galaxy Communicator infrastructure, please
start with the following steps.
- 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
questions.
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
steps.
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.
Feature requests
Either the public mailing list or the bug queue is fine.
Tutorial
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.
Advanced topics
These topics are also presented in tutorial style, where possible.
Reference
- Frequently asked questions
- The Hub and server executables
- Frame and object reference
- Building a
Communicator-compliant server
- 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
Galaxy Communicator
- API indexes
- Glossary
- Examples
- Basic
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
brokering
Exemplifies creating and managing broker connections in C, Python,
Java and Allegro Common Lisp. Also exemplifies interacting with the
MITRE broker packaging utilities. - Alternative
main loops
Exemplifies how to write Communicator-compliant servers using a
non-Communicator main loop. - Binary
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
MITRE support). - Using
non-MIT makefiles
Exemplifies how to compile Communicator-compliant servers without
using the MIT makefile templates. - Running a
multiple-connection server
Illustrates how to run multiple Hubs against the same server.
- MIT executables and facilities
- MITRE
utilities
- MITRE tools
- MITRE
toy travel demo reference
- Programming language bindings
Administration
All bug reports and requests for help should be sent to Sourceforge
bug queue. Please do not contact members of the Communicator
team directly.
- Installing the distribution
(enhanced for 4.0 with Windows instructions)
- Version 4 (current version)
- Version 3
- Versions 1 and 2
- Details
Last updated September 24, 2003