[Modelinterpreter] tervek

kmate at caesar.elte.hu kmate at caesar.elte.hu
Mon Jun 1 18:49:53 CEST 2015


Sziasztok!

Egyszer már ezt is megvalósítottam lényegében moka alatti fuml-hez...

https://plc.inf.elte.hu/modelinterpreter/trac/browser/experiments/moka-external-entity

Ez igazából már túl bonyolult is, mert paraméterátadást, meg mindent tud.
Szerintem a következő lenne a legjárhatóbb / olcsóbb út egy jó  
demóhoz, rettentő kevés munkával:

1. csinálunk egy profilt, amiben van egy <<ExternalEntity>> stereotype
2. ezt rá lehet tenni egy uml-beli osztályra, amin publikus  
operation-ök vannak, paraméterek nélkül, void visszatéréssel
3. ezt meg lehet hivni szepen action kodbol
4. amin rajta van a stereotype, ott validaljuk, hogy a fully qualified  
neve meg a muveletek nevei Java azonositok legyenek
5. mivel java projekt vagyunk ugy is, eleg, ha egy uj src folderbe  
beteszi a megvalosito osztalyat, mi meg azt a bin-t is a classpath-ra  
rakjuk, ahova az a class generalodik
6. amikor fut a cucc, az elso hivasnal letrehoz egy singleton peldanyt  
lazy modon reflection-el az osztaly fully qualified neve alapjan
7. siman szinkron meghivjuk reflection-el a kert muveletet a peldanyon
8. ha barhol reflection hiba van, ertelmesen kell elszallni

Ez már tökéletesen elég bárminek a vezérlésére, ha a modellbe nem kell  
adatot visszajuttatni. Annak most semmit értelme nem lenne, mert úgy  
sem tudnánk mit csinálni vele, de egyébként a visszatérési értékben  
lehetne. Az external entity implementációja olyan legyen, hogy ne  
vacakoljon sokat a hívásnál, ha hosszú lenne, akkor ő maga tegye  
aszinkronná pl. egy dispatcher szál berakásával.

Ezt tapasztalataim alapján kb. 1 nap alatt elég tisztességesen össze  
lehet dobni. Teszttel, doksival, hülye esetek kezelésével 2. A moka-s  
sem tartott azt hiszem tovább, pedig az egy addig általam ismeretlen  
execution engine-be épült be, és jóval többet tud ennél marshalling  
tekintetében.

Üdv,
  Máté


Idézet (Dévai Gergely <deva at caesar.elte.hu>):

>
> Hello,
>
> A quadkopter latvanyos demo lenne, (persze, porazra kotve, nehogy  
> levagja nehany nezelodo fulet :))
> En is azt tippelem, hogy a kulso koddal osszekotes nem nehez  
> feladat. Technikailag minmum az szukseges, hogy generaljunk olyan  
> Java skeletont, amit kitoltve meg lehet szolitani a modellt es lehet  
> tole signalokat fogadni. Ezekben persze a modell-beli neveket kell  
> hasznalni, nem EObject ID-ket. :)
>
> Gergo
>
> On Monday, June 1, 2015 15:59 CEST, Boldizsár Németh  
> <nboldi at caesar.elte.hu> wrote:
>  Sziasztok!
>
> On 2015.06.01. 15:42, Dévai Gergely wrote:
>> - executor osszekapcsolasa kulso koddal (ez a demo miatt lenne jo, pl.
>> hogy egy robotot lehessen vezerelni, mikozben az executor-ban
>> latszanak az allapotvaltozasok)
>> Ezekrol par napon belul varhato dontes. (En nagyon nyomom a
>> harmadikat, mert az latvanyos demo lenne, de egyelore nem sok sikerrel :()
>
> Ebből tényleg jó demót lehetne csinálni. Nekem van egy kódom, ami
> quadkoptert röptetett (lekapcsolt rotorokkal - de ez hardveres okok
> miatt volt). Az pont egy állapotgép volt C-ben, 7-8 állapottal, tehát
> még átlátható.
>
> Ha érdekel benneteket, megpróbálhatom átültetni UML diagrammokba.
>
> Amúgy nem vagyok arról meggyőzve, hogy ez olyan nagy feladat, hogy több
> (fél)ember-hónapnyi idő kell rá. Konkrétan a runtime API-ján keresztül
> most is tud külső java komponens üzenetet küldeni nekünk. Mik a
> követelmények ezzel kapcsolatban?
>
> 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