Skip to main content

A Semantics for Functions and Behaviours

Daniels, Anthony C. (1999) A Semantics for Functions and Behaviours. Doctor of Philosophy (PhD) thesis, The University of Nottingham. (KAR id:21730)

Language: English
Click to download this file (765kB)
[thumbnail of a_semantics_for_functions_and_behaviours_daniels.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Language: English
Click to download this file (800kB) Preview
[thumbnail of]
This file may not be suitable for users of assistive technology.
Request an accessible format


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.

Item Type: Thesis (Doctor of Philosophy (PhD))
Uncontrolled keywords: semantics, functions, behaviours, Fran, CONTROL, real-time, reactive systems
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Wheadon
Date Deposited: 04 Sep 2009 10:44 UTC
Last Modified: 16 Nov 2021 10:00 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.