High Integrity Hardware-Software Codesign
Between March 1998 and April 2004 I researched and wrote a
Ph.D. thesis at the Open University, examining the use of programmable
logic devices (PLDs) in high-integrity systems. The chapters of
the thesis were:
- Introduction, description of the general problems of
high-integrity systems.
- Literature survey, examining the areas of safety-critical
systems and standards, programmable logic devices, applications of PLDs,
and issues in the use of PLDs in critical systems.
- Derivation and statement of the problems that the thesis aims
to address, with criteria for assessing the completeness of solutions.
- Examination and extension of the technologies key to the
thesis: Synchronous Receptive Process Theory (SRPT) process algebra,
the Pebble PLD programming language and the SPARK high-integrity
subset of Ada.
- Definition and use of a formal refinement system for SRPT,
including complete derivation of a carry look-ahead adder.
- Specification and design of an example interpreter of SPARK
Ada based on a PLD, designed using SRPT.
- Case studies of implementing the Chapter 5 carry look-ahead adder
in Pebble and simulating it, and the implementation of a missile
guidance system in SPARK with a critical section transformed into
a SPARK Ada implementation.
- Summary of the thesis, audit against the Chapter 3 problem
statements, and conclusions.
Resources available on this web site:
Thesis (1.1Mb PDF)
The final version of my Ph.D. thesis, formatted as per the
copy submitted to the British Library. 271 single-space pages.
Publications
A list of my publications to date, which give the reader
a staged tour of the thesis.
Missile test harness (tarred gzip)
Ada source for the missile guidance system and simulator
as described in Chapter 7 of the thesis.
Pebble simulator (tarred gzip)
Perl source for the Pebble simulator of PLD programming
as described in Chapter 7 of the thesis.
Web pages maintained by Adrian Hilton