The B Programming Language