A ProofPower Application: the Front End Filter Project
[ProofPower Logo]

A ProofPower Application: the Front End Filter Project


Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Introduction

SWORD was an experimental prototype of a multi-level secure database that was the subject of research undertaken by the UK's Defence Research Agency in the early 1990s. The query language for the SWORD database was Secure SQL (SSQL) an extension of standard SQL whose semantics support a notion of security classification. Data in the database would be a assigned a classification drawn from some lattice e.g., UNCLASSIFIED < COMPANY-IN-CONFIDENCE < COMPANY-RESTRICTED < SECRET. Database users would be assigned a security clearance constraining the classification of the data they are allowed to access.

In early 1992, the Formal Methods Unit at ICL's Defence Technology Centre had completed the first production version of their system ProofPower for formal specification and verification in higher-order logic (HOL) with a surface syntax designed to be familiar to users of the Z specification language. ProofPower was subsequently enhanced to support a semantic embedding of the full Z language in addition to HOL and is now an open source system provided by Lemma 1 Ltd. .

From April 1992 to April 1994, the ICL Formal Methods Unit applied ProofPower to the formal specification and verification of the high-level security properties of SSQL and the SWORD prototype implementation. The work was done in three stages:

While this work was done a long time ago, it still has features of interest beyond its purely historical significance. The rest of this page gives brief descriptions of and links to the FEF project documentation. This includes the documents containing the formal specifications and proofs as well as managerial documents to set the scene. The general documents include an index and a consolidated listing of all the ProofPower theories involved.
Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

General Documents

The following links to the descriptions of the documents may be helpful in connection with the index of theories and the consolidated listings. The gaps are documents that were superseded.

fef001 fef002 fef003 fef004 fef005 fef006 fef007 fef008 fef009 fef010
fef011 fef012 fef013 fef014 fef015 fef016 fef017 fef018 fef019 fef020
fef021 fef022 fef023 fef024 fef025 fef026 fef028 fef029 fef030
fef031 fef032 fef033 fef034 fef035 fef036 fef039 fef040
fef041 fef042 fef043 fef044 fef045 fef046 fef047 fef048

Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Stage 1


Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Stage 2


Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Stage 3


Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Download

The source of the FEF documents including all the specification and proof scripts is available here and should work with recent versions of ProofPower (last tested at time of writing on version 3.1w6).


Back to the top Introduction General Documents Stage 1 Stage 2 Stage 3 Download Acknowledgments

Acknowledgments

Thanks are due to:


Copyright © Lemma 1 Ltd.
Created by  Rob Arthan (rda@lemma-one .com)
Last updated: 5th June 2016
[Lemma 1 Logo]