A distributed real-time program is usually executed on a limited set of hardware resources and is required to satisfy timing constraints, despite anticipated hardware failures. Static analysis of the timing properties of such programs is often infeasible. This paper shows how to formally reason aboui these programs when scheduling decisions are made on-line and take into account deadlines, toaA and hardware failures. We use Timed CCS as a process description language, define a language to describe anticipated faults and apply a version of trr-calculus to specify and verify timing pioperties. This allows the property of schedulability to be the outcome of an equaiion-solving problem. And unlike conventional reasoning, the logis is fault-monotonic: rf correctness is proved for a number of faults, correctness for any subset of these faults is guaranteed.