Metamodellazione
![Niente fonti!](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Question_book-4.svg/45px-Question_book-4.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/93/M0-m3.png/220px-M0-m3.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Mason-ontology.png/220px-Mason-ontology.png)
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.
Voci correlate
- Ingegneria guidata dal modello
- Architettura guidata dal modello
- Domain Specific Language (DSL)
- Domain Specific Modeling (DSM)
- Kermeta
- MetaCASE tool
- Analisi dei requisiti
Altri progetti
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Metamodellazione
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)