Timed CSP: Theory and practice