Az UML 4 rteg metamodell szerkezete Adatok modellek
- Slides: 13
Az UML 4 rétegű metamodell szerkezete Adatok, modellek, meta-metamodellek
bonyolultság elvontság Az UML 4 rétegű metamodell szerkezete Világ/Adatszint, a modellszint példánya Modellszint, a Világ modellje. Metamodell, a modellje. Alkalmazói adatok Alkalmazói (szoftver) modell A modell-leíró formalizmus (pl. UML) leírása A modellezőeszköz leírásának a leírása Metamodell, a metamodellje.
Adatszint, modellszint • Vezeték Kovács Gipsz Para Kala Utó Benő Jakab Zita Pál Beosztás Igazgató Főcsővezető Irodavezető Ügynök Fizetés 40 000 20 000 10 000 8 000
Modell • (Egy szoftver által kezelt) információ szerkezetének adatfüggetlen, pontos leírása • Az adatok csoportosítása osztályok, példányaik • Tulajdonságok és értékeik • Közös tulajdonságok kiemelése, elvonatkoztatás általánosítás • Adatkapcsolatok csoportosítása kapcsolatok, példányaik
Metamodellek • Metamodell: egy szemantikus modell készítése során használt eszközök és szabályok pontos definíciója • Metamodellezés: modellezés, melynek tárgya egy modellezőeszköz maga • (Szemantika szintaktika • Információk, adatok szerkezete ~ szöveges megjelenítési formája)
Mire kellenek a metamodellek • CASE/modellező eszköz fejlesztő: újabb modellemeket is támogatnia kellhet… • Adat/információ tárház tervező (adatbázis, repository): Adatszerkezet (séma) megadására/módosítására szolgáló részeszközök • Rendszerintegrátor: különböző jellegű adatok integrációjához szükséges azok szerkezetének (metamodelljének) a megalkotása/megértése… • Végfelhasználó: pl. egy új rendszer kiértékelésekor/megismerésekor
Egy UML rész-metamodell
Meta-metamodell • A metamodell leírása/modellje – a metamodell a meta 2 modell példánya end start
Meta. Feature • START Feature Classifiable Association. End Parameter Operation NAME owner feature participant type connection owner parameter END Classifiable Feature Association. End Classifiable Association. End Association Operation Parameter MINMAX 1 1 1 * 0 * 1 1 2 * 1 1 0 * • Mit kellene még modellezni? Meta. Generalization, Meta. Class
Mire jók a meta-metamodellek? • Ugyanahhoz a rendszerhez többféle metamodell is felépíthető (különböző célokra) • Mikor? Ha modelltárházat akarunk építeni, és: – Többféle metamodellre akarjuk alkalmazni – Módosítani, fejleszteni akarjuk a metamodellt • Mikor? Különböző metamodellű rendszerek között intelligens információ integrációra – Megadjuk az egyik rendszer metamodelljét (pl. UML) – Megadjuk a másik rendszer metamodelljét – Megadjuk a metamodellek közötti átalakítási szabályokat (pl. UML asszociációkkal+OCL megszorításokkal)
Metamodell keretrendszer Meta-metamodell Metamodell 1 Metamodell 2 Metamodell 3
Pl: az OCL metamodellje UML-ben Készítsük el az OCL metamodelljét UMLben. Használjuk a következő fogalmakat: Kifejezés, Literál, Összetett. Kifejezés, Feature, Navigáció, Művelet, Paraméterek
Egyéb metamodellek • Software Process Engineering Metamodel (SPEM) • XML metamodell • Common Warehouse Metamodel (CWM) • Prolog metamodell • Relációs metamodell • SQL metamodell