Formal Methods for Open Object-based Distributed Systems