In their Unifying Theories of Programming (UTP), Hoare & He use the alphabetised relational calculus to give denotational semantics to a wide variety of constructs
taken from different programming paradigms. In this chapter, we give a tutorial introduction to the semantics of CSP processes,
as presented in Chapter 3. We start with a summarised introduction of the alphabetised relational calculus and the theory
of designs, which are pre-post specifications in the style of specification statements. Afterwards, we present in detail a
theory for reactive processes. Later, we combine the theories of designs and reactive processes to provide the model for CSP
processes. Finally, we compare this new model with the standard failures-divergences model for CSP.