Design of concurrent software