A Tutorial Introduction to Designs in Unifying Theories of Programming [chapter]

Jim Woodcock, Ana Cavalcanti
2004 Lecture Notes in Computer Science  
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. A key concept in their programme is the design: the familiar precondition-postcondition pair that describes the contract between a programmer and a client. We give a tutorial introduction to the theory of alphabetised relations, and its sub-theory of designs. We illustrate the ideas by
more » ... ing them to theories of imperative programming, including Hoare logic, weakest preconditions, and the refinement calculus.
doi:10.1007/978-3-540-24756-2_4 fatcat:hhn335khb5gm3gnsrlnr3qt66y