rems-project / netsem

Network Semantics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Network Semantics

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.

Building

  • Get PolyML (5.5.2 works fine)
  • Get HOL (69fd18990913826ed08e76f768e703515de9c806 from 5th April 2017 works fine)
  • Building specification: cd specification ; $HOL/bin/Holmake
  • Building documentation: cd HOLDoc/src ; $HOL/bin/Holmake followed by cd specification ; $HOL/bin/Holmake TCP1_net1Theory.ui TCP1_netTheory.ui ; make alldoc
  • Building test tools (required OCaml (tested with 4.02.3)): cd test ; make depend OCAMLPATH=~/.opam/4.02.3/bin ; make OCAMLPATH=~/.opam/4.02.3/bin

About

Network Semantics

License:Other


Languages

Language:HTML 33.0%Language:TeX 30.9%Language:Standard ML 19.5%Language:OCaml 10.1%Language:PostScript 2.3%Language:C 2.3%Language:Perl 0.6%Language:Shell 0.6%Language:Makefile 0.5%Language:DTrace 0.1%Language:C++ 0.1%Language:Roff 0.0%Language:Assembly 0.0%Language:JavaScript 0.0%Language:Gnuplot 0.0%Language:Batchfile 0.0%Language:CSS 0.0%Language:Smarty 0.0%