Modelltranszformációs szabályok automatikus generálása példák alapján Balogh Zoltán IV. évf. informatikus Konzulens: Dr. Varró Dániel Méréstechnika és.

Slides:



Advertisements
Hasonló előadás
ADATBÁZISOK.
Advertisements

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 5.5. Model Based Architecture módszerek BelAmI_H Spring.
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
A normalizálás az adatbázis-tervezés egyik módszere
K-Chat Dr. Szepesvári Csaba Kutatási Alelnök mindmaker.
Objektumorientált tervezés és programozás II. 1. előadás
Rendszerfejlesztés.
Az integrált áramkörök (IC-k) tervezése
A rendszerszintű diagnosztika alapjai
A webes tesztelés jövője
Microsoft fejlesztőeszközök a szakképzésben Farkas Bálint Visual Studio 2008.
Készítette: Zaletnyik Piroska
Önálló Laboratórium II. Készítette: Varga Róbert
Mágneses lebegtetés: érzékelés és irányítás
Feladatok együttműködésének ellenőrzése
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Programozási ismeretek oktatása: kód vagy algoritmus
OBJEKTUMORIENTÁLT PROGRAM
16. Tétel. Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az adatokhoz való hozzáférést,
Szakterület-specifikus modellezés és modellfeldolgozás
Modellvezérelt webalkalmazás-tervezés
Adatbázis-kezelés ACCESS program:
Entity framework Krizsán Zoltán
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
ISZAM III.évf. részére Bunkóczi László
Google earth és a térinformatika kapcsolata
Az UML 4 rétegű metamodell szerkezete
Az UML kiterjesztési lehetőségei
ISMERETALAPÚ RENDSZEREK SZAKÉRTŐ RENDSZEREK
MYCIN szakértői rendszer. MYCIN modell szakértői rendszer vér fertőzéseinek, gyógykezeléseknek meghatározását támogató orvosi diagnosztikai rendszer célvezérelt,
Vezetői Információs Rendszer Kialakítása a Szegedi Tudományegyetemen Eredmények - Tapasztalatok Vilmányi Márton.
Adatfolyam modellezés az SSADM-ben
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék 1 Szolgáltatásbiztos számítástechnika = hibatűrés, információbiztonság Pataricza.
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
Textúra elemzés szupport vektor géppel
Pókerágens fejlesztése játékelméleti alapokon
Intelligens felderítő robotok Készítette: Györke Péter Intelligens rendszerek MSC szakirány Konzulens: Kovács Dániel László Méréstechnika és Információs.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
Topológia felderítés hibrid hálózatokban
Adatbázis-kezelés JAG,
UML Unified Modelling Language Szabványos jelölésrendszer elemeivel írja le diagramok formájában a rendszer működését a különböző modell-nézetek szempontjából.
11. tétel Adatbázis táblái közti kapcsolatok optimalizálása
Petri-hálón alapuló modellek analízise és alkalmazásai a reakciókinetikában Papp Dávid június 22. Konzulensek: Varró-Gyapay Szilvia, Dr. Tóth János.
Adatbázis kezelés.
BPM alapú robosztus e-Business alkalmazás fejlesztés VE Számítástudomány Alkalmazása Tsz. BME Méréstechnika és Információs Rendszerek Tsz. Balatontourist.
Logikai programozás 2..
IT rendszerek modellezése
Supervizor By Potter’s team SWENG. History SWENG - Szarka Gábor - G2BI DátumVerzióLeírásSzerző Első verzióSzarka Gábor.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Okostelefon köztesréteg Dr. Bilicki Vilmos Szegedi Tudományegyetem.
Adatbázis-kezelés. Alapfogalmak Adat: –észlelhető, felfogható ismeret –jelsorozat –valakinek, vagy valaminek a jellemz ő je –tény, közlés Információ:
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
Tervminták megvalósítása B formális nyelven Papp Olga Vadász Péter Témavezető: Fóthi Ákos.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék R3-COP és R5-COP projekt: Környezetfüggő viselkedés tesztelése.
Adatbázisszintű adatmodellek
Programozás III JPA.
Előadó:Forgács Zoltán Számvitel-szervezési és Ellenőrzési Osztály - osztályvezető Raiffeisen Bank Zrt Számviteli Tudástár kialakítása a Raiffeisen.
Szemantikai adatmodellek
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Adatbázis alapismeretek
Mesterséges intelligencia
Compiler illetve interpreter nyelvek
Leíró nyelvtan - adatbázisból
Előadás másolata:

Modelltranszformációs szabályok automatikus generálása példák alapján Balogh Zoltán IV. évf. informatikus Konzulens: Dr. Varró Dániel Méréstechnika és Információs Rendszerek Tanszék

Modelltranszformáció a modellvezérelt rendszerfejlesztésben Rendszer követelmények Platform- független modell Platform Specifikus modell Futtatható kód kézi származtatás automatikusan modell- transzformációkkal automatikusan modell- transzfomrációkkal Modelltranszformáció egyéb használata:  modell vizsgálatok  analízis  szimuláció

Modelltranszformációs rendszer Modelltranszformációk hagyományos megadása Forrás- modell Forrás- metamodell Cél- modell Cél- metamodell Transzformációs szabályok Transzformációs motor Meg kell adni a forrásnyelvet Meg kell adni a célnyelvet Meg kell adni a transzformációs szabályokat Metamodellezés Modellek egységes kezelése, formális leírása

Modelltranszformációs rendszer Metamodellezés Forrás- modell Forrás- metamodell Cél- modell Cél- metamodell Transzformációs szabályok Transzformációs vezérlő class attribute attrs table column cols pkey ember:class név:attribute attrs t_ember:table c_ember:column cols pkey c_név:column Egyszerűsített osztálydiagram Egyszerűsített relációs adatmodell Metamodell: Modellek struktúrájának formális leírása Gráftranszformációs szabályok modelltranszformációs szabályok formális leírása

Példa GT szabályra Gráftranszformációs szabályok LHS C:classA:table B:column cls2tab cls2col RHS C:classA:table B:column cls2tab cls2col cols ember:class név:attribute t_ember:table c_ember:column c_név:column attrs cols cls2tab cls2col attr2col Szabály felépítése: LHS: a szabály előfeltételei RHS: a szabály utófeltételei Szabály (egyszerűsített) alkalmazása: 1.A modellben LHS illesztése 2.Az illesztett elemekhez létre kell hozni RHS azon részét, amely nincs meg LHS-ben

Hagyományos megadás hátránya A tervezőnek alaposan kell ismernie a transzformációs technológiát, és a transzformációs szabályokat leíró nyelvet a transzformációs szabályokat, illetve a modelleket leíró nyelvek nagy mértékben különböznek. Forrás- modell Forrás- metamodell Cél- modell Cél- metamodell Transzformációs szabályok Transzformációs vezérlő

Új megközelítés: MTBE Elegendő összekötött példa modell-párokat megadni A transzformációs szabályok a példamodellekből már automatikus módon generálódnak MTBE = Modell transzformáció példák alapján Forrás- modell Forrás- metamodell Cél- modell Cél- metamodell Transzformációs szabályok Transzformációs vezérlő Automatikus generálás Összekötés Példa forrásmodell Példa célmodell Előny: Nem kell a transzformációs szabályokat közvetlenül megadni Elegendő (a jellegzetesen ismert) forrás- és célmodelleket leíró nyelvek ismerete.

MTBE bemenetének demonstrálása MTBE = Modell transzformáció példák alapján Forrás- modell Forrás- metamodell Cél- modell Cél- metamodell Transzformációs szabályok Transzformációs vezérlő Automatikus generálás Összekötés Példa forrásmodell Példa célmodell ember:class c_név:column név:attribute attrs t_ember:table c_ember:column cols pkey cls2tab cls2col attr2col

Modelltranszformáció példák alapján (MTBE) MTBE lépései [1] 1.Összekötött példa-párok kézi létrehozása 2.A szabályok automatikus származtatása 3.Szabályok kézi finomítása 4.Tesztelésképpen a kapott szabályok futtatása Alkalmazás Tervezés Finomítás Generálás Összekö- tött Példa Modellek Forrás- és Cél Modellek Modell- transzfor- mációs szabályok [1] D. Varró. Modell transformation by example. Proc. IEEE/ACM MODELS 2006

[1] D. Varró. Modell transformation by example. Proc. MODELS 2006 Az MTBE automatizálásának problémái MTBE lépései [1] 1.Összekötött példa-párok kézi létrehozása 2.A szabályok automatikus származtatása 3.Szabályok kézi finomítása 4.Tesztelésképpen a kapott szabályok futtatása Problémák  Vázlatos  Heurisztikus  Részlegesen automatizálható Alkalmazás Tervezés Finomítás Generálás Összekö- tött Példa Modellek Forrás- és Cél Modellek Modell- transzfor- mációs szabályok

Célkitűzés Szisztematikus és automatizált módszer az MTBE generálás fázisára Induktív Logikai Programozás (ILP) paradigmájára építve egy modern modelltranszformációs eszközbe (VIATRA2) integrálva Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Forrás- és Cél Modellek Modell- transzfor- mációs szabályok Induktív Logikai Programozás Generálás

Induktív Logikai Programozás (ILP) ILP = Induktív gépi tanulás Elsőrendű logikai programozás Gazdanyelv: Prolog (Aleph rendszer) Bemenet ILP Háttértudás ILP Példák Kimenet: Prolog következtetési szabályok tamás zoltánéva ádamjózsefandrea gábor Háttértudás nagyapa(tamás,ádám) nagyapa(tamás,józsef) Pozitív ILP példák nagyapa(tamás,zoltán) nagyapa(éva,gábor) nagyapa(tamás,gábor) Negatív ILP példák nagyapa(A,B)  szülő(A,C), szülő(C,B), férfi(A) Kikövetkeztetett hipotézis Induktív következtetés nő(éva) férfi(tamás) szülő(tamás, zoltán)

MTBE megvalósítása ILP-vel Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Induktív Logikai Programozás Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok Következtetési szabályok induktív származtatása Modelltranszformációs szabályok automatikus generálása ILP háttértudás és ILP példák automatikus generálása Induktív Logikai Programozás

Demonstrációs példa Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ember:class név:attribute t_ember:table c_ember:column c_név:column attrs colscls2tab cls2col attr2col pkey

Modellekből Prolog predikátum Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ember:class név:attribute t_ember:table c_ember:column c_név:column attrs colscls2tab cls2col attr2col class(ember). attrs(ember,név). pkey cls2col(ember,c_ember).

ILP Háttértudás +ILP Példák ILP háttértudás és példák származtatása Tervezés Összekö- tött Példa Modellek Kód- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Alkalmazás Finomítás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ember:class név:attribute t_ember:table c_ember:column c_név:column attrs cols cls2tab cls2col attr2col pkey

ILP Háttértudás +ILP Példák Tervezés Összekö- tött Példa Modellek Kód- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Alkalmazás Finomítás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ember:class név:attribute t_ember:table c_ember:column c_név:column attrs cols cls2tab cls2col attr2col pkey ILP háttértudás és példák származtatása

ILP háttértudás és példák generálása ILP Háttértudás +ILP Példák Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Kód- generálás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás (cols-hoz) class(ember). attribute(név). attrs(ember,név). table(t_ember). column(c_ember). column(c_nev). cls2tab(ember,t_ember). cls2col(ember,c_ember). attr2col(név,c_név). ILP Példák (cols-ra) cols(t_ember,c_ember). cols(t_ember,c_név). cols ember:class név:attribute t_ember:table c_ember:column c_név:column attrs cls2tab cls2col attr2col Lehetőség van Segédinformáció megadására: Prolog szabályok formájában Szintén példák alapján Segédinformáció használatával Elegánsan kezelhetők az öröklések Rekurzív szabályok hozhatók létre Tömörebb szabályokat kaphatunk

Generált Prolog következtetési szabályok ILP Háttértudás +ILP Példák Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Kód- generálás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok generált Prolog szabályok (cols-ra) cols(A,B) :- cls2tab(C,A), cls2col(C,B). cols(A,B) :- cls2tab(C,A), attrs(C,D), attrs2col(D,B). ember:class név:attribute t_ember:table c_ember:column c_név:column attrs cols cls2tab cls2col attr2col pkey

szabálygenerálás Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Kód- generálás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Prolog szabály (cols-ra) Gráftranszformációs szabály (cols-ra) LHS C:class RHS cols(A,B):-Ccls2tab(, )Acls2col(, )CB,. A:table B:column

szabálygenerálás Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Kód- generálás Futtatás Szabály- generálás Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Prolog szabály (cols-ra) Gráftranszformációs szabály (cols-ra) LHS C:classA:table B:column cls2tab cls2col RHS C:classA:table B:column cls2tab cls2col cols cols(A,B):-cls2tab(C, A)cls2col(C, B),.

Esettanulmány Objektum-relációs leképezés Forrásmodell: (egyszerűsített) UML osztálydiagram Célmodell: Relációs adatmodell EJB 3.0 szabvány szerint Modelltranszformációs benchmark Tanító példamodellek nagysága: 10 osztály, 3 attribútum, 4 asszociáció 8 tábla, mindegyikbe 2-3 oszlop, néhány idegen kulcs Keletkezett transzformációs szabályok száma: 20 szabály: 3 a referenciákhoz, 17 a célmodell relációihoz (1 relációhoz kb. 3-4 szabály) Minden transzformációs szabály automatikusan állt elő (nem kellett a szabályokat módosítani)

Elméleti eredmények 1.ILP háttértudás és ILP példák szisztematikus generálása 2.ILP automatizmusát kihasználva Prolog szabályok automatikus generálása 3.Gráftranszformációs szabályok szisztematikus generálása 4.MTBE kiegészítése segédinformáció megadásának lehetőségével Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok

Gyakorlati eredmények Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok MTBE architektúra kidolgozása a VIATRA2 modelltranszformációs rendszer használatával

Gyakorlati eredmények Alkalmazás Tervezés Finomítás Összekö- tött Példa Modellek Futtatás Kód- generálás Szabály- generálás ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák ILP Háttértudás +ILP Példák Prolog következ- tetési szabályok Forrás- és Cél Modellek Modell- transzfor- mációs szabályok Automatizált ILP háttértudás- és ILP kód generálás a példamodellekből (VIATRA2 transzformációként) 3. (Részlegesen) Automatizált gráftranszformációs szabálygenerálás a Prolog szabályokból (VIATRA2 transzformációként) 3.

Jövőbeli tervek A skálázhatóság vizsgálatára további esettanulmányok szükségesek Nagy mintamodellek használata? Komplexebb (absztrakciós) transzformációk? A transzformálás feltételeinek kiterjesztése attribútum feltételekkel.