Fundamentals of Dependable Computing for Software Engineers - John Knight (Taylor and Francis, 2012)