Experiments - Graphical Animations of State Machines

Here are some example files used for guideline:

- The picture of state machine ABP: ABP.svg

- The input file for 150 states: inputABP.txt

- The input file for 500 states: inputABP500.txt

An example condition for ABP: (state['bit1'] == state['bit2'] && state['chan1'] != 'empty' && state['chan2'] != 'empty')

An example definition for a state pattern: (chan1: ... chan2: b...b bit1: b bit2: b pac: i list: i-1 ....)

- cond1: chan1 and chan2 not equal empty. (write on condition part )

state['chan1'] != 'empty' && state['chan2'] != 'empty'

- cond2: Including cond1 and bit1 is equal with bit2. (write on condition part )

state['bit1'] == state['bit2']

- cond3: including cond1 and bit1 is not equal with bit2. (write on condition part )

state['bit1'] != state['bit2']

- cond4: Grouping and converting repeated elements in chan1 and chan2. And including cond1.

(write on condition + regex part )

chan1::::<_,_>::::NONE::::REPEAT

chan2::::_ _::::NONE::::REPEAT

- cond5: The top element of chan1 is equal the bottom element of chan1. The top element of chan2 is equal the bottom element of chan2. And including cond1. (write on condition + regex part )

chan1::::<_,_>::::topElement(_) == bottomElement(_)::::NONE

chan2::::_ _::::topElement(_) == bottomElement(_)::::NONE

- cond6: Same as cond4. But, the top element of chan1 is equal the bottom element of chan1. The top element of chan2 is equal the bottom element of chan2. And including cond1. (write on condition + regex part )

chan1::::<_,_>::::topElement(_) == bottomElement(_)::::REPEAT

chan2::::_ _::::topElement(_) == bottomElement(_)::::REPEAT

- cond7: Same as cond6. But, the top element of chan1 is not equal the bottom element of chan1. (write on condition + regex part )

chan1::::<_,_>::::topElement(_) != bottomElement(_)::::REPEAT

chan2::::_ _::::topElement(_) == bottomElement(_)::::REPEAT