We are primarily concerned with interactive systems whose behaviour is highly reliant on end
user activity. A framework for describing and synthesising such systems is developed. This
consists of a functional description of the capabilities of a system together with a means of
expressing its desired 'usability'. Previous work in this area has concentrated on capturing
'usability properties' in discrete mathematical models.
We propose notations for describing systems in a 'requirements' style and a 'specification'
style. The requirements style is based on a simple temporal logic and the specification style is
based on Lamport's Temporal Logic of Actions (TLA) . System functionality is specified as
a collection of 'reactions', the temporal composition of which define the behaviour of the system.
By observing and analysing interactions it is possible to determine how 'well' a user performs
a given task. We argue that a 'usable' system is one that encourages users to perform their tasks
efficiently (i.e. to consistently perform their tasks well) hence a system in which users perform
their tasks well in a consistent manner is likely to be a usable system.
The use of a given functionality linked with different user interfaces then gives a means
by which interfaces (and other aspects) can be compared and suggests how they might be
harnessed to bias system use so as to encourage the desired user behaviour. Normalising across
different users anq different tasks moves us away from the discrete nature of reactions and
hence to comfortably describe the use of a system we employ probabilistic rather than discrete
We illustrate that framework with worked examples and propose an agenda for further work.
A Doctoral Thesis. Submitted in partial fulfilment of the requirements for the award of Doctor of Philosophy of Loughborough University.