We describe architectures and concurrent error detection, fault-location and recovery techniques for designing reconfigurable systems with high availability, data integrity, and protection from temporary, permanent and common-mode failures. These systems can also be used for unmanned remote applications.