A Tutorial Introduction to CSP in Unifying Theories of Programming
- Cite this paper as:
- Cavalcanti A., Woodcock J. (2006) A Tutorial Introduction to CSP in Unifying Theories of Programming. In: Cavalcanti A., Sampaio A., Woodcock J. (eds) Refinement Techniques in Software Engineering. PSSE 2004. Lecture Notes in Computer Science, vol 3167. Springer, Berlin, Heidelberg
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.
Unable to display preview. Download preview PDF.