HTX Frederikshavn & Hjørring

Det har aldrig været sjovere at være nørd

Brugerværktøjer

Webstedsværktøjer


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