  Quantum communication systems harness modern physics through state-of-the-art
optical engineering to provide revolutionary capabilities. An important concern
for quantum communication engineering is designing and prototyping these
systems to evaluate proposed capabilities. We apply the paradigm of
software-defined communication for engineering quantum communication systems to
facilitate rapid prototyping and prototype comparisons. We detail how to
decompose quantum communication terminals into functional layers defining
hardware, software, and middleware concerns, and we describe how each layer
behaves. Using the super-dense coding protocol as an example, we describe
implementations of both the transmitter and receiver, and we present results
from numerical simulations of the behavior. We conclude that software-defined
quantum communication provides a robust framework in which to explore the large
design space offered by this new regime of communication.
