[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