Időzetett és esemény tranzakciók ütközése

0 votes
asked May 5, 2016 in Rendszermodellezés A00 by klenium (58 points)  

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?

1 Answer

+1 vote
answered May 5, 2016 by oszkar.semerath (1,599 points)  
selected May 5, 2016 by klenium
 
Best answer

-Feltételezhető, hogy egy le nem kezelt eseményre nem történik semmi, nekem pedig pont ez kéne.
-Igen, a le nem kezelt eseményekre Yakinduban nem történik semmi.

-Viszont az állapotmodellezéshez kiadott jegyzetet alapján...
-Többfajta állapotgép modellezési módszer van. Matematikai megközelítéseknél gyakran kényelmesebb teljesen specifikált állapotgépekkel dolgozni, míg mérnöki megközelítéseknél (mint Yakinduban) nem szokás minden eseményre explicit reagálni.

-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?
-Igen, sőt erősen ajánlott is, hiszen a felesleges hurokélek csak megnehezítik a szerkesztést / átláthatóságot.

...