Workflow-based semantics for peer-to-peer specifications