Metamodel-based transformation-driven graphical tool building platform
View/ Open
Author
Vilītis, Oskars
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Kalniņš, Audris
Date
2009Metadata
Show full item recordAbstract
Pēdējo gadu laikā programmatūras izstrādē arvien lielāku popularitāti gūst modeļu balstītā pieeja (MDSD – Model Driven Software Development). MDSD tehnoloģijas pamatideja ir balstīt visu programmatūras izstrādes procesu uz katrai izstrādes fāzei atbilstošiem specializētiem modeļiem. Šie modeļi ne tikai dokumentē dažādus sistēmas aspektus, bet arī kļūst par tiešu programmatūras sastāvdaļu. Mūsdienu praksē MDSD modeļu aprakstam bieži izmanto specializētas modelēšanas valodas, sauktas par domēna (priekšmeta apgabala jeb lietojumsfēras) specifiskajām valodām (DSL – Domain Specific Language). Šīs valodas ļauj uzskatāmāk un efektīvāk aprakstīt kāda specifiska problēmas apgabala modeļus, izmantojot tieši konkrētajam apgabalam atbilstošu notāciju. Līdz ar MDSD ieviešanu praksē un lietojumu arvien jaunos problēmu apgabalos, rodas vajadzība radīt jaunas DSL. Lai jaunās DSL valodas varētu ērtāk lietot praksē, to atbalstam ir nepieciešami arī rīki – redaktori, kas atvieglo jaunradīto DSL programmu (modeļu) izstrādi. Šo valodu atbalsta rīku veidošana ir darbietilpīgs process, kas prasa daudz laika. Tādēļ pastāv aktuāla nepieciešamība atrast līdzekļus, kas paātrinātu un atvieglotu šo procesu. Viens no veidiem, kā atvieglot DSL rīku izstrādi, ir radīt universālu, uz metamodeļiem balstītu rīku izstrādes platformu, kas vienkāršo rīka definēšanu, veidojot atbilstību starp konkrētās DSL valodas metamodeli (domēna metamodeli) un konkrētā rīka metamodeli (prezentācijas metamodeli). Promocijas darba pētījumi ir veltīti tieši šai tēmai – universālu, uz metamodeļiem balstītu rīku izstrādes problemātikai, precīzāk, grafisko DSL redaktoru būves platformām. In software engineering the MDSD (Model Driven Software Development) approach has gained continuously increasing popularity in recent years. The basic idea of the MDSD technology is to drive the whole software development process by specialized models that correspond to each development phase. These models not only serve as documentation of various aspects of the system, but also become a direct constituent of the software. In practice, various specialized modeling languages are nowadays used for description of the MDSD models. These languages (called Domain Specific Languages or DSLs) allow describing models of some specific problem domain more clearly and effectively by using notation designed specifically for the given domain. Along with the introduction of MDSD in software development processes and its application to new problem domains, a constant need for creation of new DSLs arises. In order for the new DSLs to be practically usable, it is also mandatory to develop supporting tools, i.e., editors for the programs (models) of newly developed DSLs. Creation of such tools is a very time consuming process, which requires a lot of effort. Therefore, there is a need for some means of speeding up and easing the development of DSL tools. One way of making the development of DSL tools easier is using a supporting universal metamodel-based tool building platform that allows simplified tool definition by creating a correspondence between the metamodel of the DSL (domain metamodel) and the metamodel of the tool being built (presentation metamodel). The research leading to this thesis is devoted exactly to this topic: universal metamodel-based tool building platforms, or to be more precise, to graphical DSL building platforms.