## Bereikbaarheid en deadlock

Automaten worden vaak gebruikt om te onderzoeken of specifieke gewenste of ongewenste scenario's kunnen voorkomen.

In het geval van de Roomba is een gewenste situatie bijvoorbeeld dat de Roomba altijd bij het basisstation terugkeert (eindtoestand).
Anders gezegd 'Is de toestand Uit bereikbaar vanuit elke toestand of in elke situatie'.

Een ongewenste situatie bij de Roomba zou zijn als deze bijvoorbeeld blijft draaien.
Anders gezegd 'Kan het voorkomen dat de automaat in toestand Draai blijft steken'. Een dergelijke situatie wordt meestal aangeduidt met het Engelse woord deadlock.

### Bereikbaarheid

Open je automaat in de simulator en probeer of het scenario oovrah mogelijk is?

Waar staat dit scenario voor?

De batterij/accu raakt leeg tijdens stof opzuigen, wat zou kunnen betekenen dat de Roomba uitvalt en niet terugkeert. Met andere woorden toestand U is niet bereikbaar vanuit toestand V.

De auteur lost dit op door een extra overgang te maken.

### Deadlock

De situatie deadlock kun je waarschijnlijk zelf wel bedenken nu.

De automaat (Roomba) bevindt zich in een toestand waar deze niet uit komt in een bepaalde situatie / scenario.

Bijvoorbeeld als na het draaien steeds een obstakel in de weg staat zal de Roomba eeuwig in toestand draaien blijven, kan dat ook voorkomen?