Hogyan lehet két triggert "összekötni"?

0 votes
asked Mar 21, 2019 in Rendszermodellezés A00 by lany (22 points)  

Hogyan lehet szintaktikailag megoldani azt, hogy két esemény egymás utáni bekövetkezésére menjen át új állapotba az automata?
Csak azt találtam meg, hogy " , " -vel elválasztott triggereknél elég ha az egyik végbe megy, de az nekem most nem megfelelő.
(pl. modebutton - erre meg nem reagál, majd whitebutton - erre már átmegy).

1 Answer

0 votes
answered Mar 21, 2019 by dkmisu (1,327 points)  

Erre Yakinduban nincs nyelvi elem, a meglévőkből kell összelegózni. Egy állapotgép esetén minden eseményre valamit reagálnia kell (még ha ez az is, hogy nem reagál semmit), viszont utána az esemény bekövetkeztéről csak annyi információ marad hátra, amennyi a reagálás során el lett mentve.

Esetleg megoldható úgy a kérdéses rész, hogy egy-egy boolean flag-et létre kell hozni, a vonatkozó események hatására a megfelelő flag-et állítani, továbbá az átmenetnél vizsgálni, hogy mindkét flag be lett-e állítva, és ha ez megtörtént, akkor végrehajtani a megfelelő átmenetet (ha nem, akkor pedig visszalépni az kiinduló állapotba).

Ugyanakkor ez nem feltétlenül a jó irány a házi feladat megoldásához, meg lehet oldani "összekötött" triggerek nélkül is.

commented Mar 22, 2019 by lany (22 points)  
Értem, köszönöm. Azóta megoldottam, új állapotok felvételével.
...