Model driven approaches are shifting software development from a code based activity to a model based activity. Models can be refined and transformed from requirements into code specific to a platform. Although several model transformations can occur, they usually take place at a single development stage. In the case of software product lines, and particularly of software factories, the modeling of a system can occur at several stages, for instance, at the software house, at the systems integrator and at the final customer site. Basically, this requires that the model used at a particular stage can be refined at the next stage. In this paper, we explore the issues related to such an approach and we propose model transformation patterns that can be generically applied to models so that they can be used in multi staged modeling approaches. We show how to realize the approach with the Eclipse Modeling Framework and present an insurance case study.