VIZUÁLIS NYELVEK TRANSZFORMÁCIÓALAPÚ TÁMOGATÁSA
|
|
- Mária Fodor
- 6 évvel ezelőtt
- Látták:
Átírás
1 Budapesti M szaki és Gazdaságtudományi Egyetem M szaki Tudományág, Informatikai Tudományszak VIZUÁLIS NYELVEK TRANSZFORMÁCIÓALAPÚ TÁMOGATÁSA Ph.D. értekezés tézisei Mezei Gergely Tudományos vezet k: Dr. Charaf Hassan, Ph.D. docens Dr. Levendovszky Tihamér, Ph.D. adjunktus BUDAPESTI M SZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM AUTOMATIZÁLÁSI ÉS ALKALMAZOTT INFORMATIKAI TANSZÉK Budapest, 2007
2 Ph.D. értekezés tézisei Mezei Gergely Budapesti M szaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási és Alkalmazott Informatikai Tanszék 1111 Budapest, Goldmann György tér 3. gmezei@aut.bme.hu tel: +36(1) fax: +36(1) Tudományos vezet k: Dr. Charaf Hassan, Ph.D. docens Dr. Levendovszky Tihamér, Ph.D. adjunktus
3 1. El zmények és célkit zések Az informatikai rendszerek komplexitásának növekedésével párhuzamosan a modellalapú szoftverfejlesztés is egyre népszer bbé vált. A modellek magas absztrakciós szinten képesek leírni a felmerül feladatokat és azok megoldásait. Ez a magas absztrakciós szint biztosítja, hogy a problématér lényegi részeire koncentrálva lehessen megalkotni, kidolgozni a kívánt rendszereket, miközben a kevésbé lényeges, másodrangú, alárendelt információk a háttérbe szorulnak. A magas absztrakciós szint, valamint a modellezésben gyakran használt grakus megjelenítés nagymértékben el segíti a komplexitásból fakadó problémák leküzdését. Egy problémához több különböz modell is készíthet attól függ en, hogy a valóság leképzése során milyen absztrakciós szintet választunk, milyen eszközrendszert (modellezési nyelvet, módszertant) használunk. Ebb l kifolyólag a modellek egyértelm sége, közérthet sége alapvet fontosságú. Az egyik leggyakrabban használt általános modellez nyelv, az Unied Modeling Language (UML) [UML] ezekre a problémákra ad megoldást. Az UML formális szintaxissal deniált vizuális nyelv, aminek segítségével a felmerül problémákat könnyen átlátható formában lehet ábrázolni, dokumentálni. Az UML ugyanazon eszköztárat nyújtja a feladat jellegét l függetlenül. Az egységesség növeli a modellek közérthet ségét, újrahasznosíthatóságát, viszont gyakran rugalmatlan, a modellezési terület sajátosságait gyelmen kívül hagyó leírásokat, modelleket eredményez. Napjainkban, többek közt az UML rugalmatlanságából kifolyólag, egyre népszer bbé válnak a szakterület-specikus modellezési nyelvek (Domain-Specic Modeling Language, DSMLs) [DSML]. A szakterületi modellezés f gondolata, hogy egy-egy szakterület jellemz it egybegy jtve olyan nyelveket (nyelvcsaládokat) dolgozzunk ki, amelyek alkalmasak a kapcsolódó szakterületek problémáinak testreszabott leírására. Az így kapott nyelvekkel létrehozott modellek a szakterület keretein belül rugalmasabbak és a szakemberek számára könnyebben érthet ek, mint az általános nyelven megfogalmazottak. A szakterület-specikus nyelvek esetében nehézséget okoz, hogy míg a modellezési környezetek nagy részét egy konkrét nyelvcsalád támogatásához hozták létre, addig ebben az esetben szakterületenként különböz nyelvcsaládok támogatására van szükség. A probléma egyik gyors, felhasználóbarát és népszer megoldása a metamodellezés [Nordstrom, 1999]. A metamodellezés esetében a modellezési nyelvek denícióját egy speciális modell, a metamodell tartalmazza. A metamodell deniálja a modellezési nyelvben felhasználható elemeket, az elemek attribútumait és az elemek közt kialakítható kapcsolatokat. A metamodell tehát a modell modelljének tekinthet. A metamodellb l a modellt a példányosítás reláció segítségével kaphatjuk meg. A példányosítás fogalma nem csak két modellezési szint között értelmezhet, hanem kiterjeszthet további szintekre, így létrehozhatunk pl. meta-metamodelleket, amik a metamodellek jellemz it deniálják. A magasabb modellezési szintek természetszer leg magasabb absztakciós szintet is jelentenek, azaz egy metamodell absztraktabb leírást tesz lehet vé, mint modelljei. Napjaink egyik legjelent sebb metamodellezési ajánlása, a Meta- Object Facility [MOF] kezdetben négyszint modellhierarchiát deniált, ami a legtöbb probléma leírásához elegend is. A modellezési rétegek ugyanakkor elméleti szinten bármilyen mélységben egymásra építhet ek. A rétegek számának növelésével egyre kisebb absztrakciós szint váltásra kényszerülünk a példányosítások során, így a modellezés tovább nomítható. Napjainkra a MOF egyre nyitottabbá vált a négyszint hierarchia kib vítésére. Az n-szint metamodellezési hierarchia azonban több problémát is felvet. A problémák egy része strukturális, topológiai jelleg, ezekr l bebizonyosodott, hogy mind elméleti, mind gyakorlati szinten megoldhatóak [Levendovszky 20505]. A problémák fenn- 3
4 maradó része az attribútumokkal, az n-szint attribútum-hierarchiával kapcsolatos, ezek megoldása jelenleg még nem megoldott. A metamodell tehát képes rugalmasan leírni a szakterület-specikus modellez nyelvek topológiai felépítését. Problémát jelent ugyanakkor, hogy grakus szakterületi nyelvek esetén azok jelölésrendszerét a felhasználható modellelemek megjelenítését a metamodellezési technika önmagában nem képes deniálni. A szakterületi nyelvek metamodellezéssel történ megadásához ezért szükség van egy, a megjelenítést, a vizualizáció denicióját leíró megoldásra. A metamodellezés által topológiai kényszerekkel deniált nyelvek esetében további probléma, hogy a deníció gyakran nem teljes, vagy nem elegend en precíz. Ez a pontatlanság nem csupán a metamodellezésre jellemz, UML modellek esetében is gyakran el fordul. A probléma oka, hogy a nyelvek vizuális formában megadott deníciója nem, vagy csak nehézkesen képes bizonyos összetett összefüggéseket ábrázolni (pl. egyik attribútum értékének függését a másiktól). Az egyik legelfogadottabb megoldása a problémának, hogy szöveges kényszereket csatolunk a modellelemekhez evvel pontosítva a struktúrális deníciót. A Object Constraint Language (OCL) [OCL] napjaink egyik legnépszer bb kényszerleíró nyelve. Az OCL egy egyszer szintaktikájú, formális nyelv, amit erdetileg UML modellezéshez dolgoztak ki. Ennek az UML objektum hierarchián alapuló nyelvnek a rugalmassága viszont lehet vé teszi, hogy kiegészítések segítségével, a hagyományos, vagy akár az n-szint metamodellezésben is felhasználhassuk. A precíz modellek szükségessége miatt a kényszerek ellen rzése a modellezés szempontjából alapvet fontossággal bír. A kényszerkiértékelés optimalizálása leghatékonyabban a fejleszt k által megfogalmazott kényszerkifejezések az eredetivel egyez értelm, szemantikájú, de annál hatékonyabb átfogalmazásával végezhet el. Mivel a kényszerkifejezés az optimalizálás során megváltozik, így az optimalizált és az eredeti kényszer ekivalenciája minden esetben ellen rizend. A modellalapú megközelítések esetében a modellezés gyakran csak a folyamat els lépését jelenti. A modellvezérelt architechtúra (MDA) [Soley et al., 2004] esetében el ször egy plattformfüggetlen model (Platform Independent Model, PIM) készül el, majd ezt modellfordítók segítségével b vítik ki a különöböz plattformokra jellemz információkkal. A PIM-b l a modellfordítás eredményeképpen áll el egy, vagy több plattformfügg modell (Platform Specic Model, PSM). Egy másik népszer modellalapú technika a Model-Integrated Computing (MIC) [MIC] a létrehozandó rendszer elkészítéséhez szakterület-specikus nyelveket használ, majd ezekb l készít forráskódot modelltranszformáció segítségével. A modellek feldolgozása, átalakítása, transzformálása mind a két bemutatott technológiában nagy hangsúlyt kap, de igaz ez más, modellalapú megközelítésekre is. Napjainkban a modelleket gyakran címkézett, írányított gráf formájában írják le. Ez a leírás lehet vé teszi a gráfújraírási szabályokon alapuló gráftranszformáció használatát. Az újraírási szabályok bal oldalból (left-hand side, LHS) és jobb oldalból (right-hand side, RHS) tev dnek össze. A szabály alkalmazása során a bal oldalon deniált mintát keressük meg a transzformálandó ún. hosztmodellben, majd lecseréljük a jobb oldali mintára. Bár a gráfújraírás hatékony módszer kis (néhány tíz elemb l álló) modellek és minták esetében, de az újraírás során alkalmazott mintaillesztés algoritmikusan nehéz feladat, így a modellek és az újraírási szabályok méretének növekedésével a módszert követ transzformációk nagyon lassúvá vállhatnak. Mivel a feladat komplexitása csak speciális esetekben csökkenthet, ezért más megoldásra, a számítási kapacitás megnövelésére van szükség. Ennek a gyorsításnak az egyik módja az egymástól független részfeladatok párhuzamos 4
5 elvégzése. Általános esetben a különböz újraírási szabályok közt fennálló függ ség er sen korlátozhatja a párhuzamos végrehajtás lehet ségeit, ugyanakkor elmondható, hogy a bizonyos kitételeknek eleget tev transzformációk esetében a párhuzamosítás hatékony eszköz a modelltranszformáció felgyorsítására. A párhuzamosítás történhet egy újraírási szabály alkalmazásán belül a mintaillesztési folyamat párhuzamosításával, vagy a transzformáció lépéseinek szintjén egymástól független lépéseket keresve. Kutatásom célja a bemutatott problémáknak megfelel en egy olyan metamodellezési és modelltranszformációs megközelítés kidolgozása és implementálása volt, ami a korábbiaknál rugalmasabban, hatékonyabban támogatja a modellalapú szoftverfejlesztést. Mindezek alapján a következ célokat t ztem ki: 1 A vizuális nyelvek n-szint metamodellezésének megvalósítására alkalmas attribútumszerkezet és attribútumtranszformáció elméleti kidolgozása és formalizálása. 2 A metamodellezési paradigma kiegészítése a vizuális nyelvek megjelenítési információinak kezelésével. 3 A vizuális nyelvek modellezését támogató n-szint metamodellezési keretrendszer elméleti kidolgozása. Az elméleti megfontolások gyakorlatban történ validálása. 4 Hatékony metamodell-alapú kényszerkiértékelés kidolgozása. A kényszerkifejezések automatikus optimalizálása. Az optimalizálás helyességének validálásához szükséges matematikai formalizmus kidolgozása és a validálás elvégzése. Az optimalizáció hatékonyságának bizonyítása mérések segítségével. 5 Modelltranszformációk párhuzamosíthatóságának vizsgálata gráftranszformációk esetén. A párhuzamosságot korlátozó és segít tulajdonságok elemzése. Párhuzamos transzformációs algoritmusok kidolgozása és megvalósítása. A párhuzamosításból ered hatékonyságnövekedés bizonyítása. 2. Módszertani összefoglalás A kit zött célok meghatározták kutatásom irányát. Kutatásom els szakaszában a már létez elméleti és gyakorlati megoldásokat ismertem meg. Elméleti kutatásom a céloknak megfelel en alapvet en négy témakör köré épült: (i) n-szint modellezés, (ii) a vizuális nyelvek megjelenítési információinak leírása, (iii) kényszerkiértékelés és optimalizáció, (iv) párhuzamos modelltranszformációk. Az egyes témakörökhöz kapcsolódó háttér három elméleti és egy gyakorlati részre bontható: A modellezés terén végzett kutatásaim bevezetéseképpen a gráfalapú modellábrázoláshoz szükséges gráfelméleti megfontolásokat és algoritmusokat tanulmányoztam. A modellezés, a modellek reprezentációja során a MOF korábban már említett specikációjat elemeztem [MOF]. Kutatásomban felhasználtam az n-szint metamodellezés topológiai értelemben vett megvalósíthatóságának bizonyítását [Levendovszky 20505]. Ezeket az eredményeket egészíti ki az általam kidolgozott attribútumszerkezet és a modellez rétegek közti attribútum-transzformáció. A transzformáció formalizmusában és tulajdonságainak validálásához az absztrakt állapotgépek (Abstract State Machines, ASMs) [ASM] matematikai formalizmusát használtam fel. 5
6 A metamodellhez kapcsolódó megjelenítés deniálása során egy gráftranszformációt használtam, ami összeköti a metamodell által deniált topológiai, adat jelleg és a vizuális modell grakai, megjelenítési jelleg információit. A felhasznált transzformáció tulajdonságainak vizsgálatához készített terminálási kritérium a kategóriaelméleten [Pierce, 1991] alapul, így a megoldás módszere is ezt a formalizmust használja fel. A metamodell-alapú kényszerkiértékeléssel kapcsolatos kutatásomban els lépésben a OCL nyelv már létez, halmazelméleti formalizmusát tanulmányoztam át [OCLFormalism]. A formalizmus kiterjesztésében a korábban kidolgozott n-szint attribútumszerkezetet használtam fel. Az optimalizált kényszerkezelés kidolgozása során építettem az aspektus-orientált kényszerkezelés néhány alapötletére [Lengyel, 2006], az ötletek átdolgozott, pontosított változatát az els optimalizáló algoritmusban használtam fel. A második optimalizációs algoritmus kidolgozása során az általános fordítókkal kapcsolatos optimalizációs lehet ségeket [Atho et al., 1998] tanulmányoztam át. A kidolgozott algoritmusok helyességének bizonyításakor felhasználtam automataelméleti konstrukciókat, valamint a korábban már említett absztrakt állapotgépek formalizálási technikát. A párhuzamos transzformációk elméleti alapját a gráftranszformációk matematikai háttere [Rozenberg, 1997], valamint a transzformációk DPO (Double Pushout) megközelítése [Ehrig et al., 2005] jelentették. Az általam tanulmányozott gráftranszformációk szigorúan sorrendezettek és a DPO megközelítést követik. A szigorú sorrendezés ez esetben azt jelenti. hogy a transzformáció nem csak az újraírási lépéseket tartalmazza, de azok sorrendjét is megadja. A vizsgált transzformációk metamodell-alapú újraírási szabályokat használnak, ahol mind a bal (LHS), mind a jobb oldal (RHS) metamodell-elemekb l épül fel. Az újraírás során így nem az LHS-ben deniált mintával izomorf részgráfot keresünk a gazdagráfban, hanem az LHS-ben deniált minta egy példányosításával izomorfat. A módszer egyrészr l növeli az újraírási szabályok kifejez erejét, másrészr l viszont a hagyományos újraíráshoz képest új problémákat is felvet. A párhuzamosan futtatható szabályok kiválasztásánál felhasználtam továbbá a DPO Párhuzamossági Tétel [Ehrig et al., 2005] kiterjesztését [Levendovszky 20505] is. Az újraírási szabály-szint párhuzamosításnál építettem egy dinamikus teljesítményelosztási eredményre is [Kumar et al., 1994]. Kutatásaim során az elméleti részeredményeket a gyakorlatban is megvalósítottam, majd az így nyert tapasztalatokat visszacsatolva fejlesztettem tovább az elméleti hátteret. Az elméleti eredmények gyakorlati validálását a BME Automatizálási és Alkalmazott Informatikai Tanszékén fejlesztett Visual Modeling and Transformation System (VMTS) [VMTS] nev metamodellez és modelltranszformációs keretrendszer segítségével végeztem el, amelynek fejlesztésében én is aktívan részt vettem. A rendszer megfelel alapot biztosított az elméleti eredmények gyakorlatba történ átültetéséhez, ellen rzéséhez és számos esetben a továbbfejlesztéséhez is. A VMTS rendszer nem csak az általam kidolgozott elméleti eredményekre alapul, tartalmaz számos korábbi kutatási eredményt is mint pl. a gráfújraírás matematikai háttere [Rozenberg, 1997], a validált, metamodell alapú modelltranszformációk [Lengyel, 2006], vagy az n-szint metamodellezés topológiai jelleg problémáit megoldó eredmények [Levendovszky 20505]. A VMTS rendszerben a kutatásomhoz kapcsolódó modulok az elméleti kutatásom gyakorlati validációjának tekinthet k, a VMTS a bizonyítéka annak, hogy a kidolgozott megoldások valóban megvalósíthatóak, m köd képesek. 6
7 3. Új tudományos eredmények A kit zött célok elérését lehet vé tev eredményeimet négy tézisbe soroltam. Az els tézisben az n-szint metamodellezésben felhasználható attribútumszerkezetet és az attribútumok példányosítását elvégz transzformációt ismertetem. A tézis tartalmaz továbbá egy vizuális eszközökön alapuló módszert, ami alkalmas a grakus modellez nyelvek vizualizációjának leírására. A második tézis a vizuális nyelvek kényszereinek kiértékelésével kapcsolatos eredményeket tartalmazza. A tézis bemutatja, hogy az OCL nyelv hogyan terjeszthet ki az n-szint attribútumszerkezet támogatására. A tézis ismerteti az általam kidolgozott, a kényszerellen rzést optimalizáló algoritmusokat és ismerteti az algoritmusok együttm - ködésének feltételeit. A tézis tartalmazza továbbá az OCL nyelv egy újfajta matematikai formalizmusát és annak felhasználását az optimalizáló algoritmusok helyességének bizonyításában. A harmadik tézis a párhuzamos gráftranszformációkkal kapcsolatos kutatás eredményeit ismerteti. A tézis bemutatja azt az elméleti keretrendszert, ami lehet vé teszi a párhuzamos algoritmusok használatát, a transzformáció-szint és az újraírási szabályszint párhuzamosítási algoritmusokat, valamint ismerteti az együttm ködési lehet ségeket a két párhuzamosítási szint között. A negyedik tézis az els három tézis elméleti eredményeit a gyakorlatban történ megvalósítás segítségével validálja. Ez a tézis tartalmazza az els tézis eredményeire alapuló metamodellez keretrendszer ismertetését, a kényszerkiértékelést végz fordító leírását, valamint a párhuzamos modelltranszformáció során felhasznált elméleti keretrendszer alapján készült alkalmazás bemutatását is. I. Tézis Vizuális nyelvek deníciója Kidolgoztam egy, az n-szint metamodellezésben használható attribútumstruktúrát, amely struktúrát követ attribútumok tetsz leges szint mélységben példányosíthatóak. Formalizust adtam a struktúrára és a transzformációra, aminek a segítségével megvizsgáltam a transzformáció néhány alapvet tulajdonságát. Kidolgoztam továbbá egy módszert, ami a metamodellezési alapelvekhez illeszkedve, egy speciális vizuális modell segítségével lehet vé teszi a vizuális nyelvek megjelenítésének deniálását. Létrehoztam egy modelltranszformációt, amivel a kialakított, a megjelenítést megadó modell a topológiát leíró metamodellhez kapcsolható, így a metamodell adat jelleg információi rugalmasan kiegészíthet ek a megjelenítési jelleg információkkal. A modeltranszformáció tulajdonságait megvizsgálva beláttam, hogy a transzformáció minden esetben terminál. A tézishez kapcsolódó publikációk: [4][6][7][8][9][10][15][16][17][18][30][32][35]. A kutatás során kidolgoztam egy attribútumszerkezetet, ami képes leírni egy tetsz leges szakterületben megjelen attribútumok szerkezetét. A szerkezet formális leírása biztosítja a precizítást, általános szerkezete pedig garantálja a nagyfokú kifejez képességet Deníció. Az Egyszer sített N-szint Attribútumalgebra egy A állapotának szuperuniverzuma ( A ) több aluniverzum kompozíciójából tev dik össze, amelyek 7
8 - U Bool a logikai értékek univerzuma {true/false} - U Number a racionális számok univerzuma {Q} - U String véges hosszú karakterláncok univerzuma - U ID a lehetséges egyedi azonosítók univerzuma Deníció. Az Egyszer sített N-szint attribútumalgebra a következ karakterisztikus függvényeket tartalmazza: Meta/1, IsAttribute/1, Name/1, Root/1, Attribute/3, ahol a perjelet követ en a paraméterek száma szerepel. I.1. Altézis Létrehoztam a fenti denícióknak eleget tev formális attribútum algebrát. Beláttam, hogy az algebra alkalmas az n-szint attribútumszerkezet leírására. Matematikai formulákkal megadtam az érvényes modellek denícióját. Megmutattam, hogy formális szintaxissal megadható egy transzformációs algoritmus, ami az attribútum algebrával megadott érvényes modellek esetében a példányosítás során elkészíti a példányszint attribútumszerkezetét. Beláttam, hogy a kidolgozott algebra alkalmas az UML 2.0 szabványban szerepl osztálydiagram, objektumdiagram, ill. állapotdiagram attribútumszerkezetének leírására Deníció. Egy modellezési hierarchiában alkalmazott példányosítást mély példányosításnak (deep instantiation) nevezzük, ha az n. szinten modellezett információ elérhet az n+x. (x>1) szinten [Atkinson and Kuhne, 2001] Deníció. Az Továbbfejlesztett N-szint attribútumalgebra a következ karakterisztikus függvényeket tartalmazza: Meta/1, IsAttribute/1, Name/1, Root/1, Attribute/3, ReInstantiate/1, ReInstantiationName/1, ahol a perjelet követ en a paraméterek száma szerepel. I.2. Altézis Megmutattam, hogy létrehozható egy attribútum algebra, amelynek szuperuniverzuma megegyezik az Egyszer sített N-szint attribútumalgebra szuperuniverzumával, karakterisztikus függvényei megfelelnek a fenti deníciónak és amely algebra támogatja a mély példányosított attribútumok kezelését is. Igazoltam, hogy kidolgozható formális szintaxis segítségével egy transzformációs algoritmus, ami elvégzi a példányosítást. Beláttam, hogy a példányosítási transzformáció minden véges számú modellelemet tartalmazó, és az attribútumokat véges mélységben egymásba ágyazó modell esetében terminál. A transzformáció komplexitását pontos formula segítségével is megadtam. Igazoltam, hogy egy tetsz leges érvényes modellb l kiindulva a transzformációs szabálynak és a modell érvényességét nem sért módosítások kombinációjának sorozatát tetsz leges számban elvégezhetjük és az így kapott modell minden esetben érvényes lesz. Beláttam, hogy a transzformáció alkalmas az UML 2.0 szabványban leírt osztálydiagramból a példányként kapott objektumdiagram attribútumainak generálására. A rugalmas attribútumstruktúra segítségével a vizuális nyelvek topológiai értelemben véve deniálhatóak, de a sokszor rendkívüli fontossággal bíró megjelenítés megadását a 8
9 1. ábra. A megjelenítési és topológiai deníció összekapcsolása metamodellezés nem írja le. Metamodellezés segítségével megadtam egy speciális vizuális nyelvet VMTS Presentation DSL (VPD) néven, ami képes más vizuális nyelvek megjelenítésének leírására. Kidolgoztam egy elméleti eszköztárat a megjelenítés deniálására, ami egyszer elemekb l építi fel a modellezni kívánt vizuális nyelv többnyire összetett megjelenítését. I.3. Altézis Igazoltam, hogy létrehozható olyan modell, amivel a vizuális nyelvek megjelenítése modellezhet. Beláttam, hogy a megjelenítéset megadó modell összekapcsolható az adott modellezési területet leíró, strukturális, topológiai jelleg metamodellel (1. ábra). Beláttam, hogy a modellezési tér két eltér aspektusának (a vizualizációnak és a struktúrális deníciónak) az összekapcsolása automatizálható modelltranszformáció segítségével. Megmutattam, hogy ez a modelltranszformáció leírható gráfújraírási szabályok sorozataként és kidolgoztam ezeket a szabályokat. Megmutattam, hogy a VPD nyelv alkalmas többek közt az UML 2.0 szabványnak megfelel tevékenységdiagram, a folyamatábra és a Nessie-Schneidermann diagram leírására. A vizuális és struktúrális deníció összekapcsolására használt modelltranszformáció rugalmassá teszi a megoldást az esetleges változásokra (pl. ha a megjelenítés leírásához új elemeket szeretnénk felvenni). Más oldalról viszont ennek a rugalmasságnak az az ára, hogy a transzformáció helyességét és tulajdonságait minden változtatás esetén meg kell vizsgálni. A transzformáció egyik legfontosabb tulajdonsága a terminálás kérdése. Ennek vizsgálatához a [Plump,1998]-ben leírt terminálási tételt használtam fel. I.4. Altézis A transzformációk E-alapú kompozíciójára kimondott tételt [Ehrig et al., 2006] felhasználva bebizonyítottam, hogy a VPD nyelv modelljeinek feldolgozásakor használt transzformáció minden esetben terminál a bemeneti gráftól függetlenül (véges bemeneti gráfok esetében). 9
10 II. Tézis Optimalizált, metamodell-alapú kényszerellen rzés Az eredetileg az UML nyelvhez létrehozott OCL nyelvet kiegészítettem az n-szint attribútumok támogatásához szükséges elemekkel. Megmutattam, hogy az így kapott nyelv továbbra is teljesíti a formális kényszerkiértékel nyelvekkel szemben támasztott követelményeket. Kidolgoztam két optimalizációs algoritmust, amelyek a kényszerkifejezések áthelyezésével ill. gyorsítótár alkalmazásával teszik optimálisabbá a modellek validációját. Kidolgoztam az OCL nyelv egy új típusú formalizmusát, valamint az új formalizmust felhasználva megvizsgáltam az optimalizációs algoritmusok helyességét. A tézishez kapcsolódó publikációk: [2][5][19][24][29][33][34][37][41][42]. Az OCL nyelv halmazelméleten alapuló formalizmusa fontos a modellek precizításának bizonyításában. A precizítás megtartása érdekében hasonlóan fontos az OCL nyelvet feldolgozó algoritmusok formális leírása is. Az eredeti formalizmus csak a nyelv statikus viselkedését, a nyelvi elemeket írja le és a leírás több helyen hiányos [OCLFormalism]. A meglév formalizmus nem tartalmazza továbbá a végrehajtás, a kényszerkiértékelés folyamatánk denícióját. A dinamikus, az eredeti kényszert átformáló algoritmusok formalizálásához ezért egy új módszerre van szükség. Kidolgoztam az OCL nyelv egy új formalizmusát OCLASM néven. Az OCLASM az absztrakt állapotgépek programozási nyelvek esetében használatos technikáján [Stark et al., 2001] alapul. Az OCLASM mintegy interpreterként dolgozza fel a kényszereket, az automata állapotai a végrehajtó környezet egy pillanatban vett állapotával egyeznek meg. A formalizmus monitorozott függvényeket használ a modellelemek kinyerésére (mivel az OCL deníció szerint nem változtathatja meg a modellt). Az OCLASM a kényszerkifejezéseket megosztott függények segítségével írja le. A megosztott függvényekre azért van szükség, mert bár a kényszere deniálását egy küls rendszer (vagy felhasználó) végzi, az algoritmusok a kényszereket átírhatják. Az OCLASM a kényszereket szintaxis fa formájában tárolja, a feldolgozás során ezt a fát alakítjuk át Deníció. Az OCLASM a következ karakterisztikus függvényeket tartalmazza, ahol zárójelben a paraméterek száma található: Monitorozott függvények: IsModelItem/1, AttrValue/1, Meta/1, To/2, Mul/2 Megosztott függvények: Dinamikus függvények: GetPhrase/1, Child/2, Parent/1 CurrentPos/0, Type/1, Value/1, Name/1, Local/ Deníció. Az OCLASM egy A állapotának szuperuniverzuma ( A ) több aluniverzum kompozíciójából tev dik össze, amelyek - U P hrase atomi OCL kifejezések univerzuma - U Boolean logikai kifejezések (igaz/hamis) és az undef konstans univerzuma - U Numbers a számokból képzett véges hosszú sorozatok univerzuma - U Strings a véges hosszú karakterláncokból képzett véges hosszú sorozatok univerzuma - U ID a lehetséges egyedi azonosítók univerzuma. 10
11 II.1. Altézis Megmutattam, hogy az OCLASM segítségével az OCL nyelv formalizálható. A formalizmus segítségével megmutattam, hogy az OCL nyelv kiegészíthet az I. tézisben leírt N-szint attribútumalgebra attribútumainak támogatásával. A nyelvi kiegészítést formális módszerekkel leírtam. A hatékony kényszerellen rzés kritikus lehet a precíz modellek kialakításában. A kényszerkiértékelés közben elvégzett modellekérdezések száma dönt en befolyásolja a validálás hatékonyságát, ezért optimalizációs algoritmusaim a modell lekérdezések számát csökkentik. Az optimalizáció során feltételeztem, hogy a kényszerkifejezések invariáns típusúak. Kidolgoztam a RelocateConstraint algoritmust, ami a kényszerek áthelyezésével csökkenti a validálás által igényelt id t. Az algoritmusban felhasználtam korábbi kutatások eredményeit [Lengyel, 2006], de továbbfejlesztettem, kiegészítettem azokat a modellben megjelen multiplicitások kezelésével. A multiplicitások gyelembevétele a kényszeráthelyezés helyességének alapvet feltétele a modellellen rzés esetében. II.2. Altézis Megmutattam, hogy a kényszeráthelyezés algoritmusa elvégezhet oine módon, azaz a hosztmodell kiválasztása nélkül, a metamodell és a kényszerkifejezések ismeretében, így a kényszeráthelyezés ideje nem növeli a modellek validálásának idejét. Bebizonyítottam, hogy az általános kényszeráthelyezés (két tetsz leges modellelem közt) minden esetben leírható szomszédos modellelemeken végzett áthelyezési lépések sorozataként. Megmutattam, hogy a kényszeráthelyezés általános helyességének elemzése az eredeti kényszert tartalmazó modellelemb l kiinduló szélességi, vagy mélységi bejárás alapján elvégezhet. Beláttam, hogy egy modellelemb l egy kényszert nem helyezhetünk át olyan szomszédos modellelembe, ahol a céloldali minimum multiplicitás nulla. Igazoltam, hogy az áthelyezés minden más esetben lehetséges és konstrukciókat adtam az egyes esetek kivitelezésére. Megmutattam, hogy a kényszeroptimalizáló algoritmus formalizálható az OCLASM formalizmus segítségével. A kényszeráthelyezés algoritmusának helyességét formális módon igazoltam. A kényszeráthelyezés hatékony módszer a lekérdezésék számának csökkentésére, de az áthelyezés nem mindig optimális és nem is mindig megoldható, ezért egy további algoritmust dolgoztam ki. A ReferenceCaching algoritmus egy általánosabb optimalizációt valósít meg a modellelemek lekérdezése során használt gyorsítótár segítségével. Annak érdekében, hogy feleslegesen ne foglaljunk memóriát a gyorsítótárral, az algoritmus el ször összegy jti a kényszerkifejezésb l azokat a hivatkozásokat, amik többször hajtódnak végre. A hivatkozások összegy jtésének alapja egy oine referenciaszámlási algoritmus (GetCommonReferences). A kényszerkiértékelés során a CachingManagement algoritmus gondoskodik az gyorsítótár kezelésér l. A GetCommonReferences és a CachingManagement algoritmusok a ReferenceCaching algoritmus részei Deníció. Egy fordítóautomata esetében két, ugyanarra a mez re történ referenciát common subexpression-nek nevezünk [Atho et al., 1998], ha a két hivatkozás között a mez értéke nem változik. 11
12 II.3. Altézis Beláttam, hogy a kényszerben használt kifejezések minden esetben teljesítik a "common subexpression" kitételt, azaz az els modell lekérdezésének eredménye minden esetben megegyezik a kés bbi lekérdezések eredményével. Kidolgoztam a GetCommonReferences algoritmust és megmutattam, hogy a referenciaszámlálás oine módon elvégezhet. Igazoltam, hogy a ReferenceCaching algoritmus alkalmazásával a modellek lekérdezésének száma nem növekedhet. Beláttam továbbá, hogy az algoritmus nem tárol el feleslegesen modellelemeket a memóriában. Az OCLASM formalizmust felhasználva megmutattam, hogy a ReferenceCaching algoritmust minden esetben helyes eredményt ad. III. Tézis Párhuzamos gráftranszformáció Egy gráfújraíráson alapuló modelltranszformáció általában több újraírási szabályból áll. Az újraírási szabályok komplexitása általános esetben O(n k ), ahol n a hosztmodell elemeinek a száma, míg k a keresett minta nagysága. A teljes transzformáció komplexitása így O( r i=1 nk i ), ahol r a transzformációs lépések számát jelöli. Ez a komplexitás az egyes transzformációs lépések párhuzamos végrehajtásával redukálható. A párhuzamosítási lehet ségeket ugyanakkor korlátozzák a lépések közti fennálló függ ségek, amelyeket el kell kerülni, vagy fel kell oldani. Ebben nagy szerepet kaphatnak olyan koniktuscsökkent heurisztikák, amelyek az egyes transzformációk jellemz i mentén optimális stratégiát valósítanak meg. Lehet ség van párhuzamosításra az egyes újraírási lépéseken belül is. Itt az eredeti komplexitás csökkenthet a mintaillesztést különböz kez dpontokról kezdve. A párhuzamosság felhasználását ebben az esetben az korlátozza, hogy legtöbbször nem az összes lehetséges mintaillesztést keressük, hanem csak az els t, így a komplexitás elméleti csökkenése nem mindig érzékelhet. Kutatásomat a DPO megközelítést követ, metamodell-alapú újraírási szabályokat használó, szigorúan sorrendezett gráftranszformációkon végeztem el. Megmutattam, hogy ezen gráftranszformációk esetén gyorsítás érhet el, amennyiben az egymástól független feladatokat párhuzamosan hajtjuk végre. Beláttam, hogy a párhuzamosítás hatékonyságát befolyásolja a transzformáció jellege. Kidolgoztam két transzformációszint és két újraírási szabályszint párhuzamos mintaillesztési algoritmust, beláttam, hogy az algoritmusok eredménye mindig a szekvenciális végrehajtással egyez eredményt ad. Kidolgoztam továbbá egy elméleti keretrendszert, amely képes a két eltér szint algoritmus összehangolt végrehajtására. A tézishez kapcsolódó publikációk: [36][38] Deníció. Két metamodell-alapú újraírási szabály p 1 és p 2 közt fenáll a metakoniktus reláció (ϕ MetaConflict ), ha készíthet olyan hosztmodell, ahol létezik a két szabálynak nem párhuzamosan független példányosítása Deníció. Egy szigorúan sorrendezett transzformáció feldolgozása esetén függetlenségi blokknak nevezzük a szabályok egy halmazát, ha halmaz bármely két elempárja végrehajtható párhuzamosan a hosztmodellt l függetlenül. 12
13 Az eredetileg szigorúan sorrendezett szabálysorozatból álló transzformációkat a feldolgozáskor függetlenségi blokkok sorozatára bontottam. Az eredeti transzformáció átalakítása során egy-egy blokk akkor kerül lezárásra, ha a következ szabály már megsértené a függetlenséget. III.1. Altézis Megmutattam, hogy a ϕ MetaConflict megléte ellen rizhet oine módon, azaz a hosztmodell kijelölése nélkül. Megmutattam, hogy minden transzformáció szétbontható függetlenségi blokkok sorozatára. Beláttam, hogy a metamodell-alapú újraírási szabályok esetében a függetlenségi blokkok a ϕ MetaConflict reláció segítségével oine módon kialakíthatóak. Algoritmust adtam a blokkok kialakítására. Kidolgoztam egy algoritmust, ami lehet vé teszi a blokkok átlapolt végrehajtását. Bebizonyítottam, hogy a párhuzamos végrehajtás helyessége nem sérül az algoritmus használata esetén még akkor sem, ha a szabályok közt függ ség van. Megmutattam, hogy az átlapolódásból származó szabályütközések esélye csökkenthet heurisztikák segítségével. Heurisztikákat adtam, amelyek az egyszer transzformációs tulajdonságok gyelembevételével optimalizálják a szabályütközések számát. A transzformációk párhuzamosítására nem csak az újraírási szabály feletti szinten lehetséges. Párhuzamosítható ugyanis az egyes újraírási szabályok mintakeresési algoritmusa is. Deniáltam az I, P és T relációkat, amelyek egy modellelem leszármazott típusait, stípusait, ill. a modellelem metatípusát adják meg. III.2. Altézis Megmutattam, hogy a hosztmodell particionálható a metamodellben deniált típusok mentén és ez esetben a metamodell-alapú újraírási szabály k ( i 1 S(rni ) N(rn i, rn j ) ), (3.1) i=1 j=1 lépést igényel, ahol k a modellelemek száma a kiválasztott szabályban, rn a szabály elemeit jelöli, míg az N egy függvény, amelynek deníciója: N(l, m) = { 1, if T(m) I(T(l)) 0, otherwise (3.2) Megmutattam, hogy az újraírási szabályok mintakeresési algoritmusa párhuzamosítható az LHS denícióból tetsz legesen választva egy modellelemet, amelybe csak olyan él vezet, amely a céloldalon (a választott modellelemnél) csak egyszeres multiplicitást enged. Igazoltam, hogy ebben az esetben a párhuzamosítás során választott modellelemhez párosított különböz hosztmodellbeli modellelemek (pivot pontok) független találatokat adnak. Beláttam, hogy a mintakeresés ebben az esetben k ( i 1 S(rni ) N(rn i, rn j ) ) S(rn 1 )/c h, (3.3) i=2 j=2 13
14 lépést igényel, ahol N az el z ekben deniált függvény, k a modellelemek száma a kiválasztott szabályban, rn a szabály elemeit jelöli, amelyek közül az algoritmus rn 1 -t választotta ki, c a kliensek száma, h a relatív hálózati költsége fels becslése egy, kezd ponttal megadott résztalálat esetén. Megadtam egy másik párhuzamos mintakeresési algoritmust, ami a pivotpontok kiértékelését véletlenszer sorrendben végzi el. Bebizonyítottam, hogy az egyes kliensek minden olyan esetben megtalálják a keresett mintát, amikor a szekvenciális algoritmus megtalálná. Becslést adtam a mintakeresés költségére. A transzformációk végrehajtásának párhuzamosítása a korábbiak szerint két szinten is lehetséges. A transzformációszint algoritmusok akkor hatékonyak, ha az egyes transzformációs szabályok közti függ ségek száma kicsi. Az újraírási szabályszint elosztott algoritmusok hatékonyságát az befolyásolja, hogy a mintaillesztés komplexitását mennyire csökkenti az els csomópont meghatározása. Mivel a két algoritmuscsoport más-más esetben optimális, ezért fontos megvizsgálnunk, hogy együttes alkalmazásuk lehetséges-e. Igaz továbbá, hogy egy olyan keretrendeszerben, amely mindkét algoritmuscsoportot támogatja, a dinamikus terheléselosztás révén optimálisabb m ködést eredményezhet. III.3. Altézis Beláttam, hogy a transzformációszint és az újraírási szabályszint párhuzamos algoritmusok együtt is alkalmazhatóak. Megmutattam, hogy az algoritmusok kompoziciója kétszint felépítést eredményez, ahol az els szint kliensek a transzformáció szint feladatokat oldják meg, míg a második szint kliensek az újraírási szabályok párhuzamos végrehajtásáért felel sek. Megmutattam, hogy a második szint kliensek (amelyek az újraírási szabályszint párhuzamosításban vesznek részt) és az els szint kliensek dinamikus összerendelése megvalósítható. Igazoltam, hogy a párhuzamos algoritmusokat futtató keretrendszer mind elméletben, mind a gyakorlatban megvalósítható. A párhuzamos futtatás hatékonyságát mérésekkel igazoltam. A mérések segítségével megmutattam, hogy a transzformáció szint algoritmusok abban az esetben hatékonyak, ha az egyes szabályok végrehajtása nagyságrendileg azonos id t igényel. Beláttam, hogy a másodszint kliensek segítségével a feltételnek eleget nem tev transzformációk is végrehajthatóak hatékonyan. IV. Tézis Elméleti eredmények gyakorlati validációja A Visual Modeling and Transformation System keretrendszeren keresztül megmutattam a következ ket: Megmutattam, hogy az n-szint attribútumszerkezet és transzformáció a gyakorlatban is megvalósítható. Referenciaimplementációként elkészítettem az algebra XMLalapú és objektumorientált megvalósítását. Az attribútumok alkalmasságát számos m szaki problémában, pl. a funkciómodellben, ill. mobiltelefonok számára készített er forrásszerkeszt ben is igazoltam. 14
15 Igazoltam, hogy az els tézisben bemutatott vizuális metamodell képes leírni a folyamatábra, a Nessie-Schniedermann diagram és az UML szabvány szerinti tevékenység diagram megjelenítését. Megmutattam, hogy a leírás eredményeképpen el álló deníció a gyakorlatban közvetlenül felhasználható. Beláttam, hogy a modellek közti tartalmazási hierarchia kettébontható a valós és logikai tartalmazás (a tényleges, és a modellezési aspektusokban használt relációk) mentén. Megmutattam, hogy az I. tézis eredményeire alapozva létrehozható egy olyan alkalmazás, ami támogatja UML diagramok, modelltranszformációs és er forrásszerkeszt nyelvek grakus szerkesztését. Igazoltam, hogy a kényszerellen rzéshez a gyakorlatban is kidolgozható egy OCL fordító, ami mind a metamodell alapú kényszereket, mind az ismertetett optimalizációs algoritmusokat felhasználja a modellek validálása során. Mérések segítségével bebizonyítottam, hogy az optimalizált kényszerellen rzés a gyakorlatban hatékonyabb az eredeti kényszereken alapuló modellvalidálásnál. Megmutattam, hogy a memóriaalapú modellábrázolás megközelít leg három nagyságrenddel gyorsabb modelltranszformációt tesz lehet vé, mint az adatbázis alapú. Igazoltam, hogy a párhuzamos gráftranszformációhoz kidolgozott elméleti keretrendszer a gyakorlatban is megvalósítható kétszint szerver-kliens architektúrát követve. A tézishez kapcsolódó publikációk: [1][3][11][12][13][14][20][21][22][23][25][26][27][28][29][31][39][40]. 4. Az új tudományos eredmények alkalmazása Az új tudományos eredmények a VMTS metamodellez és modelltranszformációs keretrendszerben, illetve a VMTS alkalmazásaiban jelennek meg. A VMTS egy n-szint metamodellez környezet, amely lehet vé a metamodellek és modellek szerkesztését, automatikus sémaellen rzést biztosítva számukra. A VMTS egy egyszer sített UML osztálydiagrammal írja le alap metamodelljét (vizuális szókincsét). A VMTS támogatja a vizuális nyelvek megjelenítésének grakus megadását és a metamodellel történ összekapcsolását. A precíz modellek létrehozásához a felhasználók kényszereket deniálhatnak. A VMTS része a gráf transzformációs alapokon nyugvó modelltranszformációs rendszer és egy, a bejárás alapú modellfeldolgozást támogató eszköz is. A VMTS segítségével megvalósított esettanulmányok lehet vé teszik az alkalmazhatóság bemutatását mind a tudományos világ, mind az ipar számára. Mivel mind az elméleti háttér, mind a rendszer evoluciója folyamatos, ezért az itt felsorolt alkalmazási területek listája nem tekinthet végesnek. Az alkalmazásokkal kapcsolatos publikációk: [3][6][13][15][20][21][22][39][40] 15
16 2. ábra. A VMTS keretrendszer architektúrája Keretrendszer Az eredmények gyakorlati alkalmazhatóságának igazolására kifejlesztettem a VMTS keretrendszer következ komponenseit (Fig. 2): (i) VMTS Presentation Framework, ami a modellez alkalmazás (Adaptive Modeler) alapja, felhasználóbarát módon támogatja a nyelvek létrehozását és kezelését, továbbá rugalmas, plugin-alapú architektúrát biztosít a speciális vizuális nyelvek implementására; (ii) Attribute Panel, ami az attribútumalgebra feldolgozását, az attribútumok megjelenítését és a metamodell által deniált attribútumséma automatikus ellen rzését biztosítja; (iii) OCL Compiler, ami az OCL nyelven megfogalmazott kényszereket lefordítja, optimalizálja, majd kódot és bináris állományt generál bel lük; (iv) AGSI Compact Framework, ami a modellek memóriaalapú tárolását és szerializálását teszi lehet vé; (v) AGSI Parallel Transformation Engine, ami a párhuzamos újraírási algoritmusok számára biztosít keretrendszert. A szoftvercsomag egyéb részei Levendovszky Tihamér, Lengyel László és számos hallgató munkájának eredménye. Alkalmazások A vizuális nyelvek modellezését és transzformációját számos gyakorlati esetben használtuk m szaki problémák megoldására. Az attribútumstruktúra, a modellez keretrendszer és a kényszerek fordításához készített OCL compiler segítségével lehet vé vált több olyan terület egységes alapokon történ modellezése, ami korábban nehézségekbe ütközött. A teljesség igény nélkül néhány ezek közül: (i) Vizuális modellez nyelv a transzformációk leírására (VCFL), ill. az újraírási szabályok megadására [3][12]. (ii) A mobiltelefonok er forrásait leíró nyelvek létrehozása és szerkesztése [13][22]. (iii) az UML 2.0 szabványnak megfelel nyelvcsaládok, pl tevékenység -, osztály -, objektum -, szekvencia- és állapotdiagram támogatása. (iv) Vizuális modellez nyelv a megjelenítés megadására [4][18]. (v) A programozási folyamatok leírására szolgáló nyelvek támogatása (Folyamatábra, Nessie- Schneidermann diagram). (vi) Mobil hálózati protokoll modellezése tisztán grakus elemekkel. A memória alapú AGSI Compact Framework és a párhuzamos modelltranszformáció támogatása révén lehet ség nyílt a korábbiaknál sokkal összetettebb modellek feldolgozására és transzformációk támogatására. Amíg az adatbázis alapú megközelítés néhány tíz modellelemet és újraírási szabályt tartalmazó esetekhez volt tervezve, addig az új módszerekkel néhány ezer, esetenként néhány tízezer modellem is feldolgozhatóvá vált. 16
17 A példák illusztrálják, hogy a VMTS hatékony metamodellez rendszer, ami támogatja vizuális nyelvek deniálását, szerkesztését és transzformációalapú feldolgozását. 5. Related Publications Folyóiratcikkek 1 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Strict Control Flow Speci- cation for Model Transformation, WSEAS Transactions on Computers, February 2006, ISSN G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, Minimizing the Traversing Steps in the Code Generated by OCL 2.0 Compilers, WSEAS Transactions on Information Science and Applications, Issue 4, Volume 3, February 2006, ISSN , pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Model Transformation with a Visual Control Flow Language, International Journal of Computer Science (IJCS), Number 1, Volume 1, 2006, ISSN , pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Model Transformation for Automated Concrete Syntax Denitions of Metamodeled Visual Languages, Electronic Communications of the EASST, Volume 4, 2006, Graph and Model Transformation T. Levendovszky, G. Mezei, H. Charaf, Formalizing the Evaluation of OCL Constraints, Acta Polytechnica Hungarica, Volume 4, Issue 1, 2007, ISSN , pp G. Mezei, Hatékony szakterület-modellezési technikák a távközlésben, Magyar Távközlés, Budapest, 2006, Accepted Nemzetközi konferencia-kiadványban megjelent idegen nyelv el adás 7 T. Levendovszky, L. Lengyel, G. Mezei, H. Charaf, A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS, International Workshop on Graph-Based Tools (GraBaTs) Electronic Notes in Theoretical Computer Science, G. Mezei, T. Levendovszky, L. Lengyel, H. Charaf, A Flexible Attribute Instantiation Technique for Visual Languages, IASTED on SE, February 15-17, 2005, Innsbruck, Austria, pp G. Mezei, T. Levendovszky, L. Lengyel, H. Charaf, Multilevel Metamodeling - A Case Study, MicroCAD, March 10-11, 2005, Miskolc, pp
18 10 G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, A Metamodel-Based Technique for Attribute Transformation in Visual Model Processors, 5th Internal Conference of PhD Students, Engineering Sciences II, Miskolc, Hungary, August 2005, pp L. Lengyel, T. Levendovszky, G. Mezei, B. Forstner, H. Charaf, Metamodel-Based Model Transformation with Aspect-Oriented Constraints, International Workshop on Graph and Model Transformation (GraMoT), Electronic Notes in Theoretical Computer Science, Volume 152, Tallinn, Estonia, September 28, 2005, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Control Flow Support in Metamodel-Based Model Transformation Frameworks, EUROCON 2005 International Conference on Computer as a tool, Proceedings of the IEEE, Belgrade, Serbia & Montenegro, November 21-24, 2005, pp L. Lengyel, T. Levendovszky, G. Mezei, B. Forstner, H. Charaf, Towards a Model- Based Unication of Mobile Platforms, 4th ACS/IEEE International Conference on Computer Systems and Applications (AICCSA-06), Dubai, Sharjah, UEA, March 8-11, G. Mezei, T. Levendovszky, H. Charaf, Traversing Processor for Metamodel Environments, 5th Internal Conference of PhD Students, August, 2005, Miskolc, Hungary, pp G. Mezei, T. Levendovszky, H. Charaf, A Presentation Framework for Metamodeling Environments, 4th Workshop in Software Model Engineering, 2005 October, Montego Bay, Jamaica. 16 G. Mezei, T. Levendovszky, H. Charaf, Presentation Framework - an Environment for Editing Metamodels, 6th International Symposium of Hungarian Researchers, November, 2005, Budapest, Hungary, pp G. Mezei, T. Levendovszky, H. Charaf, A Flexible Graphics Framework for Modeling Environments, International Carpathian Control Conference, Miskolc, Hungary, 2005, pp G. Mezei, T. Levendovszky, H. Charaf, Visual Presentation Solution for Domain Specic Languages IASTED on SE, February, 2006, Innsbruck, Austria, pp G. Mezei, T. Levendovszky, H. Charaf, Implementing an OCL 2.0 Compiler for Metamodeling Environments, 4th Slovakian - Hungarian Joint Symposium on Applied Machine Intelligence, SAMI 2006, January, 2006, Herlany, Slovakia, pp L. Lengyel, T. Levendovszky, T. Vajk, G. Mezei, H. Charaf, Practical Uses of Validated Model Transformation, IEEE EUROCON 2007, Sept, 2007, Warsaw, Poland, accepted 21 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Visual Control Flow Language for Model Transformation Systems, IASTED International Conference on SOFTWARE ENGINEERING, SE 2006, Innsbruck, Austria, February 14-16, 2006, pp
19 22 B. Forstner, L. Lengyel, T. Levendovszky, G. Mezei, I. Kelényi, H. Charaf, Model- Based System Development for Embedded Mobile Platforms, 13th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), Potsdam, Germany, March 27-30, L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Visual Control Flow Language, 5th WSEAS Int.Conf. on Software Engineering, Parallel and Distributed Systems, SEPADS '06, Madrid, Spain, February 15-17, 2006, pp G. Mezei, L. Lengyel, T. Levendovszky, H. Charaf, Optimization Algorithms For OCL Compilers, 5th WSEAS Int.Conf. on Software Engineering, Parallel and Distributed Systems, SEPADS '06, Madrid, Spain, February 15-17, 2006, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Execution Properties of a Visual Control Flow Language, 4th Slovakian - Hungarian Joint Symposium on Applied Machine Intelligence', SAMI 2006, January 20-21, 2006, Herlany, Slovakia, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Control Flow Support in Model Transformation Frameworks: An Overview, MicroCAD, March 16-17, 2006, Miskolc, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Weaving Constraint Aspects into Metamodel-Based Model Transformation Steps, MicroCAD, March 16-17, 2006, Miskolc, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Model-Based Development with Strictly Controlled Model Transformation, The 2nd International Workshop on Model-Driven Enterprise Information Systems, MDEIS 2006, May 23-24, 2006, Paphos, Cyprus, pp T. Levendovszky, G. Mezei, H. Charaf, Customized Error Handling Suport for OCL Compilers, MicroCAD, March, 2006, Miskolc, pp G. Mezei, T. Levendovszky, H. Charaf, A Domain-Specic Language for Visualizing Modeling Languages, ISIM, April, 2006, Prerov, Czech Republic. 31 L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, Constraint Validation-Driven Visual Model Transformation, Automation and Applied Computer Science Workshop (AACS), June, 2006, Budapest, Hungary, pp L. Lengyel, T. Levendovszky, G. Mezei, H. Charaf, A Model Transformation Method To Support Automated Concrete Syntax Denitions, Automation and Applied Computer Science Workshop (AACS), June, 2006, Budapest, Hungary, pp G. Mezei, T. Levendovszky, H. Charaf, An optimizing OCL Compiler for Metamodeling and Model Transformation Environments, IFIP Working Conference on Software Engineering Techniques, October, 2006, Warsaw, Poland, pp G. Mezei, T. Levendovszky, H. Charaf, Extending an OCL Compiler for Metamodeling and Model Transformation Systems: Unifying the Twofold Functionality, 10th International Conference on Intelligent Engineering Systems 2006, June, 2006, London, United Kingdom. 19
20 35 G. Mezei, T. Levendovszky, H. Charaf, Automatized Concrete Syntax Denitions For Domain Specic Languages, The 7th International Conference on Technical, June, 2006, Timisoara, Romania, pp G. Mezei, T. Levendovszky, H. Charaf, A Distribution Technique For Graph Rewriting and Model Transformation Sytems, IASTED on PDCN, February 15-17, 2005, Innsbruck, Austria 37 G. Mezei, T. Levendovszky, H. Charaf, A New Formalism Technique For OCL, 5th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics, Jan, 2007, Poprad, Slovakia, pp G. Mezei, T. Levendovszky, H. Charaf, Integrating Model Transformation Systems and Asynchronous Cluster Tools, 7th International Symposium of Hungarian Researchers on Computational Intelligence, Nov, 2006, Budapest, Hungary, pp T. Mészáros, G. Mezei, T. Levendovszky, Using Patterns in Domain-Specic Languages, 7th International Symposium of Hungarian Researchers on Computational Intelligence, Nov, 2006, Budapest, Hungary, pp Technical Report 40 L. Lengyel, T. Levendovszky, G. Mezei, Metamodell-alapú modelltranszformáció, Budapesti M szaki és Gazdaságtudományi Egyetem, Automatizálási és Alkalmazott Informatikai Tanszék, Budapest, Hungary, G. Mezei, T. Levendovszky, H. Charaf, Restrictions for OCL constraint optimization algorithms, Technische Universitat Dresden, Genova, Italy, G. Mezei, T. Levendovszky, H. Charaf, Optimizing Renement for Metamodeling Environments with OCL Constrains, Labroatoire d'informatique de Robotique et de Microelectronique de Montpellier, MoDELS doctoral symposium, Genova, Italy, Idegen hivatkozások [1] publikációra hivatkozik: A. Balogh, D. Varró, Advanced Model Transformation Language Constructs in the VIA- TRA2 Framework, ACM Symposium on Applied Computing, 2006, pp [7] publikációra hivatkozik: E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, E. Weiss, Graphical Denition of In-Place Transformations in the Eclipse Modeling Framework, Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1-6, 2006, LNCS Volume 4199, pp
P-gráf alapú workflow modellezés fuzzy kiterjesztéssel
P-gráf alapú workflow modellezés fuzzy kiterjesztéssel Doktori (PhD) értekezés Tick József témavezető: Dr. Kovács Zoltán Pannon Egyetem Műszaki Informatikai Kar Informatikai Tudományok Doktori Iskola 2007.
Metamodellezés. Simon Balázs BME IIT, 2011.
Metamodellezés Simon Balázs BME IIT, 2011. Bevezetés Metamodellezés EMF & ecore Tartalom (C) Simon Balázs, BME IIT, 2011. 2 Hétfő: Simon Balázs Bevezetés hetente felváltva: előadás és gyakorlat metamodellezés
Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK
Modellinformációk szabványos cseréje Papp Ágnes, agi@delfin.unideb.hu Debreceni Egyetem EFK Tartalom MOF, UML, XMI Az UML és az XML séma MDA - Model Driven Architecture Networkshop 2004 2 Az OMG metamodell
Kétdimenziós mesterséges festési eljárások. Hatások és alkalmazások
Pannon Egyetem Informatikai Tudományok Doktori Iskola Tézisfüzet Kétdimenziós mesterséges festési eljárások. Hatások és alkalmazások Kovács Levente Képfeldolgozás és Neuroszámítógépek Tanszék Témavezet
A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS 2004-2006.
ÖNELLENŐRZÉS ÉS FUTÁSIDEJŰ VERIFIKÁCIÓ SZÁMÍTÓGÉPES PROGRAMOKBAN OTKA T-046527 A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS 2004-2006. Témavezető: dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem
Módszer köztes tárolókat nem tartalmazó szakaszos működésű rendszerek ütemezésére
Módszer köztes tárolókat nem tartalmazó szakaszos működésű rendszerek ütemezésére Doktori (PhD) értekezés tézisei Holczinger Tibor Témavezető: Dr. Friedler Ferenc Veszprémi Egyetem Műszaki Informatikai
UML (Unified Modelling Language)
UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)
Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával
Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával * Pannon Egyetem, M szaki Informatikai Kar, Számítástudomány
Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom
Szoftver újrafelhasználás (Software reuse) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 18. Roger S. Pressman: Software Engineering, 5th e. chapter 27. 2 Szoftver újrafelhasználás Szoftver
Publikációs lista. Gódor Győző. 2008. július 14. Cikk szerkesztett könyvben... 2. Külföldön megjelent idegen nyelvű folyóiratcikk...
Publikációs lista Gódor Győző 2008. július 14. Cikk szerkesztett könyvben... 2 Külföldön megjelent idegen nyelvű folyóiratcikk... 2 Nemzetközi konferencia-kiadványban megjelent idegen nyelvű előadások...
Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével
Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével Pekárdy Milán, Baumgartner János, Süle Zoltán Pannon Egyetem, Veszprém XXXII. Magyar Operációkutatási
List of Publications (Pánovics János)
List of Publications (Pánovics János) Book 1. Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, Budapest, 2005. Peer-Reviewed Papers 1. Kádek Tamás, Pánovics János: Some Improvements of the
Szoftver újrafelhasználás
Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
Mi is volt ez? és hogy is volt ez?
Mi is volt ez? és hogy is volt ez? El zmények: 60-as évek kutatási iránya: matematikai logika a programfejlesztésben 70-es évek, francia és angol kutatók: logikai programozás, Prolog nyelv 1975: Szeredi
Programfejlesztési Modellek
Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
Automated Offline Verification of Graph Rewriting-Based Model Transformations
Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási és Alkalmazott Informatikai Tanszék Automated Offline Verification of Graph Rewriting-Based Model Transformations
Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola
Doktori (PhD) értekezés tézisei Irányítási struktúrák összehasonlító vizsgálata Tóth László Richárd Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola Témavezetők: Dr. Szeifert Ferenc Dr.
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben Ráth István rath@mit.bme.hu A grafikus nyelvek... mindenhol ott vannak: Grafikus felületek (Visual Studio) Relációs sémák (dbdesign)
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 5-ös Kurzus (UML) Visszatekintés: történelmi szempontok Az UML létrejötte UML-1 (Unified Modeling Language) és UML-2 Magyarul
Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben
Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben Tantárgy Tárgykód I. félév ősz II. félév tavasz Algoritmusok
EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA
infokommunikációs technológiák EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA Témavezető: Tarczali Tünde Témavezetői beszámoló 2015. január 7. TÉMAKÖR Felhő technológián
Szakterület-specifikus modellezés
SZOFTVERFEJLESZTÉS Szakterület-specifikus modellezés ASZTALOS MÁRK, MADARI ISTVÁN, MÉSZÁROS TAMÁS, VAJK TAMÁS, MEZEI GERGELY BME Automatizálási és Alkalmazott Informatikai Tanszék {asztalos, istvan.madari,
Közösség, projektek, IDE
Eclipse Közösség, projektek, IDE Eclipse egy nyílt forráskódú (open source) projekteken dolgozó közösség, céljuk egy kiterjeszthető fejlesztői platform és keretrendszer fejlesztése, amely megoldásokkal
Ütemezési modellek. Az ütemezési problémák osztályozása
Ütemezési modellek Az ütemezési problémák osztályozása Az ütemezési problémákban adott m darab gép és n számú munka, amelyeket az 1,..., n számokkal fogunk sorszámozni. A feladat az, hogy ütemezzük az
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata,
Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
MULTIMÉDIA ALAPÚ OKTATÁSI TECHNOLÓGIÁK GYAKORLATI ALKALMAZÁSÁNAK VIZSGÁLATA A KATONAI SZAKNYELVOKTATÁSBAN
Zrínyi Miklós Nemzetvédelmi Egyetem Kossuth Lajos Hadtudományi Kar Hadtudományi Doktori Iskola Tick Andrea MULTIMÉDIA ALAPÚ OKTATÁSI TECHNOLÓGIÁK GYAKORLATI ALKALMAZÁSÁNAK VIZSGÁLATA A KATONAI SZAKNYELVOKTATÁSBAN
Modell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Korszerű fejlesztő környezetek Ráth István Tartalom A szoftverfejlesztés evolúciója Szakterület-specifikus nyelvek és előnyeik Verifikáció és validáció a rendszertervezésben Modern fejlesztőkörnyezetek
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Somogyi Ferenc Attila 2016. December 07. Szoftver verifikáció és validáció kiselőadás Forrás Mathijs Schuts and Jozef
Automatikus tesztgenerálás modell ellenőrző segítségével
Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben
Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.
Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Nézzük meg a következ két kijelentést: Minden almához tartozik egy fa, amir l leesett. Bármely
MEDDŐHÁNYÓK ÉS ZAGYTÁROZÓK KIHORDÁSI
Mikoviny Sámuel Földtudományi Doktori Iskola A doktori iskola vezetője: Dr. h.c. mult. Dr. Kovács Ferenc egyetemi tanár, a MTA rendes tagja MEDDŐHÁNYÓK ÉS ZAGYTÁROZÓK KIHORDÁSI TULAJDONSÁGAINAK VIZSGÁLATA,
Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére
Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére Az Informatika szigorlat alapvetően az IR-fejlesztés, valamint az OO-fejlesztés c. tantárgyi blokkok, valamint az
Modellező eszközök, kódgenerálás
Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A J2EE fejlesztési si platform (application model) 1.4 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. A J2EE application model A Java szabványok -
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
Utolsó módosítás:
Utolsó módosítás: 2012. 02. 20. 1 Bonyolult rendszerekkel csak úgy tudunk dolgozni, hogy először egy egyszerűbb modellt építünk, megvizsgáljuk a rendszert különböző szempontokból. A modellezés nagyon általános
Modelltranszformációk statikus analízise
Modelltranszformációk statikus analízise Ujhelyi Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem, Méréstechnika és Információs Rendszerek Tanszék Manapság a szoftverfejlesztés területén egyre hangsúlyosabb
Adatszerkezetek és algoritmusok
2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók
Miért is transzformáljunk modelleket? Varró Dániel
Miért is transzformáljunk modelleket? Varró Dániel Mit látunk a képen? Tipikus kérdések (Hardvertervezés) Jól működik-e? 1+1 = 2? Hogyan készítsünk 8 bites összeadót 4 bites összeadóval? Hogyan készítsünk
Optimális hálózatok szintézise változtatható arányú és összetételű anyagáramokat feldolgozó műveleti egységekkel
Optimális hálózatok szintézise változtatható arányú és összetételű anyagáramokat feldolgozó műveleti egységekkel Doktori (PhD) értekezés tézisei Szlama Adrián György Témavezető: Heckl István, PhD Pannon
Ráth István. A fejlesztés evolúciója
Korszerű fejlesztő környezetek Ráth István Tartalom A szoftverfejlesztés evolúciója Szakterület-specifikus nyelvek és előnyeik Verifikáció és validáció a rendszertervezésben Modern fejlesztőkörnyezetek
Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.
Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
Publikációs jegyzék (Pánovics János)
Publikációs jegyzék (Pánovics János) Könyv 1. Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, Budapest, 2005. Referált cikkek 1. Kádek Tamás, Pánovics János: Some Improvements of the Extended
Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.
Predikátumkalkulus Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. 1. Bevezet Vizsgáljuk meg a következ két kijelentést. Minden almához tartozik egy fa, amir l leesett.
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
Webszolgáltatások kommunikációs overhead-jének becslése
Webszolgáltatások kommunikációs overhead-jének becslése Simon Balázs, sbalazs@iit.bme.hu Dr. Goldschmidt Balázs, balage@iit.bme.hu Dr. Kondorosi Károly, kondor@iit.bme.hu Budapesti Műszaki Egyetem, Irányítástechnika
MIKROKONTROLLEREK ALKALMAZÁSA AUTOMATA REPÜLŐ SZERKEZETEKBEN 4 BEVEZETÉS
Schuster György 1 Terpecz Gábor 2 Radnai Viktor 3 MIKROKONTROLLEREK ALKALMAZÁSA AUTOMATA REPÜLŐ SZERKEZETEKBEN 4 A járművekben a 80-as évek elejétől alkalmaznak mikrokontrollereket, ez az utóbbi másfél
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvetı jellemzıi Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzık, JDK JAVA1 / 1 Egy kis történelem
Drótposta: kovacsea@math.bme.hu ; edith_kovacs@yahoo.com ; Honlapom: http://www.math.bme.hu/diffe/staff/kovacse.shtml
Szakmai önéletrajz 1.1 Személyes adatok: Nevem: Kovács Edith Alice Születési idő, hely: 1971.05.18, Arad Drótposta: kovacsea@math.bme.hu ; edith_kovacs@yahoo.com ; Honlapom: http://www.math.bme.hu/diffe/staff/kovacse.shtml
Modell alapú tesztelés: célok és lehetőségek
Szoftvertesztelés 2016 Konferencia Modell alapú tesztelés: célok és lehetőségek Dr. Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika
ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ
ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ 1 TARTALOM 1.1 A MODELLEZÉS ÉS SZIMULÁCIÓ META-SZINTŰ HATÉKONYSÁGÁNAK JAVÍTÁSA A. Az SMM definiálása, a Jackson Keys módszer kiterjesztése
A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása
A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Ez vajon egy állapotgép-e? Munkafolyamat (Workflow):
GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok
GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben
Ismeretanyag Záróvizsgára való felkészüléshez
Ismeretanyag Záróvizsgára való felkészüléshez 1. Információmenedzsment az információmenedzsment értelmezése, feladatok különböző megközelítésekben informatikai szerepek, informatikai szervezet, kapcsolat
B/16. számú melléklet Önéletrajz sablon
Europass Önéletrajz Személyi adatok Vezetéknév / Utónév(ek) Tímea Fülep Cím(ek) 3, Törökugrató u. 3., 1118, Budapest, Magyarország Telefonszám(ok) +36 96 50 3308 Mobil: +36 70 210 4319 Fax(ok) +36 1 436
Publikációs lista. Dr. Molnárka-Miletics Edit Széchenyi István Egyetem Matematika és Számítástudományi Tanszék
Publikációs lista Dr. Molnárka-Miletics Edit Széchenyi István Egyetem Matematika és Számítástudományi Tanszék Folyóirat cikkek: E. Miletics: Energy conservative algorithm for numerical solution of ODEs
LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II.
V. Évfolyam 1. szám - 2010. március Deák Ferenc deak@nct.hu LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II. Absztrakt A létradiagram egyszerű, programozási képzettséggel nem rendelkező szakemberek
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Varró Dániel MTA doktori értekezésének bírálata. Precíz modell transzformációk tervezése és analízise a modellvezérelt fejlesztésben
Varró Dániel MTA doktori értekezésének bírálata Precíz modell transzformációk tervezése és analízise a modellvezérelt fejlesztésben Design and Analysis Techniques for Precise Model Transformations in Model-Driven
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
2. Visszalépéses stratégia
2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató
Objektumorientált paradigma és a programfejlesztés
Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált
Az UML2 és a modell-vezérelt alkalmazásfejlesztés
Az UML2 és a modell-vezérelt alkalmazásfejlesztés Papp Ágnes, agi@delfin.unideb.hu Debreceni Egyetem EFK A vállalati alkalmazások fejlesztése manapság olyan megközelítést igényel, amely flexibilis módon
Petri-hálók és produkciós hálók közötti kapcsolat
A kutatás célkitűzése a Petri-hálók és a produkciós hálók közötti kapcsolat feltárásának segítségével olyan hatékony analízis és optimalizálási módszerek kidolgozása volt, melyek eszközként szolgálnak
Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár
Software Engineering Dr. Barabás László Ismétlés/Kitekintő Ismétlés Software Engineering = softwaretechnológia Projekt, fogalma és jellemzői, személyek és szerepkörök Modell, módszertan Kitekintés Elemzés/
Algoritmus vizualizáció a tanítási gyakorlatban. Törley Gábor
Algoritmus vizualizáció a tanítási gyakorlatban Törley Gábor pezsgo@inf.elte.hu Mi is ez? Algoritmus működésének illusztrálása, abból a célból, hogy jobban megértsék azt a tanulók Tapasztalat: nehéz tanulni
A szemantikus világháló oktatása
A szemantikus világháló oktatása Szeredi Péter Lukácsy Gergely Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi és Információelméleti Tanszék ➀ A szemantikus világháló... c. tárgy ➁ A tananyag
PUBLIKÁCIÓS ÉS ALKOTÁSI TEVÉKENYSÉG ÉRTÉKELÉSE, IDÉZETTSÉG Oktatói, kutatói munkakörök betöltéséhez, magasabb fokozatba történı kinevezéshez.
FARKAS GABRIELLA PUBLIKÁCIÓS ÉS ALKOTÁSI TEVÉKENYSÉG ÉRTÉKELÉSE, IDÉZETTSÉG Oktatói, kutatói munkakörök betöltéséhez, magasabb fokozatba történı kinevezéshez. könyv, könyvrészlet oktatási anyag folyóiratcikkek
A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom
A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2 A szoftver-folyamat Szoftver
Objektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
AUTOMATIKUS MODELLTRANSZFORMÁCIÓK
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM MŰSZAKI TUDOMÁNYÁG INFORMATIKAI TUDOMÁNYSZAK AUTOMATIKUS MODELLTRANSZFORMÁCIÓK INFORMATIKAI RENDSZEREK VIZSGÁLATÁHOZ PHD ÉRTEKEZÉS TÉZISEI VARRÓ DÁNIEL OKL.
Smart Strategic Planner
Smart Strategic Planner STRATÉGIAI FTTX HÁLÓZAT TERVEZŐ ÉS KÖLTSÉG ELEMZŐ ESZKÖZ távközlési hálózatok informatikai hálózatok kutatás és fejlesztés gazdaságos üzemeltetés Smart Strategic Planner Térinformatikai
2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér
Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási
Vasúti infrastruktúragazdálkodás kontrolling bázisú döntéselőkészítő rendszerek alkalmazásával
Budapesti Műszaki és Gazdaságtudományi Egyetem Közlekedésmérnöki és Járműmérnöki Kar Közlekedésüzemi és Közlekedésgazdasági Tanszék Vasúti infrastruktúragazdálkodás kontrolling bázisú döntéselőkészítő
Nagy bonyolultságú rendszerek fejlesztőeszközei
Nagy bonyolultságú rendszerek fejlesztőeszközei Balogh András balogh@optxware.com A cég A BME spin-off-ja A Hibatűrő Rendszerek Kutatócsoport tagjai alapították Tisztán magánkézben Szakmai háttér Hibatűrő
Függvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
Programozás III. - NGB_IN001_3
Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi
Deníciók és tételek a beugró vizsgára
Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,
és alkalmazások, MSc tézis, JATE TTK, Szeged, Témavezető: Dr. Hajnal Péter
Publikációs jegyzék Balogh János Jegyzetek, tézis: [1] Balogh J., Maximális folyamok és minimális költségű cirkulációk; algoritmusok és alkalmazások, MSc tézis, JATE TTK, Szeged, 1994. Témavezető: Dr.
ZH feladatok megoldásai
ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a
0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)
Legyen adott a P átmenetvalószín ség mátrix és a ϕ 0 kezdeti eloszlás Kérdés, hogy miként lehetne meghatározni az egyes állapotokban való tartózkodás valószín ségét az n-edik lépés múlva Deniáljuk az n-lépéses
Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.
Bisonc++ tutorial Dévai Gergely A Bisonc++ egy szintaktikuselemz -generátor: egy környezetfüggetlen nyelvtanból egy C++ programot generál, ami egy tokensorozat szintaktikai helyességét képes ellen rizni.
Utolsó módosítás:
Utolsó módosítás: 2016. 02. 16. 1 Bonyolult rendszerekkel csak úgy tudunk dolgozni, hogy először egyszerűbb modelleket építünk, és ezeknek a segítségével megvizsgáljuk a rendszert különböző szempontokból.
1. A k-szerver probléma
1. A k-szerver probléma Az egyik legismertebb on-line probléma a k-szerver probléma. A probléma általános deníciójának megadásához szükség van a metrikus tér fogalmára. Egy (M, d) párost, ahol M a metrikus
S01-8 Komponens alapú szoftverfejlesztés 2
S01-8 Komponens alapú szoftverfejlesztés 2 Tartalom 1. Komponens megvalósítása: kölcsönhatás modell, viselkedési vagy algoritmikus modell és strukturális modell. 2. Komponens megtestesítés: finomítás és
Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére
Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére Az Informatika szigorlat alapvetően az IR-fejlesztés, valamint az OO-fejlesztés c. tantárgyi blokkok, valamint az
R3-COP. Resilient Reasoning Robotic Co-operating Systems. Autonóm rendszerek tesztelése egy EU-s projektben
ARTEMIS Joint Undertaking The public private partnership in embedded systems R3-COP Resilient Reasoning Robotic Co-operating Systems Autonóm rendszerek tesztelése egy EU-s projektben Micskei Zoltán Budapesti
Ingrid Signo Felhasználói kézikönyv. Pénztári használatra
Ingrid Signo Felhasználói kézikönyv Pénztári használatra 3.0 verzió Microsoft Windows 98SE, NT 4.0, XP, 2000 operációs rendszerekre 2006. január 20. Tájékoztató a Ingrid Signo felhasználási jogáról A felhasználás
Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008
Képfeldolgozás 1. el adás. A képfeldolgozás m veletei Mechatronikai mérnök szak BME, 2008 1 / 61 Alapfogalmak transzformációk Deníció Deníció Geometriai korrekciókra akkor van szükség, ha a képr l valódi
Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs
Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus
Magas szintű adatmodellek Egyed/kapcsolat modell I.
Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés
Városi légszennyezettség vizsgálata térinformatikai és matematikai statisztikai módszerek alkalmazásával
Pannon Egyetem Vegyészmérnöki Tudományok és Anyagtudományok Doktori Iskola Városi légszennyezettség vizsgálata térinformatikai és matematikai statisztikai módszerek alkalmazásával DOKTORI (Ph.D.) ÉRTEKEZÉS