The hse sublanguage

The handshaking expansion language uses the same syntax as CHP, with the following restrictions:

  • All variables are Boolean-valued
  • Communication actions are not permitted; they should be expanded into handshake protocols, hence the name handshaking expansions.

For example, a four-phase active handshake on wires xo and xi would be written:

hse {
  *[ xo+; [xi]; xo-; [~xi] ]
}