<html>Sziasztok!<br /><br />Az akcionyelv celja, hogy platform- es implementacios nyelv fuggetlen legyen, es a vegrehajthato UML modellezeshez szukseges specifikus utasitasokat (signal kuldes, navigacio asszociaciokon keresztul stb.) tamogassa. Az nem feladata az akcionyelvnek, hogy "a klassizkus modellezesi modszerekkel nehezen kifejezheto algoritmikus feladatokat hatekonyan meg tudjak oldani": egy Fourier-transzformaciot soha nem fognak az akcionyelven implementalni, az mindig is az adott platformon leghatekonyabb implementacioval egy library resze lesz, ami a modell szepontjabol egy kulso entitas, amibe ki lehet hivni. (Ezert fontos, hogy a model executor-t valamikor majd kulso koddal is osszekossuk.)<br />Az idealis valasztas az Alf (egy resze) lett volna, mert az standard, es jol definialt a viszonya egy UML modellel. A gond az, hogy az Alf szemantikaja helyenkent eleg furcsa. Ezert jutottak az ericssonosok arra, hogy egyelore lesz egy mainstream nyelvekben (Java, C++ stb.) megszokott konstrukciokra epulo akcionyelv, ami a leheto legkisebb meglepetest tartogatja a fejlesztoknek. Egy kicsi nyelvre kell gondolni: alaptipusok es azok muveletei, elagazas, ciklus, ertekadas, objektumok letrehozasa, torlese, asszociaciok letrehozasa, torlese, azokon kereszul torteno navigalas, signal kuldes. A nyelv szemantikajat lehet ugy definialni, hogy egy meglevo nyelv, eszkozkeszletet nagyon megszoritjuk, valamint a hianyzo konstrukciokat (pl. szignal kuldes, navigacio) egy API segitsegevel biztositjuk. A hasznalt nyelv es az API mukodese definialja a szemantikat. Lehet, hogy ilyen modon egy megszoritott Java + egy API lesz a nyelv definicioja, esetleg helyenkent szintaktikus cukrokkal.<br /><br />Mivel ennek a nyelvnek a definicioja nincs meg, ezert juniusban az akciokod resztol fuggetlen dolgokkal fogunk tudni haladni. Harom lehetoseg van az asztalon:<br />- class modellezes strukturalis reszei (asszociaciok, multiplicitasok, asszociacios osztaly stb.)<br />- kapszula modellezes strukturalis reszei (kapszula, port, connectorok stb.)<br />- executor osszekapcsolasa kulso koddal (ez a demo miatt lenne jo, pl. hogy egy robotot lehessen vezerelni, mikozben az executor-ban latszanak az allapotvaltozasok)<br />Ezekrol par napon belul varhato dontes. (En nagyon nyomom a harmadikat, mert az latvanyos demo lenne, de egyelore nem sok sikerrel :()<br /><br />Udv,<br />Gergo<br /><br />On Friday, May 29, 2015 23:12 CEST, Mormota <attila.ulbert@gmail.com> wrote:<br /> <blockquote type="cite" cite="CALcKjcqfiEko8y+usXFOAWOFY9jsgaMBRo6iAnrgsBgUYhbpKg@mail.gmail.com"><div dir="ltr">Hali!<div> </div><div>Az akcionyelvvel kapcsolatos dontes mennyire valoszinu?</div><div> </div><div>Megmondom miert kerdezem.</div><div> </div><div>Ha vegrehajthato modellezes nincs akcionyelv nelkul. Eddig ok. </div><div> </div><div>A "Java alap" nem vilagos, mit jelent. Java lesz a nyelv, vagy egy olyan uj nyelv, ami nagyban hasonlit majd a Javahoz? Szerintem nyomos indokra van szukseg az utobbihoz, mivel uj nyelvet kellene megtanulnia a fejlesztoknek. Tehat ha mar uj akcionyelvet kell kitalalni, akkor a natur Java tunik a jo dontesnek. Legalabbis elso blikkre.</div><div> </div><div>Viszont ha Java mellett dontenek, akkor szinte csak java programozok altal dominalt projektek eseten jon majd szoba egyaltalan, hogy a toolchaint hasznaljak. (Es meg az o esetukben is le kell gyozni az ellenallasukat.) C, C++ programozok a kozelebe se fognak szagolni, a tobbiekrol nem is beszelve (Objective-C, Ptyhon, Perl, anyamkinja...).</div><div> </div><div>De veguils mi is a celja az action language-nek? Hogy a klassizkus modellezesi modszerekkel nehezen kifejezheto algoritmikus feladatokat hatekonyan meg tudjak oldani. Itt a hatekonysag koltsegben/produktivitasban es a program gyorsasagaban is ertendo.</div><div> </div><div>Az az allitasom, hogy ezt a celt nem lehet elerni semmilyen uj nyelvvel. Tovabb megyek: nem lehet elerni 1 db nyelvvel. Csak ugy lehet elerni ezt a celt, ha asz osszes nyelvet tamogatjuk, meghozza kozvetlenul, es nem egy absztrakt nyelven keresztul. Ugyanis ez a cel joreszt projekt es product fuggo. Hogy mivel tudnak az emberek gyorsan fejleszteni, az erosen fugg attol, mihez ertenek. Az meg termek fuggo, hogy milyen nyelven erdemes fejleszteni.</div><div> </div><div>Szoval ha csak annyit csinalnanak, hogy definialnanak egy API-t, amit A-X nyelven lehetne megvalositani, es ehhez mondjuk egy C/C++ alapu implementaciot, keszen is lennenk szerintem. Lehetne akciozni pl. Pythonban (idealis nyelv az ilysemikre), ami hivogatna az API-t amikor mondjuk signalt kuldene vagy megkerdezne milyan allapotban is van az adott SM, a C/C++ alapu runtime meg allati hatekonyan valaszolgatna neki. Native hivas van Javaban is, szoval ott is trivi lenne az API implementacioja.</div><div> </div><div>Aztan ott vannak az E/// specifikus praktikus kerdesek. (amig nem a Volvo fizet minket, erdemes ezekre kiemelten figyelni) Hany olyan projektrol tudunk az E///-nel, ahol modellezes van? Ezeken belul hany projektben irodik (generator vagy szorgos kezek altal) Java kod? (spec egyrol tudok csak) Mennyi lesz a betanitasi koltsege egy uj nyelvnek? Mennyire esik majd vissza a fejlesztok produktivitasa? Es mekkora ellenallast fejtenek majd ki?</div><div> </div><div>Szoval ezert az elso kerdesem.</div><div> </div><div>Udv,</div><div>Mormota</div></div><div class="gmail_extra"> <div class="gmail_quote">2015-05-29 11:13 GMT+02:00 Dévai Gergely <span dir="ltr"><<a target="_blank" href="mailto:deva@caesar.elte.hu">deva@caesar.elte.hu</a>></span>:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sziasztok!<br /><br />A tegnapi ericssonos workshopon eleg keves konkret dontes szuletett, de:<br />- Nagyon valoszinu, hogy Alf helyett egy megszoritott es kiterjesztett, Java alapu sajat nyelv lesz az akcionyelv. Ez varhatoan egy Java API segitsegevel lesz definialva a kovetkezo hetekben.<br />- Bizonytalanabb, de valoszinu, hogy a kovetkezo honapokban osztalymodellezesi feature-ok hozzaadasaval kell majd foglalkoznunk. Amig az akcionyelv (es annak parsere, analyser-e) nincs meg, addig a strukturalis reszevel probalunk meg haladni.<br /><br />Udv,<br />Gergo<br /><br /> <br />_______________________________________________<br />Modelinterpreter mailing list<br /><a href="mailto:Modelinterpreter@plc.inf.elte.hu">Modelinterpreter@plc.inf.elte.hu</a><br /><a target="_blank" href="https://plc.inf.elte.hu/mailman/listinfo/modelinterpreter">https://plc.inf.elte.hu/mailman/listinfo/modelinterpreter</a><br /> </blockquote></div></div></blockquote><br /><br /><br /> </html>