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

Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling.

Hasonló előadás


Az előadások a következő témára: "Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling."— Előadás másolata:

1 Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling Framework

2 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 2 Miért kellenek domain specifikus nyelvek?  A mai szoftver fejlesztés kihívásai −komplexitás: ●Növekvő fejlesztési idő és költség −diverzitás: ●domainek, követelmények, implentációs technikák, eszkzök −Változás ●Változó követelmények, környezet, bug fixek…

3 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 3 Nyelv-alapú fejlesztés  A nyelvek alapvető fontosságúak az emberek számára  Biztosítaniuk kell −Futtatást, analízist, tesztelést, implementálást, …  Kulcs: Több nyelv absztrakciója és integrációja −Transzformáció −Aspektus integráció −szinkronizáció −Finomítás és ekvivalencia vizsgálata −evolúció

4 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 4 Az UML lehetőségei  Előnyök: −Standard közös nyelv −Vizuális  Hátrányok: −Nem-formális szemantika ●Nincs egy közös, általánosan használható szemantika −Korlátozott hatókör ●UML Profilok −Unified (NOT Universal) Modeling Language

5 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 5 Metamodellezés: Modellező nyelvek tervezése

6 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 6 Modellező nyelvek tervezése  Metamodellezés: Tervezési metodológia modellező nyelvekhez  Metamodel: egy modellező nyelv modellje  Lehetőségek: −Konkrét szintaxis −Absztrakt szintaxis −Jól formáltság szabályok −Szemantika −Leképzések más nyelvekre

7 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 7 Konkrét szintaxis  A modellek (vagy programok) megjelenése −Szöveges notáció: +Könnyen írható: Komplex kifejezések is megadhatóak -Nehéz olvasni:Nehéz karbantartani és módosítani a komplexitás miatt −Vizuális notáció: +Könnyen olvasható: Ki tudja fejezni a nyelv (vagy egy kiválasztott rész) részleteit egy intuitív, könnyen érthető jelölésrendszerrel +Biztonságosan írható: Csak szintaktikailag helyes modellek készíthetőek -Nehéz írni: a grafikus szerkesztés lassabb…

8 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 8 Példa: konkrét szintaxis void request() { if (state == "idle" && this.load<10) state = "calculating"; } void response() { if (state = "calculating") state = "idle" } Szöveges notációGrafikus notáció

9 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 9 Absztrakt szintaxis (Metamodel)  Metamodel: a modellező nyelv modellje −Jelentés: feletti, transzcendens…  Cél: definiálni −A nyelv által tartalmazott koncepciókat −És az ezek közötti lehetséges kapcsolatokat  Tartalma: −Alapelemek definíciója −Kapcsolatok az elemek között −Absztrakció/finomítás (Taxonómia, Ontógia) az elemek között −kényszerek (pl. számosság) −(egyéb jól formáltsággal kapcsolatos szabályok)

10 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 10 t1s2t2 s1a1s3 t3 st tr fr to fr curr s2 s3 s1 t1 t2 t3 a1 Abstrakt szintaxisKonkrét szintaxis Model szint Meta (nyelv) szint StateAccStateTransition Automaton from to transitions statescurrent color:{R,G,B} Metamodel Instantiation osztály asszociáció öröklődés attribútum Object Link Metamodellek és példányok

11 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 11 Típus konform modellek

12 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 12 Példa: Statechart Metamodel

13 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 13 Példa: EJB Metamodel

14 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 14 Hol találkozunk metamodellekkel?  Különböző alkalmazási domainek az UML körül −SysML (rendszerfejlesztés) −SPEM (folyamat modellezés) −CWM (adattárházak) −GRM (Általános erőforrás metamodell) −EDOC (nagyvállalati elosztott rendszerek) −AutoSAR (autóipari szabvány) −FIBEX (autóipar) −AADL (repülő) −XPDL (üzleti folyamatok)

15 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 15 Well-formedness rules  Multiplicity constraints −At most one: 0..1 −Many: *  Aggregation/Containment −At most one parent for each model element  Language specific constraints: −E.g.: Each state in a class must have a unique name −Expressed in e.g. OCL

16 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 16 Dynamic Semantics  Semantics: the meaning of concepts in a language  Main approaches: −Denotational (Translational): translating concepts in one language to another language (called semantic domain) ●compiled −Operational: modeling the operational behavior of language concepts ●interpreted

17 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 17 Overview of Transformations Semantic domain/ Programming language Semantic domain/ Programming language Concrete syntax Abstract syntax layout scanning and parsing denotational semantics semantic feedback operational semantics

18 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 18 XMI: Dokumentumtervezés metamodellezéssel

19 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 19 Dokumentumtervezés metamodellezéssel  Célkitűzés: −XML alapú dokumentumok struktúrájának automatikus szintézise −az XMI (XML Metadata Interchange) szabvány használatával

20 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 20 XML áttekintés  XML = eXtensible Markup Language −a Web szabványos nyelve −strukturált információtárolás  Korábbi problémák: −HTML: megjelenítés orientált −SGML: túl komplex  Tulajdonságai: −különválasztott struktúra és megjelenítés −eszköz- és gyártófüggetlenség

21 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 21 Az XML struktúrája  XML Schema, DTD (Document Type Definition): −dokumentumok modellezésére −speciális nyelvtan −Dokumentumellenőrzés  Dokumentum példány: −információ tárolására −jól formált HTML-szerű tag-ek −szigorú fastruktúra

22 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 22 Dokumentum definíciók és példányok DefinitionInstance element Mondeo attribute

23 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 23 Példa: metamodell és modell  Csapat metamodell −M2 szint  Csapat modell −M1 szint Element name : String Player number : Integer Team +players+playsFor 0..*11..*0..*11..* Puskas : Player Hungary : Team playsFor players

24 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 24 Példa: XMI 1.0 DTD Element name : String Player number : Integer Team +players+playsFor 0..*11..*0..*11..*

25 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 25 Példa: XMI 1.0 dokumentum Hungary Puskas 10 <Player.playsFor xmi.idref=‘t1’/> Puskas : Player Hungary : Team playsFor players

26 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 26 Példa: XMI 1.1 dokumentum <FB:Player id=‘p1’ name=‘Puskas’ number=’10’ playsFor='t1'/> Puskas : Player Hungary : Team playsFor players

27 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 27 Példa: XMI 2.0 dokumentum <fb:Model xmlns:fb="…„ xmlns:xmi="…" <players xmi.id=‘p1’ name=‘Puskas’ number=’10’ playsFor='t1'/> Puskas : Player Hungary : Team playsFor players

28 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 28 Eclipse Modeling Framework  Modellezési komponens Eclipse alá  Lehetőség domain specifikus nyelvek definiálása  Szerkesztés, XML/XMI export-import támogatás  Saját metamodellező mag

29 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 29 EMF történelem  Eredetileg MOF alapú volt −MOF-> OMG szabvány −Absztrakt nyelv és keretrendszer metamodellek specifikálására  Az EMF az alkalmazási tapasztalatokra támaszkodva fejlődött −Hatékony implementáció a MOF API egy részére  2003: EMOF (Essential MOF) −A MOF 2 spec. Része, az OMG elfogadta −Az EMF jelentősen hozzájárult  2004 Service Data Objects (SDO) referencia impl. −IBM & BEA −Jelenleg JCP szabványosítás alatt (JSR-235)

30 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 30 ECore  Az EMF metamodellező nyelve −Meta-nyelv  A metamodellek platform függetlenek −További nyelv(ek) az implementáció-közeli modellezésre  Strukturális modellek definíciójára szolgál

31 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 31 ECore – miért?  Van már néhány hasonló nyelv…  Az EMF azonban támogatja az Ecore-alapú −Kódgenerálást −Import/export-ot más formátumokba −Jelentős ipari támogatás (IBM, …)  Az Ecore viszonylag szűk, csak az alapvető információkat rögzíti

32 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 32 ECore – kulcselemek  Ezek a minimálisan szükséges elemek az ecore megértéséhez

33 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 33 ECore – kulcselemek  Ezek a minimálisan szükséges elemek az ecore megértéséhez Egy típust jelképez tetszőleges számú ős tetszőleges számú asszociáció tetszőleges számú attribútum

34 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 34 ECore – kulcselemek  Ezek a minimálisan szükséges elemek az ecore megértéséhez Típusos attribútum

35 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 35 ECore – kulcselemek  Ezek a minimálisan szükséges elemek az ecore megértéséhez Egy egyirányú, bináris kapcsolatot (Asszociáció) jelképez opcionálisan mutathat az ellenkező irányú asszociációra definiálja a referált típust is

36 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 36 Teljes Ecore hierarchia

37 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 37 ECore implementáció

38 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 38 Hogyan használjuk az EMF-et?  A fenti ábra az egyszerűsített felhasználási módot szemlélteti

39 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 39 EMF eszközkészlet madártávlatból

40 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 40 EMF eszközkészlet madártávlatból Platform független modell A modellezési nyelvünk metamodelljét adja meg

41 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 41 EMF eszközkészlet madártávlatból Platform specifikus modell Az ecore modell leképzése az implementációs platformra

42 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 42 EMF eszközkészlet madártávlatból Kód sablonok az implementáció létrehozásához.

43 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 43 EMF eszközkészlet madártávlatból A generator modell és a sablonok alapján történik a kódgenerálás

44 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 44 EMF eszközkészlet madártávlatból Modell perzisztencia megvalósítás Java oszálykönyvtár

45 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 45 EMF eszközkészlet madártávlatból Modell manipuláció „üzleti logika” – elemek létrehozása, törlése, …

46 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 46 EMF eszközkészlet madártávlatból Automatikusan generált grafikus editor Fastruktúrájú megjelenítés

47 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 47 ECore modell létrehozása

48 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 48 ECore modell létrehozása UML osztálydiagramm Rational Rose EclipseUML a kimeneti fájlok átkonvertálásával

49 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 49 ECore modell létrehozása Az XML séma egy XML dokumentum metamodelljének tekinthető Ebből generálható ecore modell

50 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 50 ECore modell létrehozása Egy programnyelv-szerű mini nyelv ecore modellek leírására

51 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 51 ECore modell létrehozása Közvetlen megadás (ecore modell editor)

52 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 52 ECore modell létrehozása Speciálisan annotált (megjegyzésben) Java interfészek, melyek leírjék a modell szerkezetét

53 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 53 Példa: zenetár

54 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 54 Példa: zenetár – ecore XML 1 2 <ecore:EPackage 3 xmi:version="2.0" 4 xmlns:xmi="http://www.omg.org/XMI" 5 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 6 name="music"> 7 Minden ecore fájl egy csomag definíciójával kezdődik. Ez fogja tartalmazni a többi modell-elemet

55 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 55 Egy osztály definíciója 1 2<eStructuralFeatures xsi:type="ecore:EAttribute" 3 name="name" lowerBound="1" 4 eType="ecore:EDataType http://www.eclipse.org/emf/2002/ 5 Ecore#//EString"/> 6 <eStructuralFeatures xsi:type="ecore:EAttribute" 7 name="notes" 8 eType="ecore:EDataType http://www.eclipse.org/emf/2002/ 9 Ecore#//EString"/> 10 Egy meta osztályt az eClassifiers elem és az xsi:type=„ecore:EClass” hivatkozás jelzi.

56 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 56 Egy asszociáció definíciója <eStructuralFeatures 4 xsi:type="ecore:EReference" 5 name="works" 6 upperBound="-1" 7 eType="#//Work" 8 containment="true"/> Az asszoicációt az ecore:EReference típus azonosítja.

57 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 57 Egy felsorolt típus definíciója <eClassifiers 2 xsi:type="ecore:EEnum" 3 name="MediaType"> 4 5 6 7 8 9 10 Ez EEnum elemeit a típuson belül az eLiterals tagok alkotják.

58 Budapest University of Technology and Economics Fault-tolerant Systems Research Group 58 EMF – hogyan tovább?  A megadott ecore modellből forráskód generáltatható −Modell perzisztencia −Modell menedzsment −Modell editor  Minden komponens testre szabható… −Következő óra témája lesz


Letölteni ppt "Budapest University of Technology and Economics Fault-tolerant Systems Research Group Nyílt Fejlesztőrendszerek Domain specifikus nyelvek Eclipse Modeling."

Hasonló előadás


Google Hirdetések