Adaptive systems, apart from fulfilling some functional requirements, can modify their behaviour autonomously and dynamically to cope with new operational requirements or conditions. The DFT4FTT project aims at providing a self-reconfigurable infrastructure that can support distributed applications with real-time, reliability and adaptivity requirements. This paper describes the architecture and the set of mechanisms that make it possible to: monitor the environment and the system itself, decide when a new configuration is needed, decide on a new valid configuration and apply said configuration. Finally, note that this self-reconfiguration capabilities are not only interesting from a functional perspective, but from a reliability perspective as new we can implement dynamic fault-tolerance mechanisms. In this regard, DFT4FTT implements a N-Modular Redundancy scheme with spares, that increases the system reliability if it is used from the very beginning of the mission.