A teszt miért nem érzékeli a beep-elést (,a grafikus felületen kattintgatva működik) ?

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

https://imgur.com/LKlWF4G

1 Answer

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

A beep szintaxisa helyes, valószínűleg nem a megfelelő időpontban történik a beep-elés.

Erős a gyanúm, hogy a modellben vannak kiváltó esemény nélküli átmenetek. Ennek hatására eltérően viselkedhet a grafikus felület, és a tesztelés. Az eltérő viselkedés mibenléte abban rejlik, hogy hogyan kezelik egy tranzíció célpontját, ha azon kiváltó esemény nélküli átmenet is van.

A grafikus felület periodikusan "frissíti" az állapotgépet, így ha a célállapotban kiváltó esemény nélküli átmenet van, az szinte "azonnal" végrehajtásra kerül. Azért került az "azonnal" idézőjelbe, mert ott valóban eltelik egy minimális idő (milliszekundumok), csak ezt emberi szemmel nem lehet érzékelni.

A tesztelés ezzel szemben a matematikai szemantikát veszi alapul, azaz a tranzíció végrehajtása után nem fogja megpróbálni végrehajtani az ott lévő tranzíciókat (akár van kiváltó esemény, akár nincs), azokat csak a következő "frissítés" hatására fogja megtenni. Ezt a "frissítést" viszont a teszteset szándékosan nem hívja meg, mert a feladat egy determinisztikus állapotgép elkészítése, ahol erre nincs szükség.

...