Communicating Sequential Processes, by Toney Hoare , is a formal description for describing patterns of interactions in concurrent systems.