prog:fsm_intro
Tilstandmaskiner
Tilstandmaskinen, på engelsk en Finite State Machine (FSM), er en abstrakt måde at beskrive software på.
En tilstandsmaskine består af:
- En mængde tilstande (states)
- En start-tilstand, dvs den tilstand FSM starter op i. (initial state)
- initial-state indikeres med en indgående pil.
- En mængde transitioner mellem tilstande.
- En mængde hændelser (events) der leder til en transition.
- f.eks. knap-tryk, timer-udløb, mouse-over, sensor-input etc.
Obs!: En tilstandsmaskine har altid kun 1 aktiv tilstand.
En meget simpel FSM af en lyskontakt:
Denne FSM's initial-state er OFF, ved tryk skifter den til tilstand 'ON'. Ved endnu et tryk, skifter den tilbage til OFF. (osv.)
Nedenstående FSM er en model af en kaffe/the automat.
Opgave
- Diskuter sammen med din side-mand/dame følgende:
- Hvordan kan du i C# / Processing repræsentere en state?
- (der er flere måder at gøre det på)
- Hvordan holder man styr på hvilken state, som er den aktive state?
- Hvordan kan man skifte fra en state til en anden?
- Sammen med din side-(buddy) skal du i nu forsøge at implementere en tilstandsmaskine, en the/kaffe automat.
- Du kan med fordel gøre brug af funktioner
- Hvilke states er der?
- Hvilke events er der?
- Hvilke transitioner er mulige?
- Hvilken state er initial-state?
prog/fsm_intro.txt · Sidst ændret: af admin


