[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