A finite state machine, FSM, is a box with C input/output channels, and S states, and a fixed map $f : S\times C \to S\times C\cup {0}$. If a state $(c_i,s_j)$ is mapped to the 0 element it means it enters a loop and cant exit.

Clearly if we join the channels of several FSM's pairwise, we obtain a new FSM, ie we get a system with some number of unjoined channels, C, and internal states given by the product of the number of internal states of each component FSM, S.

A composite FSM is allowed to have internal loops, ie we may never exit through an unjoined channel.

Is there a finite set of FSM's, by which every other FSM can be build?

Is there an algorithm to check if a target FSM can be build by any finite amounts of a given finite sets of FSM's?