HOME       UP       PREV       NEXT (KiwiC: HPR Library Recipe)  

HPR Library

The HPR L/S library is all based around the HPR VM defined in abstract.hdr.

The library is written in F# (this runs just fine on mono/linux).

A VM contains variable declarations, executable code, temporal logic assertions and child machines.

A system is a list of VMs where each may be the root of a tree of VMs.

Variables are signed and unsiged integers of various precisions and 1-D arrays of such integers. Floating point is being added. A small amount of string handling is also provided.

All variable are static (no dynamic storage) and must be unique in a single namespace that spans the system.

The executable code of a VM has several basic forms:

The executable code may be clocked or nonclocked.

Fragments may be put in serial or parallel using the SP_par and SP_seq combinators. There are two variants of SP_par, for lockstep and asynchronous composition.


9: (C) 2011, DJ Greaves, S Singh, University of Cambridge, Computer Laboratory.