Metamodellazione
# Metamodellazione

La metamodellazione o meta-modellazione (in inglese Metamodeling), in ingegneria del software e in ingegneria dei sistemi è l'analisi, la costruzione e lo sviluppo di strutture, regole, vincoli, modelli e teorie applicabili e utili per la modellazione di classi predefinite di problemi.

La metamodellazione consiste nella costruzione di una collezione di concetti all'interno di un certo dominio. Un modello è un'astrazione di fenomeni in un mondo reale: un metamodello è un'ulteriore astrazione, che evidenzia proprietà del modello stesso. Un modello è conforme al suo metamodello alla stessa maniera in cui un programma per computer è conforme alla grammatica del linguaggio di programmazione in cui è scritto.

Domini in cui sono usati i metamodelli:

* Uno schema per i dati semantici che hanno necessità di essere scambiati o memorizzati
* Un linguaggio che supporta un particolare metodo o processo
* Un linguaggio per esprimere semantiche addizionali all'informazione esistente

Uno dei rami più attivi dell'ingegneria guidata dal modello è l'approccio chiamato architettura guidata dal modello proposta dalla OMG. Il linguaggio per scrivere metamodelli è chiamato Meta Object Facility o MOF. L'OMG ha proposto alcuni metamodelli, tra cui: UML, SysML, SPEM o CWM. La ISO ha anche pubblicato il metamodello standard ISO/IEC 24744.

