[Modelinterpreter] State machine code
Boldizsár Németh
nboldi at caesar.elte.hu
Fri Feb 13 13:24:53 CET 2015
On 2015.02.13. 11:48, Dévai Gergely wrote:
> Sziasztok!
>
> Nem jutott idő a megbeszéléseken arra, hogy a state machine logika a
> generált Java kódban hogy jelenlejn meg. (Lásd #47 ticket.) Nekem
> nincs bajom a Boldi által a case study-kban használt switch-case
> megoldással, de vannak egyéb lehetőségek is, pl. state-event mátrix,
> az állapotok örököltetése az eventekre reagáló metódusok
> újraimplementálásával...
>
A jelenlegi megoldás mellett szóló érvek:
- A state-event mátrix akkor lenne nagyon erős, ha nem kellene action
kódot használni, mivel akkor minde egyes lépés egy egyszerű mátrix
lookup lenne. Persze action kóddal is megoldható, speciális ActionCode
objektumokkal, de ott már performance-vesztés is lenne (meg bonyolultabb).
- Az állapotok örököltetése szintén performance okok miatt nem került
megcsinálásra. Ott valószínű több típusfeloldás is történne, ami
gyorsabb nem lehet mint két int összehasonlítása switch-case-el. A
switch-case-ből még a java csinálhat goto-table-t is, amire az utóbbi
esetén nem lehetséges. Ez inkább akkor lenne jó, ha runtime bővíteni
kellene az állapotok számát.
Boldi
More information about the Modelinterpreter
mailing list