An introduction to models and methods used in the analysis and design of reliable hardware systems, software systems and computing systems. Aspects of reliability considered include fault tolerance, fault detection and diagnosis, reconfi guration, design verifi cation and testing, and reliability evaluation.