A formal semantics for concurrent systems