A Synchronization Calculus for Message Oriented Programming