Knowledge-Based Synthesis of Distributed Systems Using Event Structures (Logical Methods in Computer Science, 2011)