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 architektúra M3: ameta-meta modell, amely metamodell szinten definiálja azuml-t M2: ametamodell, amely leírja az UML szintaxisát M1: a felhasználó által létrehozott modellek M0: objektumpéldányok vagy rekordok Networkshop 2004 3
Networkshop 2004 4
OMG specifikációk - MOF (Meta Object Facility) A MOF több, különböző típusú metainformáció támogatására szolgál ameta-információt isinformációként kezeli formálisan modellez minden különböző típusú metainformációt Ametainformáció modell építőelemei: osztály, asszociáció (objektumok közötti kapcsolatok osztálya), csomag Networkshop 2004 5
UML (Unified Modeling Language) Az objektum-orientált szemléletre épülő elemzés és tervezés eszköze Több, korábbi módszertan és jelölés rendszer egyesítésével jött létre Az OO modellezés szabványa Az UML specifikáció tartalmazza: Jelölés: a szintaxis, a jelölésrendszer elemei Szemantika:az egyes jelölések jelentése Networkshop 2004 6
AzUML metamodell elemei Modellezési elemek osztály, interface, használati eset, komponens, interakció, állapotgép, csomag, alrendszer, stb. Kapcsolatok függőség, asszociáció, általánosítás/pontosítás Kiterjesztési mechanizmusok sztereotípia, címke-érték, megszorítás Diagramok Osztály-, Objektum-, Használati eset, Szekvencia, Együttműködési, Állapot-átmeneti, Aktivitás, stb. Networkshop 2004 7
XMI (XML Metadata Interchange) XML (Extensible Markup Language) alapúcsere formátum különböző típusúobjektumok számára Az XMI alapú szabványokat integrációs eszközökben, adatszótárakban, adattárházakban és kül. alkalmazásokban használják Szabályokat szolgáltat, amelyekkel sémadefiníció generálható bármely, érvényes MOF-alapú metamodell számára(dtd vagy XML séma UML osztálydiagramból kiindulva) Networkshop 2004 8
Az UML és az XML séma XML séma modellezése UML osztálydiagrammal APurchaseOrder osztály (1. ábra) Két attribútum és három asszociáció [0..1] multiplicitás: opcionális attribútum érték Az Address osztályshipto és BillTo szerepben QuantityTypeés SKUfelhasználó által definiált adattípusok AzAddress csomag (2. ábra ) USAddress és UKAddress az Address altípusai Address absztrakt osztály Networkshop 2004 9
1. ábra APurchaseOrder csomag Networkshop 2004 10
2. ábra Az Address csomag Networkshop 2004 11
UML modell leképezése XML sémára Megfelelés asématervezési követelménynek Áttérés koncepcionális modellről részletes tervezési modellre XML sémadefiníció automatikus generálása UML osztálydiagramból A modell újrafelhasználása más környezetben Networkshop 2004 12
UML osztálydiagramok leképezése XML sémadefiníciókra Alapértelmezett leképezési szabályok : Osztályok és attribútumok UML osztályhoz complextype elem jön létre <xs:all> elem sorrend nélküli csoportot hoz létre UML osztály attribútumaiból lokális elemdefiníciók jönnek létre opcionális attribútumokat a minoccurs és maxoccurs XML attribútumok fejezik ki egyszerű adattípusok beírhatók a sémába minden complextype elem neve az osztály neve lesz Networkshop 2004 13
UML osztálydiagramok leképezése XML sémadefiníciókra Asszociációk wrapperelem jön létre az XSD-ben az UML-beli szerepnévvel Felhasználó által definiált adattípusok az alapértelmezett leképezés egy complextype definíciót hozna létre az SKU és QuantityTypetípusokra a <<XSDsimpleType>> sztereotípia hozzáadásával felhasználó által definiált egyszerű adattípus jön létre Általánosítás/pontosítás ausaddress elem tartalmazza a substitutiongroup= Address attribútumot Networkshop 2004 14
UML Profile-ok Akoncepcionális modell finomítása XML sémára specializált tervezési modellé: Egy UML Profileaz UML használhatóságát bővíti ki egy meghatározottterületen, jelen esetben XML sématervezésben Kulcselemek van: sztereotípiák, címke-érték párok (tulajdonságok) és megszorítások Networkshop 2004 15
Tervezési megfontolások Az UML osztályok attribútumai XML attribútumok vagy elemek legyenek a sémában? Melyik modellcsoportot (all, sequence vagy choice) kellene alkalmazni az elemek tartalmának validálásához? Szerepeljenek-e az UML asszociációkban szereplő osztály és szerepneveket reprezentáló XML elemek a sémában? Hogyan állítsuk elő az UML osztálynevekből az XML elemneveket? Networkshop 2004 16
3. ábra APurchaseOrder csomagaprofilekiterjesztésekkel Networkshop 2004 17
Modell Vezérelt Architektúra Egy MDA specifikáció egy platform-független UML modellből (PIM) és egy vagy több platform specifikus modellből (PSM) áll. Egy PIM teljes alkalmazás specifikáció, amely adott környezetben egy PMS-be képződik le, ami apim implementációját jelenti, azaz a végrehajtható alkalmazás generálását. Az OMG szabványai, a MOF, XML, XMI és CWM együttműködése biztosítja, hogy az MDA valóban teljes szoftverfejlesztési megközelítés legyen. Networkshop 2004 18