Membrane systems are a new class of distributed and parallel model of computation inspired by the subdivision of living cells into compartments delimited by membranes. Their hierarchical internal structure, their locality of interactions, their inherent parallelism and also their capacity to create new compartments, represent the distinguishing hallmarks of membrane systems. Membrane computing, the study of membrane systems, is a fascinating and fast growing area of research. The main streams of current investigations in Membrane Computing concern theoretical computer science and the modelling of complex systems. In this monograph Pierluigi Frisco considers the former trend: he presents an in-depth study of the formal language and computational complexity aspects of the most widely investigated models of membrane systems. This study gives a comprehensive understanding of the computational power of the models considered, shows different proof techniques used for such study, and introduces links highlighting the similarities and differences between the their computational power. These models cover a broad range of features, giving a grasp of the enormous flexibility of the framework offered by membrane systems. Aimed at graduates and researchers in the field, who can use it as a reference text, and to people with an initial interest in Membrane Computing, who can use it as a clear and up to date starting point for Membrane Computing.