School of Computing

A Semantics for Functions and Behaviours

Anthony C. Daniels

PhD thesis, The University of Nottingham, The University of Nottingham, , University Park, Nottingham NG7 2RD, December 1999.

Abstract

The functional animation language Fran allows animations to be programmed in a novel way. Fran provides an abstract datatype of ``behaviours'' that represent time varying values such as the position of moving objects, together with a simple set of operators for constructing behaviours. More generally, this approach has potential for other kinds of real-time systems that consist of interactive components that evolve over time.

We introduce a small functional language, CONTROL, which has behaviours and operators that are similar to those in Fran. Our language improves on Fran in certain key areas, in particular, by eliminating start times and distinguishing between recursive functions and recursive behaviours. Our main contribution is to provide a complete formal semantics for CONTROL, which Fran lacks. This semantics provides a precise description of the language and can be used as the basis for proving that programs are correct.

The semantics is defined under the assumption that real number computations and operations on behaviours are exact. Behaviours are modelled as functions of continuous time, and this approach is combined with the standard approach to the semantics of functional languages. This combination requires some novel techniques, particularly for handling recursively defined behaviours.

Download publication 782 kbytes (PostScript)

Bibtex Record

@phdthesis{1172,
author = {Anthony C. Daniels},
title = {A Semantics for Functions and Behaviours},
month = {December},
year = {1999},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/1999/1172},
    publication_type = {phdthesis},
    submission_id = {24157_981726971},
    school = {The University of Nottingham},
    address = {The University of Nottingham, , University Park, Nottingham NG7 2RD},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014