Fault tolerance in concurrent systems through formal methods