A Tutorial Introduction to CSP in Unifying Theories of Programming

@inproceedings{Cavalcanti2004ATI,
  title={A Tutorial Introduction to CSP in Unifying Theories of Programming},
  author={Ana Cavalcanti and Jim Woodcock},
  booktitle={PSSE},
  year={2004}
}
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… Expand
Unifying Theories of Programming in Isabelle
This is a tutorial introduction to the two most basic theories in Hoare & He's Unifying Theories of Programming and their mechanisation in the Isabelle interactive theorem prover. We describe theExpand
UTP by Example: Designs
We present a tutorial introduction to the semantics of a basic nondeterministic imperative programming language in Unifying Theories of Programming (UTP). First, we give a simple relational semanticsExpand
Unifying Theories of Objects
TLDR
This work provides a core object calculus with an operational small-step evaluation rule semantics, and a corresponding UTP model with a denotational relational predicate semantics, intended to provide facilities for encoding both object-based and class-based languages. Expand
Angelic nondeterminism in the unifying theories of programming
TLDR
This paper proposes the unification of a model of binary multirelations, which is isomorphic to the monotonic predicate transformers model and can express angelic and demonic nondeterminism. Expand
Designs with Angelic Nondeterminism
  • P. Ribeiro, A. Cavalcanti
  • Computer Science
  • 2013 International Symposium on Theoretical Aspects of Software Engineering
  • 2013
TLDR
This paper cast the angelic nondeterminism theory of the UTP as a theory of designs with the long-term objective of providing a model for well established refinement process algebras like Communicating Sequential Processes and Circus. Expand
Angelic Nondeterminism and Unifying Theories of Programming
TLDR
This paper proposes the unification of a model of binary multirelations, which is isomorphic to the monotonic predicate transformers model and can express angelic and demonic nondeterminism. Expand
A Theory of Pointers for the UTP
TLDR
This paper adds to the UTP a theory of pointers and records that provides a model for objects and sharing in languages like Java and C++, based on the hierarchical addressing scheme used to refer to record fields in conventional languages. Expand
Unifying Theories in ProofPower-Z
TLDR
This paper presents a mechanisation of part of Hoare & He’s unification work in a theorem prover, ProofPower-Z; the theories of alphabetised relations, designs, reactive and CSP processes are in the scope of this paper. Expand
Unifying theories in ProofPower-Z
TLDR
This paper presents a mechanisation of part of Hoare and He’s unification work in a theorem prover, ProofPower-Z; the theories of alphabetised relations, designs, reactive and CSP processes are in the scope of this paper. Expand
Pointers and Records in the Unifying Theories of Programming
TLDR
A theory of pointers and records that provides a representation for objects and sharing in languages like Java and C++ and links it with the theory of designs, providing a foundation for reasoning about total correctness of pointer-based sequential programs. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 22 REFERENCES
A Tutorial Introduction to Designs in Unifying Theories of Programming
TLDR
This work gives a tutorial introduction to the theory of alphabetised relations, and its sub-theory of designs, and illustrates the ideas by applying them to theories of imperative programming, including Hoare logic, weakest preconditions, and the refinement calculus. Expand
A Theoretical Basis for Stepwise Refinement and the Programming Calculus
TLDR
It is shown how Dijkstra's calculus for the derivation of programs corresponds to constructing this monotonic sequence and formalizing the calculus gives some insight into the intellectual activity it demands and allows us to hint at further developments. Expand
The Theory and Practice of Concurrency
TLDR
This book provides a detailed foundation for working with CSP, using as little mathematics as possible, and introduces the ideas behind operational, denotational and algebraic models of CSP. Expand
A Refinement Strategy for Circus
TLDR
A refinement strategy for Circus is presented, which is the combination of Z, CSP, and the refinement calculus in the setting of Hoare and He’s unifying theories of programming, which provides a coherent technique for the stepwise refinement of concurrent and distributed programs involving rich data structures. Expand
A Semantic Foundation for TCOZ in Unifying Theories of Programming
TLDR
A novel unified semantic model of the channel based synchronisation and sensor/actuator based asynchronisation in T COZ is presented and will be used as a reference document for developing tools support for TCOZ and as a semantic foundation for proving soundness of those tools. Expand
Recasting Hoare and He's Unifying Theory of Programs in the Context of General Correctness
TLDR
The single-predicate model of sequential programs is reviewed, and it is shown how it can be recast to overcome its inability always to provide an adequate description of the required behaviour of a sequential program which implements a partial decision procedure. Expand
Towards a Time Model for Circus
TLDR
An abstraction function is created that maps the timed model to the original model of Circus to create a relation between the two models and allows the exploration of some properties of the timed semantics in the untimed model. Expand
Refinement Calculus: A Systematic Introduction
TLDR
The book addresses specific issues related to program refinement, such as implementing specification statements, making refinements in context, and transforming iterative structures in a correctness preserving way. Expand
The Semantics of Circus
TLDR
The language of Circus is described and the formalisation of its model is described in Hoare & He's unifying theories of programming. Expand
Programming from specifications
  • Carroll Morgan
  • Computer Science
  • Prentice Hall International Series in computer science
  • 1990
TLDR
This second edition features substantial restructuring of earlier material, streamlining the introduction of programming language features; simplified presentation of procedures, parameters and recursion; an expanded chapter on data refinement, giving the much simpler laws that specialize to functional abstractions. Expand
...
1
2
3
...