Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 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

2 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ó

3 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

4 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

5 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

6 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ő

7 Ú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.

8 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

9 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

10 [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

11 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

12 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)

13 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

14 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

15 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).

16 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

17 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

18 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

19 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

20 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

21 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),.

22 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)

23 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 1. 3. 2. 4.

24 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 1. 1. MTBE architektúra kidolgozása a VIATRA2 modelltranszformációs rendszer használatával

25 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 2. 2. 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.

26 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.


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések