WEBALKALMAZÁSOK MODELLVEZÉRELT KÉSZÍTÉSE. Kollár Lajos Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék.

Hasonló dokumentumok
Metamodellezés. Simon Balázs BME IIT, 2011.

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

WEBES INFORMÁCIÓS RENDSZEREK MODELLEZÉSE. Adamkó Attila Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék.

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

A Java EE 5 plattform

Komponens alapú fejlesztés

JAVA webes alkalmazások

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Közösség, projektek, IDE

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

problémák elvárások megoldások EAI MDA MOF CWM köztes Sw eszközök hatékonyság konklúzió 09:09 problémák elvárások megoldások EAI MDA MOF CWM

Miért is transzformáljunk modelleket? Varró Dániel

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Információtartalom vázlata

Elosztott rendszer architektúrák

Ismeretanyag Záróvizsgára való felkészüléshez

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

Az UML2 és a modell-vezérelt alkalmazásfejlesztés

KÉPI INFORMÁCIÓK KEZELHETŐSÉGE. Forczek Erzsébet SZTE ÁOK Orvosi Informatikai Intézet. Összefoglaló

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

A szemantikus világháló oktatása

Web alapú Információs Rendszerek modellezése. Modeling Web-based Information Systems

Nagy bonyolultságú rendszerek fejlesztőeszközei

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

A TANTÁRGY ADATLAPJA

UML (Unified Modelling Language)

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Steps Towards an Ontology Based Learning Environment. Anita Pintér Corvinno Technologia Transzfer Kft

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Java I. A Java programozási nyelv

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

Verifikáció és validáció Általános bevezető

Ráth István. A fejlesztés evolúciója

Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2

Web-fejlesztés NGM_IN002_1

Stratégiai Terv Összefoglaló. ARTEMIS-Magyarország Nemzeti Technológiai Platform

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

A szoftver tesztelés alapjai

Mobil szolgáltatások és alkalmazások fejlesztése

ALKALMAZÁS KERETRENDSZER

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

ekörnyezetvédelmi szolgáltatások az INSPIRE keretében Márkus Béla Giorgio Saio

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Osztott alkalmazások fejlesztési technológiái Áttekintés

Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

01. gyakorlat - Projektalapítás

Rendszertervezés ágazat

Az egységes tartalomkezelés üzleti előnyei

gyakorlatban Nagy Gusztáv

Emerald: Integrált jogi modellező keretrendszer

Szemantikus világháló a BME-n

MŰSZAKI TUDOMÁNY AZ ÉSZAK-KELET MAGYARORSZÁGI RÉGIÓBAN 2012

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

Oracle adatkezelési megoldások helye az EA világában. Előadó: Tar Zoltán

SZEMLÉLETES RÉSZINFORMÁCIÓK INTEGRÁCIÓS PROBLÉMÁINAK VIZSGÁLATA A VIRTUÁLIS VALÓSÁGOT TEREMTŐ SZIMULÁTOROK ALAPJÁN

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

Dokumentum kompozíció

Rendszermodellezés: házi feladat bemutatás

Modellek dokumentálása

Hát én immár mit válasszak?

Előzmények

Fülöp Csaba, Kovács László, Micsik András

Korszerű oktatási környezet kialakítása az eenvplus projektben. Márkus Béla

Járműinformatika A járműinformatikai fejlesztés

Publikációs lista. Gódor Győző július 14. Cikk szerkesztett könyvben Külföldön megjelent idegen nyelvű folyóiratcikk...

Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

A cloud szolgáltatási modell a közigazgatásban

Adatbázisok MSc. 12. téma. Ontológia és SPARQL

Térinformatika amit tudni kell Márkus Béla

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

Elektronikus Információs és Nyilvántartási Rendszer a Doktori Iskolák fiatal kutatói részére

Komponens alapú programozás Bevezetés

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

Osztott Objektumarchitektúrák

Szoftver újrafelhasználás

SZOMSZÉDSÁGI SZEKVENCIÁK ÉS ALKALMAZÁSAIK A KÉPFELDOLGOZÁSBAN ÉS KÉPI ADATBÁZISOKBAN

- Adat, információ, tudás definíciói, összefüggéseik reprezentációtípusok Részletesebben a téma az AI alapjai című tárgyban

TOGAF elemei a gyakorlatban

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

A TANTÁRGY ADATLAPJA

Alkalmazások architektúrája

Oracle SQL Developer Data Modeler és a DW adatmodellezés. Gollnhofer Gábor Meta Consulting Kft.

S01-7 Komponens alapú szoftverfejlesztés 1

SZTE Nyílt Forrású Szoftverfejlesztő és Minősítő Kompetencia Központ

Informatikai technológiák szakirány Rendszertervezés ágazat

Átírás:

WEBALKALMAZÁSOK MODELLVEZÉRELT KÉSZÍTÉSE MODEL-DRIVEN APPROACH OF THE DEVELOPMENT OF WEB APPLICATIONS Kollár Lajos Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék Összefoglaló A webalkalmazások esetében a hagyományos szoftverfejlesztési életciklus némiképpen módosul. Az elosztott, heterogén működési környezet, a felhasználók sokfélesége, az általuk létrehozott közös "információs tér" kezelésének, újrafelhasználhatóságának, valamint a különböző eszközökről történő hozzáférés biztosításának igénye szintén mind-mind új kihívások elé állítják a fejlesztőket. A fejlesztésre rendelkezésre álló idő drasztikusan lecsökkent, így új megoldásokra van szükség ahhoz, hogy tartani lehessen a lépést a gyorsan változó követelményekkel a rohamosan fejlődő technológiák útvesztőjében. A modellvezérelt megközelítés alkalmazása több előnyt is biztosít, amelyek megkönnyítik az alkalmazásfejlesztés folyamatát: az alkalmazás tervét leíró modellekből gyorsan lehet működő (bár nem feltétlenül teljes funkcionalitással bíró) prototípusokat generálni, amely a megrendelőkkel történő kapcsolattartásban is nagy segítséget nyújthatnak, illetve ezen modellek alapjául szolgálhatnak modellellenőrzéseknek, valamint megfelelő modellmetrikák kialakítása esetén akár statisztikai alapú minőségvizsgálatnak is. Előadásomban bemutatom, hogy hol tart ma a kutatási terület, hogyan zajlik a gyakorlatban egy ilyen modellvezérelt tervezési/fejlesztési folyamat (UML2 és XML alapokon), illetve kitekintést nyújtok az esetleges további kutatási irányokra is. Kulcsszavak Web Engineering, XML, XForms, MDA Abstract The traditional software development lifecycle cannot be applied directly to Web applications. The distributed, heterogeneous operational environment, high diversity of users, the need for providing the creation, manipulation and reusability of their common information space, and the permit of accessing the system using various devices bring developers to subsequent challenges. The available time for development has been dramatically reduced so there is a need for new solutions in order to be in steps with the rapidly changing requirements in the maze of the growing technologies. Applying a model-driven approach to development has several advantages: besides they ease the development process, rapid prototypes of applications can be generated that might be not fully functional but could play an important role in the communication among various stakeholders, especially between the development team and the future users. Furthermore, these prototypes might be starting points for model checking or statistics-based quality control in case of the development of appropriate model metrics. Keywords Web Engineering, XML, XForms, MDA 1

1. Bevezetés Az adatintenzív webalkalmazások amelyek feldolgozási idejük nagy részében adatkezelést végeznek az utóbbi években mindennapjaink részévé váltak. Számtalan ilyen alkalmazás jelent meg a világhálón: webáruházak, on-line jegyfoglaló rendszerek, stb. Ezeket emberek milliói használják a világ legkülönbözőbb pontjain. Ezen rendszerek építése során igen sok esetben a munka kezdetekor eldől a célplatform, valamint meghatározásra kerülnek azok a technológiák, amelyek segítségével a fejlesztés zajlik (ezek ráadásul igen gyakran platformfüggő megoldások). A fejlesztés befejeztével, az üzembe állítás után azonban előfordulhat, hogy alkalmazásunk kinövi az eredetileg tervezett kereteket. 1.1. Problémák Ilyenkor azzal a problémával találhatjuk magunkat szemben, hogy jó esetben hosszú évekre tervezett rendszerünk könnyen skálázhatósága érdekében a költségvetési szempontok figyelembe vételével esetleg platformot kellene váltani, amely akár az egész alkalmazás átírását is magával vonhatja. Szerencsésebb esetben a platformcsere szükségessége nélkül is megtörténhet, hogy az egyes alkalmazott technológiák eltűnnek a technológiai süllyesztőben, vagyis új, a korábbiakkal nem, vagy csak részben kompatibilis technológiák kerülnek előtérbe. Ez több problémát is felvet: egyrészt, a kifutó megoldások támogatása egy idő után megszűnhet, másrészt, a fejlesztőcsapatban tapasztalható fluktuáció, valamint a technológiák változásának sebessége együttesen azt okozhatja, hogy az újabb kollégák nem ismerik a régi technológiákat, amely nagymértékben megnehezíti az esetleges továbbfejlesztést. (Arról nem beszélve, hogy az újabb technológiák sok esetben hatékonyabb munkavégzést tennének lehetővé, tehát ebből a szempontból sem volna célszerű a régebbiekhez történő ragaszkodás.) 2. Követelmények Egy korszerű és időtálló tervezési/fejlesztési folyamatnak az alábbi irányelvek szerint kell(ene) elkészülnie. Mindez persze nem jelenti azt, hogy ezen elvek együttes alkalmazása nélkül ne lehetne jó rendszert készíteni, azonban a későbbi könnyebb módosíthatóság szempontjából ezek mind fontosak. 2.1. MVC Az 1.1 szakaszban említett problémák kiküszöbölése érdekében a tervezési folyamat során nagy hangsúlyt kell fektetni az adatok (vagyis a tartalom), az üzleti logika, valamint a megjelenítés különválasztására, amely lehetővé teszi ezen komponensek újrafelhasználását. Ez a jól ismert Model View Controller architekturális minta (Burbeck, 1992), amely azonban önmagában nem ad választ a fenti problémákra, hiszen egy adott platform egy adott technológiája esetén is alkalmazható (és alkalmazandó) módszer. 2.2. Modellvezérelt fejlesztés A modellvezérelt fejlesztés (Schmidt, 2006) legfontosabb alapvetése, hogy a tervezési/fejlesztési folyamatot különböző absztrakciós szintű modellek sorozatának előállításaként tekintjük. Ezek a modellek egymástól az általuk hordozott platforminformációkban térnek el. Elsőként az üzleti elemzők létrehoznak egy gépfüggetlen 2

modellt (Computational Independent Model, CIM), amely az üzleti logikát számítógéptől függetlenül reprezentálja, és ekképpen nem hordoz platforminformációt. Ennek alapján egy rendszerépítő előállítja azt a platformfüggetlen modellt (Platform Independent Model, PIM), amely az általános szoftverarchitektúrát írja le (ez lehet például egy szolgáltatásorientált architektúra is). Ez lesz majd az alapja a platformspecifikus modellre (Platform Specific Model, PSM) történő transzformációnak. A PSM-nek már minden, a telepíthető szoftverrendszer leírásához szükséges információt tartalmaznia kell. Végül kód és egyéb termékek generálása segítségével juthatunk a futtatható rendszerhez. Ez egy igen rugalmas, könnyen bővíthető architektúrát biztosít számunkra, hiszen egy-egy újabb technológiai platform megjelenése esetén az adott célplatformnak megfelelő PIM PSM és PSM kód transzformációkkal kell kibővítenünk a rendszert. 2.3. Szolgáltatásorientált architektúra Az egyes üzleti (rész)folyamatokat szolgáltatásokként kell tekinteni és megvalósítani. Ez egyrészt biztosítja a komponensek újrafelhasználhatóságának lehetőségét, másrészről pedig megengedi, hogy az egyes részfolyamatok akár különböző nyelveken íródjanak. Az ily módon létrejött szolgáltatásokból aztán egyre komplexebb szolgáltatások építhetők össze (Erl, 2008). Az üzleti logika leírására egy külön erre a célra kialakított szakterület-specifikus nyelv (Domain-Specific Language, DSL) segítségét vehetjük igénybe (Fowler, 2008). Egy ilyen nyelv a modellvezérelt fejlesztés terminológiája szerint a metamodellnek felel meg (hiszen segítségével az alkalmazásunk szakterületi modelljét adjuk meg), ezen nyelv nyelvtana pedig a meta-metamodell szerepét játssza. 2.4. Ontológia alapú szoftverfejlesztés Az újrafelhasználhatóságnak sok esetben egyik legnagyobb gátja az, hogy a már rendelkezésre álló komponensek között nehéz keresni: a rendelkezésre álló komponenstárakban gyakran csak kulcsszavak alapján lehet keresni, és az egyes szolgáltatások (leggyakrabban természetes nyelvi) leírásából sem derül ki pontosan, hogy az adott komponens megfelel-e az adott célnak, amely miatt fel szeretnénk használni. Ontológiák segítségével megfelelően dokumentálva az egyes komponenseket, lehetőség nyílik a szemantikus keresésre is. Az ontológiák szoftverfejlesztésben betöltött további potenciális szerepeiről bővebben (Happel, Seedorf, 2006) ír. 3. Szükségletek Mi mindenre van szükség egy, a fentebb felvázolt összetevőkből álló tervezési/fejlesztési folyamat előállításához? 3.1. Modellfajták A webalkalmazások tervezése során a CIM elkészítése után az alábbi modellek létrehozására van szükség: Szerkezeti modell, amely a szakterületi fogalmak objektumait és a közöttük lévő strukturális kapcsolatokat írja le; Navigációs modell, amely a webalkalmazás hálószerű szerkezetét hivatott reprezentálni; 3

Komponens modell, amelyben a funkcionálisan összetartozó fogalmakat reprezentáló osztályok nagyobb (újrafelhasználható ill. lecserélhető) logikai egységbe szervezését írja le; Megjelenítési modell, amely a felhasználói felület egy absztrakciója, és elemei kapcsolatban állnak a megjelenítendő komponensekkel. Minderről bővebb felvilágosítást (Adamkó, Kollár, 2008) nyújt. 3.2. Nyelvek A modellek leírásához szükségünk van egy modellező nyelvre: az UML igen elterjedt, és különféle diagramtípusaival az alkalmazást különböző szempontok szerint (pl. statikus és dinamikus modell) is leírhatjuk. Azonban az UML-lel kapcsolatban nem kerülhetünk meg egy igen fontos problémát: a benne leírt modellek gyakran csak informálisak, ráadásul sok esetben hiányosak. Ezek alapján pedig nehéz generálást végezni. Éppen ezért van szükség a 2.3 szakaszban leírtak szerint a szakterületi nyelv pontos definiálására, hiszen ekkor az abban megfogalmazott szakterületi modell (az MDA terminológiája szerint CIM) az összes lényeges és szükséges fogalmat leírja. A transzformációs folyamat eredményéül kapott (generált) webalkalmazás azonban szintén többféle technikával (PSM) készülhet: az üzleti objektumok EJB-k formájában tárolhatják a háttéradatokat, a megjelenítés pedig történhet akár szervletek vagy JSP-k segítségével, de az adattároló objektumok lehetnek akár POJO-k, a megjelenítés alapja pedig akár JavaFX is lehet. Mivel cél, hogy ne legyünk platformhoz kötve, ezért az egyes technológiák közé szükség van az XML nyelvre, amely az Internet lingua francajaként az adatreprezentációs köztes réteg szerepét tölti be. Mivel az UML nyelvhez rendelkezésre áll az XMI (XML Metadata Interchange) szabvány, amelynek segítségével UML modellek, metamodellek és metametamodellek is XML formátumban cserélhetők. Sajnos jelenleg ez a megoldás még az egyes fejlesztőeszközök inkompatibilitása miatt inkább elvi, mint gyakorlati szereppel bír, azonban az elkövetkező években alighanem előrelépést tapasztalhatunk majd ezen a területen. Az XML nyelvet azonban nemcsak a modellek reprezentációjára kell használnunk. Az üzleti réteg objektumai által hordozott adatokat szintén célszerű XML-ben tartanunk, hiszen így egyrészt a háttérben lévő adatbázissal kommunikáló adatelérést végző réteg szintén transzparensen cserélhető, valamint a webalkalmazások esetén a platform modell, vagyis maga a végső kód is XML formátumú, vagy XML nyelvek kompozíciójaként áll elő (pl. XHTML+XForms+SVG). Ez esetben technikai értelemben pusztán XML dokumentumok transzformációsorozataként (némi injekcióval) előállítható a kész webalkalmazás. 3.3. Eszközök A fejlesztés során szükség van egy integrált fejlesztői környezetre is, amelyben egyrészt a kiindulási modellek definiálhatók, másrészt támogatják a modelltranszformációk végrehajtását (ide értve a kódgenerálás lehetőségét is). Bár éppen a korábban említett XMI alkalmazása miatt akár más fejlesztőeszköz mellett is dönthetünk a modell elkészítésekor, választásunk mégis az Eclipse platformra esett, amely azon túl, hogy az egyik legszélesebb körben elterjedt ingyenes fejlesztőeszköz, plug-inek segítségével könnyen bővíthető. 4

4. Megoldások A fent említettek értelmében a tervezési folyamat tehát a szakterületi nyelv elkészítésével kezdődik, azonban ennek nem mindig kell így történnie. Olyan szakterületek esetében, amelyek leíró nyelvét már korábban elkészítették/elkészítettük, természetesen az adott nyelv újrafelhasználható más kérdés, hogy a szakterület fogalmainak pontos szemantikai értelmezéséhez nem árt, ha ontológiák segítségével pontosítjuk az egyes fogalmakat. Esetünkben a szakterületi nyelv leírására, ill. az az alapján történő modellezőeszközgenerálásra a Generic Eclipse Modeling System (White et al., 2007) alkalmas. Az ily módon létrejött modellezőeszköz (amely maga is egy Eclipse plug-in) segítségével a szakterületi modell leírása következik. Ez tulajdonképpen nem más, mint egy sztereotipizált UML osztálydiagram, vagyis ezzel a módszerrel gyakorlatilag egy UML profilt definiáltunk, amelynek példánya lesz a szerkezeti modellt leíró PIM. Ebből a modellből egy újabb Eclipse plug-in (hypermodel) segítségével a szakterületi viszonyokat ábrázoló W3C XML Schema dokumentumhoz jutunk. Az alkalmazásfejlesztés során szükséges gyors prototípusgenerálást az ezekből képzett XHTML-be ágyazott XForms űrlapok segítségével végezzük (PSM). Ennek segítségével olyan űrlapokat állítunk elő, amelyek kitöltésével és elküldésével a felhasználók könnyen a megadott szerkezetnek megfelelő XML dokumentumokat tudnak előállítani, anélkül, hogy észlelnék, hogy XML valójában XML dokumentumot szerkesztenek. Így kényelmesen megvalósítható az adatfelvitel, amelynek az adatintenzív alkalmazások esetén igen nagy szerepe van. (Mindemellett ezzel a módszerrel könnyedén lehet meglévő webszolgáltatások fölé grafikus felhasználói felületet húzni, és ilyen módon is növelni az újrafelhasználhatóságot). A későbbi terveink között szerepel egyéb PSM-ekre történő konverzió megvalósítása is, ám ennél lényegesebb feladat a navigációs modell kialakítása: ehhez a korábban PIM-ként létrejött modellből (ill. az mögötte meghúzódó Ecore-ból) a navigációhoz, mint szakterülethez tartozó szakterületi nyelv segítségével juthatunk el. 5. Lehetőségek Végeredményként tehát egy az alkalmazott alapelvek erejéhez és lehetőségeihez mérten meglehetősen egyszerű, XHTML-be ágyazott XForms alapú prototípust kapunk. Ez azonban csak a fejlesztés eme korai szakaszára igaz, hiszen az erős elméleti alapokra helyezett gondos tervezésnek köszönhetően a rendszer könnyen bővíthető. Újabb PIM PSM transzformációk segítségével újabb célplatformok válnak elérhetővé. Az itt felvázolt webalkalmazás-tervezési megközelítés azonban több egyéb irányba is kiterjeszthető. Az ontológiák felhasználásának szükségszerűsége manapság egyre égetőbb, ugyanis nélkülük csaknem lehetetlenné válik egy adott szakterületen a metametamodell szinten a szakterületi nyelvek összehasonlítása, amely gátja a szakterületi modellek, modellrészletek újrafelhasználhatóságának is. Itt mindenképpen érdemesnek tűnik további kutatásokat végezni az ontológia alapú szoftvertervezési módszerek témakörében. Egy másik fontos, de jelenleg általunk még nem vizsgált terület a modellellenőrzés (Müller-Olm et al., 1999). Amikor egy modellt előállítunk, biztosak szeretnénk lenni abban, hogy megfelel a vele szemben támasztott követelményeknek (amelyeket pl. logikai formulák segítségével állíthatunk elő). Ez a megközelítés az ontológiák alkalmazásával karöltve igen ígéretes lehet, ugyanis, amíg a jelenlegi modellellenőrző rendszerek csak a formális modellen 5

ellenőrzik a formalizált módon leírt követelmények teljesülését, az ontológiák alkalmazásával szemantikus információkat adhatunk meg modelleinkről, amelyek alapján következtető rendszerek segítségével akár az indirekt módon teljesített követelmények ellenőrzését is elvégezhetjük. Egy harmadik, de szintén ígéretes kutatási irány a minőségbiztosítással kapcsolatos: amíg a klasszikus szoftverfejlesztési módszerek esetén a szoftver minőségét a kód attribútumainak segítségével próbáltuk értelmezni (pl. kódsorok száma, ciklomatikus komplexitás, osztályok száma, stb.), addig modellvezérelt környezetben hasonló állításokat kell a modellekkel, ill. a modelleket újabb modellekké finomító transzformációkkal szemben megfogalmaznunk annak érdekében, hogy az elkészült termék minőségét valahogyan számszerűsíteni lehessen (Adamkó et al., 2007). Kidolgozásra várnak tehát azok a technikák, mérőszámok, amelyek hasznos információt képesek közölni egy-egy modell minőségéről. Irodalomjegyzék [1] Adamkó A., Arató M., Fazekas G., Juhász I. (2007) Performance Evaluation of Large- Scale Data Processing Systems. Proc. of the 7 th International Conference on Applied Informatics. [2] Adamkó A., Kollár L. (2008) MDA-based development of data-driven Web apllications. Proc. of the 4 th International Conference on Web Information Systems and Technologies, 252 255. [3] Burbeck S. (1992) Applications Programming in Smalltalk-80: How to use Model-View- Controller (MVC). http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html. [4] Erl T. (2008) SOA: principles of service design. Prentice-Hall, ISBN: 978-0132344821. [5] Fowler M. (2008) Domain Specific Languages. In preparation. http://martinfowler.com/dslwip/ [6] Happel H-J., Seedorf S. (2006) Applications of Ontologies in Software Engineering. Proc. of the 2 nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006). [7] Müller-Olm M., Schmidt D.A., Steffen B. (1999) Model checking: a tutorial introduction. Proc. of the 6 th Static Analysis Symposium, G. File and A. Cortesi, eds., Springer LNCS 1694, 330 354. [8] Schmidt D.C. (2006) Model-Driven Engineering, IEEE Computer, 39 (2), 25 31. [9] White J., Schmidt, Nechypurenko, Wuchner (2007) Introduction to the Generic Eclipse Modelling System. Eclipse Magazine, 6, 11 18. 6