Multi-Model Fault-Tolerant Programming in Distributed Object-Based Systems