title: Metamodellazione
text: # 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.
  
  