  Complex systems are characterized by many interacting units that give rise to
emergent behavior. A particularly advantageous way to study these systems is
through the analysis of the networks that encode the interactions among the
system's constituents. During the last two decades, network science has
provided many insights in natural, social, biological and technological
systems. However, real systems are more often than not interconnected, with
many interdependencies that are not properly captured by single layer networks.
To account for this source of complexity, a more general framework, in which
different networks evolve or interact with each other, is needed. These are
known as multilayer networks. Here we provide an overview of the basic
methodology used to describe multilayer systems as well as of some
representative dynamical processes that take place on top of them. We round off
the review with a summary of several applications in diverse fields of science.
