[Modelinterpreter] case study kerdesek
nboldi at caesar.elte.hu
nboldi at caesar.elte.hu
Mon Nov 17 13:32:03 CET 2014
Sziasztok!
> Boldi: Ha abban gondolkozunk, hogy az allapotvaltasokhoz tartozo
> aktivity-k nem uresek, es minden activity lefutasa utan automatikusan
Jogos a kérdés, de van olyan példa, amikor egy lehetséges
interferenciát csak akkor tudunk észlelni, ha az egyes utasítások
között történhet megszakítás.
Tegyük fel, hogy van két állapotautomata, "a" és "b", "a" éppen az "x"
állapotba lép, mert kapott egy eseményt. Az "x" entry akciójában van
egy olyan utasítás, hogy küldjön egy üzenetet "b"-nek. Persze ez csak
bizonyos ritka együttállások esetén történik meg. Ettől "b" is aktívvá
válik, megkaphatja a vezérlést. Viszont az az akció amit "b" csinál
erre összeakadhat "a" maradék akciójával.
Emiatt a context váltások segítségével esélyünk van arra, hogy több
információhoz jussunk. Persze biztosra nem mehetünk, de legalább
esélyünk van a hibát detektálni. Ennek a megvalósítására jól
használhatók a korutinok.
Alternatív lehetőség, hogy statikus elemzéssel nézzük meg, hogy egy
akció milyen üzeneteket küldhet és az alapján figyeljük a lehetséges
ütközéseket. Persze ennek az lehet a hátránya, hogyha mondjuk a "b"
egy hibadetektáló komponens, sokan érhetik el és összegyűjt egy csomó
információt a rendszerről, akkor mindenféle akcióval ütközni fog. Sok
lesz a fals pozitív, viszont a valódi hibaeset nem jöhet elő az
interpreterben ha itt csak statikus elemzést csinálunk ahelyett, hogy
a vezérlést akárhol átadhatjuk.
Üdv,
Boldi
More information about the Modelinterpreter
mailing list