Aims to provide a unified approach to fault-tolerance in communications systems under a model of transient failures by formally incorporating the states and transitions for fault-tolerance into the specification and design phases of the communication software development life cycle.