[Modelinterpreter] State machine code
kmate at caesar.elte.hu
kmate at caesar.elte.hu
Fri Feb 13 16:14:46 CET 2015
Sziasztok!
Egyetértek Boldi megfontolásaival. Nem érzem gyorsabbnak a virtuális
metódushívás feloldását, az több műveletnek ígérkezik, mint egy ugrás.
A mátrixos esetben pedig egy tömbből kiválasztott objektumon kellene
metódust hívni gyakorlatilag. Szóval amíg nem találunk más hátulütőt,
a mostani módszer jónak tűnik.
Üdv,
Máté
Idézet (Boldizsár Németh <nboldi at caesar.elte.hu>):
>
> 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
>
>
>
> _______________________________________________
> Modelinterpreter mailing list
> Modelinterpreter at plc.inf.elte.hu
> https://plc.inf.elte.hu/mailman/listinfo/modelinterpreter
>
More information about the Modelinterpreter
mailing list