This repository contains the formal specification of TCP, UDP, and the Sockets API developed in the Netsem project:
http://www.cl.cam.ac.uk/~pes20/Netsem/index.html
It has been relicensed under the simplified BSD license. Currently (2015), it is revived using contemporary systems (newer HOL4, PolyML, DTrace, ..)
The demo-traces/ directory contains some example traces (state is unclear)
The HOLDoc/ directory contains tools to typeset the specification (compiles and works).
The notes/ directory contains (meeting and other random) notes.
The specification/ directory contains the segment-level HOL4 specification (previously called Spec1).
The test/ directory contains the test generation and checking tools.
The unmaintained/ directory contains unmaintained specifications, the Lem port of the specifications, etc.
cd specification ; $HOL/bin/Holmakecd HOLDoc/src ; $HOL/bin/Holmake followed by cd specification ; $HOL/bin/Holmake TCP1_net1Theory.ui TCP1_netTheory.ui ; make alldoccd test ; make depend OCAMLPATH=~/.opam/4.02.3/bin ; make OCAMLPATH=~/.opam/4.02.3/binHTML
33.0%
TeX
30.9%
Standard ML
19.5%
OCaml
10.1%
PostScript
2.3%
C
2.3%
This repository contains the formal specification of TCP, UDP, and the Sockets API developed in the Netsem project:
http://www.cl.cam.ac.uk/~pes20/Netsem/index.html
It has been relicensed under the simplified BSD license. Currently (2015), it is revived using contemporary systems (newer HOL4, PolyML, DTrace, ..)
The demo-traces/ directory contains some example traces (state is unclear)
The HOLDoc/ directory contains tools to typeset the specification (compiles and works).
The notes/ directory contains (meeting and other random) notes.
The specification/ directory contains the segment-level HOL4 specification (previously called Spec1).
The test/ directory contains the test generation and checking tools.
The unmaintained/ directory contains unmaintained specifications, the Lem port of the specifications, etc.
cd specification ; $HOL/bin/Holmakecd HOLDoc/src ; $HOL/bin/Holmake followed by cd specification ; $HOL/bin/Holmake TCP1_net1Theory.ui TCP1_netTheory.ui ; make alldoccd test ; make depend OCAMLPATH=~/.opam/4.02.3/bin ; make OCAMLPATH=~/.opam/4.02.3/binHTML
33.0%
TeX
30.9%
Standard ML
19.5%
OCaml
10.1%
PostScript
2.3%
C
2.3%