Formal Methods For Open Object-Based Distributed Systems by