This article surveys the System Level Synthesis framework, which presents a
novel perspective on constrained robust and optimal controller synthesis for
linear systems. We show how SLS shifts the controller synthesis task from the
design of a controller to the design of the entire closed loop system, and
highlight the benefits of this approach in terms of scalability and
transparency. We emphasize two particular applications of SLS, namely
large-scale distributed optimal control and robust control. In the case of
distributed control, we show how SLS allows for localized controllers to be
computed, extending robust and optimal control methods to large-scale systems
under practical and realistic assumptions. In the case of robust control, we
show how SLS allows for novel design methodologies that, for the first time,
quantify the degradation in performance of a robust controller due to model
uncertainty -- such transparency is key in allowing robust control methods to
interact, in a principled way, with modern techniques from machine learning and
statistical inference. Throughout, we emphasize practical and efficient
computational solutions, and demonstrate our methods on easy to understand case
studies.Comment: To appear in Annual Reviews in Contro