Van egy olyan állapotom, ami akkor aktív, amikor elindult a sakkjátszma, és várakozunk, hogy a soron lévő játékos lenyomja a saját gombját. Ebből az állapotból megy ki egy tranzakció, ami másodpercenként lefut, módosítja a kijelzőt, stb. Ebben az állapotban a várakozó játékos gombja hatástalan, amit úgy oldottam meg, hogy a tranzakció visszavezet az állapotba. Ezzel azonban van egy kis gond: a visszacsatolt tranzakció végrehajtása x ideig tart, illetve az állapotba visszatérve az időszámláló 0-ról indul. Ezek azt eredményezik, hogy az ellenség gombjának nyomogatásakor nem csökken a soron lévő játékos ideje másodpercenként, mivel nem jut el addig az időzítő, hogy az after 1s
tranzakció sorra kerüljön.
Megoldani szerintem lehetne úgy, hogy a visszacsatolt tranzakciót törlöm, mivel ekkor nem hagyná el az állapotot, csak ha másik állapotba kerül, így az időzítő nem nullázódna. Feltételezhető, hogy egy le nem kezelt eseményre nem történik semmi, nekem pedig pont ez kéne.
Viszont az állapotmodellezéshez kiadott jegyzetet alapján azt feltételezem, hogy minden eseményt le kellene kezelni, ugyanis az ottani állapotgépeknél minden állapot képes minden eseményre reagálni valahogyan.
Tehát a kérdés: megengedett-e, hogy olyan eseményeket, ahol specifikáció szerint nem kell történnie semminek, ne írjam ki a modellre?