Calculus of Communicating Systems