  We establish data-driven versions of the System Level Synthesis (SLS)
parameterization of achievable closed-loop system responses for a
linear-time-invariant system over a finite-horizon. Inspired by recent work in
data-driven control that leverages tools from behavioral theory, we show that
optimization problems over system-responses can be posed using only libraries
of past system trajectories, without explicitly identifying a system model. We
first consider the idealized setting of noise free trajectories, and show an
exact equivalence between traditional and data-driven SLS. We then show that in
the case of a system driven by process noise, tools from robust SLS can be used
to characterize the effects of noise on closed-loop performance, and further
draw on tools from matrix concentration to show that a simple trajectory
averaging technique can be used to mitigate these effects. We end with
numerical experiments showing the soundness of our methods.
