Fault-Tolerant Execution of Collaborating Mobile Agents