In this thesis, "Smart" Distributed Systems are investigated. The levels of intelligence being incorporated into sensors and actuators is increasing allowing a variety of novel features to be included. Already, sensors and actuators that can self-calibrate and perform compensation are available. This research work concentrates, however, on the possibilities for fault diagnosis and fault tolerance in heterogeneous distributed systems. At the present "smart" elements are being integrated into systems in an "ad hoc" manner. The aim of the thesis is to investigate the impact of different fault tolerance strategies using "smart" elements to provide guidance on the benefits of this new technology. Standards are important for the future and in the work a current standard, the Self Validation scheme (SEVA scheme) is taken and modified to consider Fault Detection, Isolation and Accommodation (FDIA). Four different strategies for fault tolerance are considered, hierarchical, distributed, virtual and a combination of the techniques called hybrid. It is also shown that the additional information from "smart" elements can be used to enhance voter performance in replicated systems.