Patterns for concurrent,parallel and distributed systems