This description is about release 1.0 of the AFSM. Since january 2019 release 2.0 is availlable. The great difference between rel 1.0 and 2.0 is the declaration of the I/O points. The 2.0 release contains an extra application for defining the I/O. See also the news item about AFSM 2.0.
The declaration part is the most important part for defining the Finite state machine. In the declaration part all necessary I/O is declared for the machine, based on the used pins, the number of pins used for a certain I/O type and the logical name (tagname) for the used pin(s).
It is possible to define all types of I/O. The Arduino supports digital and analogue I/O. Analogue outputs are simulated by a number of (PWM) pins. Most important for this part, is the definition of the pins and the definition of the tags, e.g. the InputTags and OutputTags. The number of Tags have to be equal with the number of Input/Ouput pins. The standard software assigns the defined pins to the defined I/O type and with the tagnames for easy programming. See also chapter 10, for the behavior of the board.
 PWM: Pulse Width Modulation