Membrane computing is a branch of natural computing which investigates computing models abstracted from the structure and functioning of living cells and from their interactions in tissues or higher-order biological structures. The models considered, called membrane systems (P systems), are parallel, distributed computing models, processing multisets of symbols in cell-like compartmental architectures. In many applications membrane systems have considerable advantages among these are their inherently discrete nature, parallelism, transparency, scalability and nondeterminism. In dedicated chapters, leading experts explain most of the applications of membrane computing reported so far, in biology, computer science, computer graphics and linguistics. The book also contains detailed reviews of the software tools used to simulate P systems.