Test your Ears:  Flow Diagram A-B-X test.


On this page a graphical representation of the workflow in the A-B-X test. It has the form of a State Diagram of a Finite State Machine.
Such a diagram describes the states in which such a machine can be and under which conditions it changes to another state.
An oval represents a state and arrows indicate by which conditions the state changes.

The terms "Left', "Right" and "Middle" refer to the buttons on the "ButtonBox". "NoButton" means that the system waits until no button is pressed. In some situations that is necessary to prevent unwanted repetitions if you press a button for a somewhat longer time.
The term "Always" means that the transition happens without any special condition.
Here and there some numbers are between [square brackets]. They have no meaning for this diagram but were generated automatically by the program I used to make this drawing.
The names of the states can als be found in the software with the prefix "State_"

In the software actually many more states and conditions are used for good reasons. I left them away here because the diagram would be unreadable even for people with a thorough experience with state diagrams and -machines. For example, pressing the "Stop" button will force the EndOfTest state from any state. If I had drawn that here the diagram would be a mess.

AbxFlow.gif

This diagram has been made with the Finite State Machine Editor from Roberto Lanuza. (Thanks, Roberto!)  http://robertolanuza.tripod.com/fsm/fsm.htm
That is a rather easy to use freeware / open source program which also can generate C-code for your statemachines.


The founder of the theory behind the "Finite State Machine" as this concept is named is the late Englishman Alan Turing, who a.o. cracked the code of the German "Enigma" machines, for coded messages in World War II. The "Turing Machine" is in fact a Finite Sate Machine. Not to be confused with the "Turing Test" because that is a (thought) experiment in which the experimenter must determine whether he/she is communicating with a machine or with a real Human. Playground for those involved with Artificial Intelligence.....
Any digital computer is in fact a "Turing Machine" with a finite (although enormous) amount of possible states.
There exists a nice movie about the life of Alan Turing, titled "Breaking the Code". And that is twofold. He did not not only break the code of the Enigma, but also the code (law) which made criminals of people having a homosexual contact. To avoid prison he had chemical castration resulting in a.o. breast forming. His carrier was broken and in 1954 he committed suicide. Recently a group of scientists has pressed the UK gouvernment to rehabilitate Turing, which was effectuated early september 2009.