Communicating Finite State Machines (CFSMs) or Communicating Automata are formalisims for modelling concurrent processes by Brand and Zafiropulo (1983).
This is an implementation of CFSMs in Go for generating input petri nets for petrify, used in Synthesising choreographies.