Reliable And Secure Distributed Programming