We present SynchNet, a compositional meta-level language for coordination of distributed. Its design is based on the principle of separation of concerns, namely separation of the coordination from computational aspects. SynchNet can be used in combination with any object-based language capable of expressing sequential behavior of objects. SynchNet, which is inspired by Petri nets, has a simple syntax and semantics, but is expressive enough to code many of the commonly used coordination patterns. The level of abstraction that it provides allows tools and techniques developed for Petri nets to be readily applied to analysis and verification of the specified coordination patterns.