The concept of software architecture has gained a lot of attention in the last few years and has found its way into the software development process in industry. Software architecture recovery focuses on the recovery of architectural information from existing systems. This paper presents a framework for recovering the software architecture of a program family. Based on the available system information architectural properties such as safety or system control are recovered using different reverse engineering methods and tools in combination with architectural descriptions. We describe our architecture recovery process and discuss the recovery of system structure as one example out of the case study. The framework was developed while working on the recovery of the family architecture of a train control system.