Increasingly microcomputers are being used in applications where their correct operation is vital to ensure the safety of the public and the environment: from anti-lock braking systems in automobiles, to fly-by-wire aircraft, to shut-down systems at nuclear power plants. It is, therefore, vital that engineers be aware of the safety implications of the systems they develop. This book is an introduction to the field of safety-critical computer systems written for any engineer who uses microcomputers within real-time embedded systems. It assumes no prior knowledge of safety, or of any specific computer hardware or programming language. This text is intended for both engineering and computer science students, and for practising engineers within computer related industries. The approach taken is equally suited to engineers who consider computers from a hardware, software or systems viewpoint.