Formal methods for open object based distributed systems