Het model lijkt redelijk in orde maar in de volgende twee vragen zie je in elk geval 2 problemen.
Eén van de lastige situaties bij modelleren is om ook te testen voor onverwacht of onlogisch gedrag van de gebruiker. Vaak gebeurd dat per ongeluk, soms ook express om het systeem te hacken of te saboteren.
Zoals ook bij de Roomba al even genoemd werd is de tijd vaak een belangrijk aspect bij het toepassen van automaten om software te beschrijven.
Voor deze situatie zou je twee eenvoudige oplossingen kunnen bedenken:
- Controleer maar één keer per minuut of er wachtend verkeer is.
je moet dan wel een tweede overgag 'w' kort daarna geven anders blijft het licht ook een minuut oranje!
- Vijf wacht toestanden maken zodat pas na zes keer weer een overgang van GR naar OR mogelijk is
PS: Een 'timed automata' kan een voorwaarde stellen dat de toestand pas an een minuut verlaten mag worden of juist na 10 seconden verlaten moet worden enzovoort.