This project explores an extreme form of fault-tolerance in large-scale distributed systems, viz., local correctness. Throughout the project the focus gradually shifts from the basic properties of local correctness to building fault-tolerant software. The topics to be studied are as follows:
the conditions under which locally correct programs exist, faults to be tolerated, proving correctness of such programs; giving locally correct solutions to a number of prominent problems; building the programs and automating the design process; demonstrating the practicality by designing locally correct programs for prototype networked sensors.
The investigators expect that this research will define the realm of possibility in local fault-tolerance. That is, it will be possible to determine, based on program properties, whether that program can be made locally fault-tolerant under a given fault model. Moreover, the research will provide tools for synthesis of complex locally fault-tolerant programs using other locally fault-tolerant programs.
The investigators plan to publish their results in suitable International conferences/journals in order to contribute to the body of knowledge in the field and obtain peer reviews. Applications developed will be made available to practitioners for immediate use. Specific graduate and under-graduate courses and research activities tailored for students of various levels will be used to generate more interest and expertise in the field.