A mobile agent (MA) is an autonomous and identifiable software process that travels through a network of heterogeneous machines and acts autonomously on behalf of the user. Improving the survivability of MA in presence of various faults is the major issue concerned with implementation of MA. This paper presents a hierarchical fault tolerance protocol (HFTP) for mobile agents, which can tolerate host failure, system failure as well as link failure by grouping the hosts within a network and rear guard based migration of MA in the global network. It also presents Colored Petri Net (CPN) based architectural modeling of HFTP, which includes systematic specification, design and implementation of components of the system. Various useful results have been drawn by simulation as well as data collector and monitoring tools. We also present a formal analysis of the protocol.