|  |  |
| --- | --- |
|    | **Šį puslapį ar jo dalį reikia sutvarkyti pagal Vikipedijos standartus.**Jei galite, sutvarkykite. |

**Metamodeliavimas** – veikla, kurios vienas iš rezultatų yra metamodelio sukūrimas. Metamodeliavimas yra artimas modeliavimui, tokiam kaip objektinis modeliavimas ar net klimato modeliavimas tuo, kad yra sukuriami modeliai, t. y. metamodeliai.

Kas yra metamodeliavimas?
-------------------------

Metamodeliavimas – tai koncepcija iš kompiuterių mokslo srities ir su ja susijusių disciplinų. Metamodeliavimo sinonimai iš įvairių dalykinių sričių: semantinis modeliavimas, paprastos schemos kūrimas ar net dalykinės srities standartizavimas. Metamodeliavimas gali būti laikomas kaip išreikštinis aprašymas (dariniai (angl. *constructs*) ir taisyklės) kaip yra sukurtas tam tikros srities modelis. Konkrečiai, tai yra formali specifikacija iš konkrečios dalykinės srities notacijų.
Bendriausiu atveju, metamodeliavimas yra analizė, rėmų, taisyklių, ribojimų, modelių ir teorijų kūrimas ir vystymas, kurios gali buti pritaikytos ir naudingos tam tikros problemų klasės modeliavimui. Šio koncepto apibrėžimas sudarytas iš dviejų terminų, meta - ir modeliavimas.
Meta – reiškia abstraktesnį lygmenį, informaciją apie terminą.

Apžvalga
--------

Dėl simbolio „meta" iš metamodeliavimo, ši veikla ir metamodeliai yra metamokslo, metafilosofijos, metateorijų ir sistematikos mokslų objektai.
Iš skaičiavimo mokslo pusės, šis koncepcija yra naudojama matematikoje ir praktiškai taikoma kompiuterių moksle ir kompiuterinėje inžinerijoje, kas daugiausia ir bus pažymėta šiame tekste.
Kompiuterių moksle ir susijusiose disciplinose, metamodeliavimas yra „koncepcijų" (dalykų, daiktų, terminų ir t. t.) aibės konstravimas tam tikroje dalykinėje srityje. Modelis yra tam tikro realaus pasaulio fenomeno abstrakcija, o metamodelis yra dar viena abstrakcija, charakterizuojanti paties modelio savybes. Sakoma, kad šis modelis atitinka savo metamodelį kaip ir programa atitinka programavimo kalbos gramatiką, su kuria ji buvo parašyta. Dažniausiai pasitaikantis metamodelių panaudojimas:

* Kaip schema semantiniams duomenims keistis ar saugoti.
* Kaip kalba palaikanti tam tikrą metodą ar procesą.
* Kaip kalba norint išreikšti papildomą jau žinomos informacijos semantiką.

Metamodeliavimo koncepcijos
---------------------------

Metamodeliavimo koncepcijos:

* Tvarkingos veiksmų sekos (angl. *Sequential activities*)
* Netvarkingos veiksmų sekos
* Vienu metu vykstantys veiksmai
* Sąlyginiai veiksmai
* Procesų duomenų diagrama

Metamodeliavimo procesas
------------------------

Sukurti metamodelį kalbai nėra trivialus uždavinys. Tai priklauso nuo apibrėžiamos kalbos sudėtingumo. Tačiau tai gerai apibrėžtas, iteracinis procesas:

* abstrakčios sintaksės apibrėžimas
* metamodelio teisingumo (angl. *well - formedness*) taisyklių apibrėžimas
* konkrečios sintaksės apibrėžimas
* semantikos apibrėžimas
* ryšių su kitomis kalbomis konstravimas

Metaduomenų modeliavimas
------------------------

Metaduomenų modeliavimas yra tam tikra metamodeliavimo rūšis programų inžinerijoje ir sistemų inžinerijoje. Ji naudojama modelių analizei ir konstravimui, kuriuos galima taikyti ir yra naudingi tam tikroje iš anksto žinomoje problemų klasėje

Šaltiniai
---------

* What is metamodeling, and what is it good for? Archyvuota kopija 2006-12-07 iš Wayback Machine projekto. Žiūrėta 2007-09-25.
* Meta-Modeling Metamodeliavimas (anglų kalba)

Bibliografija
-------------

* Clark T. Evans A. Sammut P. Willians J.(2004).*Applied Metamodelling: A Foundation for Language-Driven Development*. Pasiekiama