  The Deep Underground Neutrino Experiment (DUNE) is a next-generation neutrino
experiment that will probe the properties of these elusive particles with
unparalleled precision. It will also act as an observatory for neutrino bursts
caused by nearby supernovae, in the event that one occurs while the experiment
is in operation. Given these goals, the DUNE trigger and DAQ system must be
able to maintain extremely high uptime and provide a path for full readout of
the detectors for very long times (up to 100~s). To achieve these ends, we have
designed the DUNE DAQ system around a flexible "application framework", which
provides a modular interface for specific tasks while handling the
interconnections between them. The application framework collects modules into
applications which can then be interacted with as units by the control,
configuration and monitoring systems. One of the key features of the framework
is its communications abstraction layer, which allows for modules to interact
with both internal queues and external network connections with a single
transport-agnostic interface. We will report on the architecture and features
of the framework.
