Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 The Hume Project at Heriot-Watt University
This page provides information about and links to Hume activity at Heriot-Watt
University within the
Dependable Systems Group.
The wider Hume project home page is
here.
Hume is a novel programming language, intended for resource bounded domains,
designed at Heriot-Watt University and the University of St Andrews.
It is based on concurrent finite state automata
controlled by pattern matching and recursive functions over rich types. Hume
has been designed as a multi-level language, where different levels have
different formal properties amenable to different analyses. HW-Hume is a
relatively impoverished language of bits and tuples for characterising
hardware, with decidable equivalence and termination, and predictable time
and space behaviour. FSM-Hume introduces
fixed precision abstractions over bit tuples, including integers, reals,
strings and vectors, with associated operators and conditional constructs.
This level, oriented to wider finite state machine-based designs, has strongly
bounded time and space behaviour. HO-Hume augments
FSM-Hume with a repertoire higher-order function with known cost models, such
as map and fold, and user-defined non-recursive functions. PR-Hume extends
HO-Hume with user-defined primitive recursive bounded functions and full Hume
is a Turing Complete language.
Active areas of research include: the development of characterisation, time
and space analyses for the different levels; the elaboration of a
semantics-preserving refinement methodology from higher to lower levels,
to improve the accuracy of costing; native code compilation for PC
and embedded use; applications in image and vision processing, and control.
Current Hume implementations include a reference interpreter, available below,
and an abstract machine with associated compiler. Current Hume costing tools
include space analysers for HW-, FSM- and PR-Hume.