This paper introduces a method for formal transformation of platform independent models (PIM) to platform specific models (PSM) in a model driven architecture (MDA) context. The models are constructed using state-machines in the Unified Modeling Language (UML). As a formal framework for reasoning about the models we use Event B. In this paper we illustrate our method by introducing fault tolerance to the PSM. Fault tolerance is not considered in the PIM in order to make the models reusable for different platforms. On the other hand, the PSM often has to consider platform specific faults. However, fault tolerance mechanisms cannot usually be introduced as a refinement in the PSM. We present a model transformation of the PIM in order to preserve refinement properties in the construction of the PSM. Design patterns are used for guiding the development. Our method can be beneficial for developing reliable applications in many different areas, since both UML and B are used for practical applications.