Test je Oren:  Stroomschema A-B-X test.


Op deze pagina een grafische voorstelling van de gang van zaken bij de A-B-X test in de vorm van een State Diagram van een Finite State Machine.
Zo'n diagram beschrijft de toestanden waarin een machine kan verkeren en onder welke omstandigheden 'ie naar een andere toestand gaat.
Een ovaaltje geeft een toestand aan en een pijltje geeft aan door welke conditie de machine in een andere toestand komt.

De termen "Left', "Right" en "Middle" betreffen de drukknoppen op het knoppenkastje."NoButton" wil zeggen dat er gewacht wordt tot er geen enkele toets ingedrukt is. Dat is hier en daar nodig om ongewenste herhalingen te vermijden als je een knop wat lang ingedrukt houdt. De term "Always" betekent dat de volgende toestand zonder bijzondere conditie bereikt wordt.
Hier en daar staan er cijfers tussen [rechte haken]. Voor dit diagram zijn die niet van belang, maar werden gemaakt door het programma dat ik gebruikt heb voor deze tekening.
De namen van de toestanden (states) vind je terug in de software met het voorvoegsel "State".
In de software vind je ook flink wat meer detail dan hier aangegeven. Ik heb dat hier weggelaten omdat het diagram dan volstrekt onleesbaar wordt. Zo veroorzaakt het bedienen van de "Stop" knop vanuit elke toestand een overgang naar de "EndOfTest" state. Als ik dit hier vanuit elke state zou aangeven wordt het een enorme warboel.

AbxFlow.gif AbxFlow.gif


Dit diagram is getekend met de Finite State Machine Editor van Roberto Lanuza. (Thanks, Roberto!)  http://robertolanuza.tripod.com/fsm/fsm.htm
Dat is een niet al te moeilijk freeware en open source programma dat ook C-code kan genereren voor je statemachine.


De grondlegger van de therorie van de "Finite State Machine" zoals dit concept heet is (wijlen) de Engelsman Alan Turing, die o.m. in de tweede wereldoorlog de code van de Duitse "Enigma" geheimschrift machines gekraakt heeft. De "Turing Machine" is in essentie een Finite Sate Machine. Niet te verwarren met de "Turing Test" want dat is een door Turing gepostuleerd (gedachten) experiment waarbij je moet vaststellen of je met een machine of met een echt mens communiceert. Voer voor hen die zich met Kunstmatige Intelligentie, Artificial Intelligence bezig houden.
Iedere digitale computer is in essentie een "Turing machine" met een eindig (alhoewel ongelooflijk groot) aantal mogelijke toestanden.
Er bestaat een aardige film over het leven van deze man, met de titel "Breaking the Code". En dat is dubbelzinnig. Hij brak niet alleen de code van de Enigma, maar ook met de wet die toen criminelen maakte van homoseksuelen. Om gevangenisstraf te ontlopen liet hij zich chemisch castreren, hetgeen o.m. resulteerde in borstvorming. Zijn carriere was ten einde en in 1954 pleegde hij zelfmoord. Onlangs is een groep wetenschappers een actie begonnen om de UK regering er toe te brengen Turing te rehabiliteren, hetgeen begin september 2009 gelukt is.