Modellvezérelt architektúra

Az architektúra modell által vezérelt vagy az MDA (az angol modell által vezérelt architektúra esetében ) egy megvalósítási folyamat szoftver , amelyet az OMG javasol és támogat . Ez a mérnöki modell vezérelt sajátos változata (IDM vagy MDE az angol modellvezérelt mérnöki munkához ). Az IDM további változatait fejlesztette ki, például a Microsoft a DSL Tools-szal.

Bevezetés

Az MDA alapelve a különböző modellek kifejlesztése, kezdve a számítógépesítéstől független üzleti modelltől ( számítástól független modell , CIM), átalakítva platformfüggetlen modellgé ( platformfüggetlen modell , PIM), végül pedig utóbbiakká alakítva a célplatformra jellemző modell ( platformspecifikus modell , PSM) a rendszer konkrét megvalósításához. A PSM-ek használhatnak tartományspecifikus nyelveket vagy általános nyelveket, például Java , C # , Python stb. Az MDA megközelítés keretében alkalmazott technikák ezért főként modellezési technikák és modelltranszformációs technikák .

Az OMG a szabványok specifikációit adja meg, nem pedig a megvalósításokat, leggyakrabban azután, hogy megkapta a Javaslati Kérelmet. A megvalósítások ezután magáncégek vagy nyílt forráskódú csoportok munkájának eredményei.

MDA-val kapcsolatos szabványok

Az MDA megközelítés számos szabványhoz kapcsolódik, például:

Meg kell jegyezni, hogy az architektúra kifejezés az MDA-ban nem a modellezett rendszer architektúrájára utal, hanem az MDA technológiai alapját képező különféle szabványok architektúrájára.

Védjegyek

Az OMG rendelkezik minden, az MDA-val kapcsolatos márkával és sok hasonló szóval, például:

A fő rövidítés, amelyet az OMG még nem regisztrált, az MDE ( Model Driven Engineering ). Ennek eredményeként a tudományos közösség gyakran hivatkozik az MDE-re, hogy kifejlessze a tervezési ötleteket anélkül, hogy az MDA OMG szabványokban részletezett fogalmaira korlátozódna .

MDA megközelítés

Az MDA megközelítés tipikus példája a forráskód automatikus generálása az UML modellezésből, amely magában foglalja a következőket:

Természetesen nem szükséges, hogy az összes kódot automatikusan generálják, de legalább a rendszer átfogó architektúráját (pl. Kódvázakat) legalább így kell megszerezni.

A CIM, PIM és PSM közötti átalakításokat gyakran automatizálják olyan eszközökkel, amelyek többé-kevésbé kompatibilisek a QVT-vel , a modellátalakítások OMG szabványával .

A PSM-ről a kódgenerálásra való áttérés logikus folytatása ennek a feldolgozásnak. Meg lehet végzi generátorok, mint ezek , hogy bármilyen fajta technológiai célokat.

MDA domain

Az OMG a modell-vezérelt "előre tervezési" architektúrára összpontosít, vagyis kódot generál adatforrásból, például diagramokból vagy modellekből. Az elemző csoport és az OMG (elemzés és tervezés munkacsoport, ADTF) tervezése irányítja ezt az erőfeszítést. Ugyanez a csoport az ADM (MDA visszafelé) kifejezést választotta a fordított tervezés tanulmányozásának leírására.

Az ADM leírja az architektúra (itt az OMG modellezési szabványok) által vezérelt szoftver korszerűsítését. Az ADM célja, hogy szabványokat állítson elő a régi számítógépes programok korszerűsítésére modell-alapú reverz mérnöki módszerekkel. A tudásfelfedezési metamodell (KDM) egyike ezeknek a szabványoknak. A KDM tehát az információs rendszereket különböző adatokként írja le (programok, specifikációk, adatok, tesztfájlok, adatbázis-diagram stb.).

Az MDA egyik fő célja a tervezés és az építészet elválasztása. Mivel a tervezés megvalósításához használt fogalmak és technológiák, valamint a programok architektúrájának elkészítéséhez használt koncepciók és technológiák a saját ütemükben fejlődtek, a tervezés és az architektúra leválasztása lehetővé teszi a fejlesztők számára, hogy az egyes területeken a legérdekesebb fogalmakat és technológiákat választhassák ki. A tervezés azokra a funkcionális problémákra összpontosít, ahol az architektúra biztosítja azt az infrastruktúrát, amelyen a nem funkcionális igények megvalósulnak, mint például a rendszer kiterjesztése, robusztussága és teljesítménye.

Az MDA úgy véli, hogy azok a platformfüggetlen modellek (PIM-ek), amelyek a rendszert funkcionális igényeinek leírásával képviselik a tervezésben, alkalmazkodhatnak a szoftverarchitektúrák megvalósításának különböző változásaihoz. Az MDA-ban vannak olyan fontos fogalmak, mint a modelltranszformáció és a kódgenerálás fogalma. Így a modelltranszformációhoz egy standard nyelvet kifejezetten az OMG , a QVT nyelv hozott létre . A modellek szöveggé alakításához (kód vagy dokumentáció generálása) az OMG létrehozta a MOFM2T nyelvet . Az MDA körül folyó jelenlegi munka a metaadatok felhasználásával erősíti a modellek és metamodellek előjogait .

MDA eszközök

Az OMG a megvalósítások helyett specifikációkat ad a pályázati kérésekre válaszul. Az OMG ezt a folyamatot az MDA Guide nevű dokumentumban dokumentálja.

Egyszerűen fogalmazva: az MDA eszköz olyan eszköz, amelyet fejleszteni, értelmezni, összehasonlítani, összehangolni, mérni, ellenőrizni, átalakítani stb. modellek vagy metamodellek. A következő szakaszban a modell kifejezés bármilyen típusú modell (például: UML modell ) vagy metamodell (például: CWM metamodell) megjelölésére szolgál. Bármely típusú MDA megközelítésben alapvetően kétféle modell létezik:

Például egy elemző létrehozhat egy UML modellt egy üzleti rendszer megfigyelései eredményeként, ahol Java átalakítás vezethető le az UML modellből egy modell átalakítással. Az MDA eszköz a következő típusok legalább egyikének eszköze:

Teremtés eszköz egy eszköz, amely lehetővé teszi egy kezdeti modell létrehozását és / vagy a származtatott modellek szerkesztését; Elemző eszköz egy eszköz, amely lehetővé teszi a modell teljességének, következetlenségeinek vagy hibáinak ellenőrzését. Ez a típusú eszköz a modell különböző mutatóit is kiszámíthatja; Transzformációs eszköz a modellek más típusú modellekké vagy szöveggé (forráskód vagy dokumentáció) átalakítására használt eszköz; Kompozíció eszköz egy eszköz, amely lehetővé teszi több modell összeállítását (összeillesztés szemantika szerint), előnyösen ugyanazon metamodellnek felel meg; Vizsgálati eszköz eszköz a modellen végzett tesztek meghatározásához, a modell -alapú tesztelés megközelítésének megfelelően ; Szimulációs eszköz egy adott modell által képviselt rendszer végrehajtásának szimulálására szolgáló eszköz. Ez a típusú eszköz a modell végrehajtási tárgyához kapcsolódik; Metaadat-kezelő eszköz a különböző modellek közötti kapcsolatok kezelésére tervezett eszköz, például az egyes modellek metaadatai (szerző, a létrehozás vagy módosítás dátuma, létrehozási eszköz stb.) és a modellek közötti kapcsolatok (egy modell lehet a metamodell a ' egy másik modell, egy modell származhat egy másik modellből stb.); Fordított mérnöki eszköz egy eszköz, amely lehetővé teszi egy meglévő kód modellré alakítását.

Számos eszköz a fent leírt szerepkörök egynél többjét tölti be. Például egy modellépítő eszköz transzformációs vagy tesztelési funkciókat is kínálhat. Vannak azonban olyan eszközök, amelyek az MDA egyik aspektusának vannak szentelve. Az OMG specifikáció megvalósítását magáncégek és nyílt forráskódú csoportok végzik. Az OMG specifikációk megvalósításának egyik fő forrása az Eclipse Foundation.

Az OMG specifikációk megvalósítása az Eclipse Alapítvány részéről

Az OMG modellezési szabványok számos megvalósítása megtalálható az Eclipse Modellezési Keretrendszerben (EMF) vagy a Grafikus Modellezési Keretrendszerben (GMF). Az Eclipse alapítvány számos eszközt fejleszt az MDA körül a modellezési projektjében, például:

Egyes Eclipse alapozó eszközöknek az OMG előírásoknak való megfelelés azonban nem mindig szigorú. Így az EMOF szabvány OMG specifikációja megtalálható az Eclipse-ben, az Ecore megvalósítással, amely kissé a specifikációból ered. További példák találhatók a következő területeken: a modell-modell transzformációk ellen qvt szabvány vagy modellek szöveg átalakítások ellen MOFM2T szabvány .

Ne tévessze össze az MDA eszközök listáját az UML eszközök listájával, valóban sokkal több olyan MDA eszköz létezik, amelyek befolyásolják az UML- től néha eltérő metamodelleket .

Meg lehet különböztetni a rögzített metamodellekkel rendelkező eszközöket és a változó metamodellekkel rendelkező eszközöket is. Például egy UML-szerkesztő gyakran korlátozódik az UML metamodell egyik változatára (UML 2.1 példa). Éppen ellenkezőleg, egyes eszközök képesek alkalmazkodni több metamodellhez vagy akár a felhasználó által szállított metamodellekhez. Általában az MDA eszközök konkrét építészeti specifikációkra összpontosítanak, bár vannak olyan eszközök is, amelyek függetlenek egy adott specifikációtól. Egy adott specifikációhoz kapcsolt eszköz példája lehet a .NET vagy a Java implementációhoz kapcsolt kódgenerátor.

MDA kérdések

Az MDA-megközelítés alapját képező kulcsfontosságú fogalmakat (2001-ben született) a Shlaer-Mellor-módszer tisztázta az 1980-as évek végén. Valójában az MDA-megközelítés kulcsfontosságú technológiai koncepciója, a modellek futtatására szolgáló nyelv , az OMG specifikációk megvalósítása biztosította a Shlaer-Mellor módszer eredeti nyelvének, az angol  : Shlaer-Mellor Action Language adaptálásával, amelyet az UML-hez igazítottak.

Abban az időben azonban az MDA-megközelítést az IT-ipar többsége nem tudta elfogadni. Azóta a helyzet megváltozott, de 2006-ban a Gartner elemző csoport még mindig azonosította az MDA-t "olyan technológiának, amely kezdett elindulni", és a Forrester Research csoport a maga részéről az MDA-t "érkezéskor halottnak" tartotta. Az OMG által támogatott, az MDA megközelítéssel azonosított néhány lehetséges probléma a következők:

Lásd is

Kapcsolódó cikkek

Szomszédos fogalmak

Bibliográfia

Hivatkozások

  1. http://idm.imag.fr/idm05/documents/23/23.pdf Metamodellek metaadatokkal történő hitelesítésének folyamata
MDA Tools

Külső linkek