Formal Viewpoint Specification of Open Distributed Systems