Che cos’è e differenza tra Metamodello e l’UML (Unified Modeling Language)

Che cos’è e differenza tra Metamodello e l’UML (Unified Modeling Language)

Il metamodeling è un approccio di modellazione che trae le sue regole dalla distinzione tra il concetto di modello e quello di metamodello.

Un modello UML è una rappresentazione che cattura gli aspetti importanti di tutto ciò che si vuole modellare, da un certo punto di vista e sotto certe limitazioni. Un modello è strutturato in diagrammi (Diagrammi UML), i quali rappresentano il mezzo grafico di espressione. Un modello consiste di tre categorie di elementi:

  1. i classificatori (Classifiers): descrivono un insieme di oggetti. Un oggetto è un’entità individuale con uno stato e delle relazioni con altri oggetti.
  2. gli eventi (Events): descrivono un insieme di possibili occorrenze. Un’occorrenza è qualcosa che accade ed ha conseguenze all’interno del sistema.
  3. le azioni (Behaviors): descrivono un insieme di possibili esecuzioni. Un’esecuzione rappresenta il compimento di un algoritmo in accordo con un insieme di regole.

Che cos'è e differenza tra Metamodello e l'UML (Unified Modeling Language)

I diagrammi UML invece contengono gli elementi grafici che rappresentano elementi del modello. Per esempio, due classi associate definite all’interno di un package diagram, sono due tipologie di classificatori e sono rappresentate da due simboli di forma rettangolare ed un collegamento che rappresenta il simbolo di associazione.

Quando si definisce un modello è possibile utilizzare diagrammi noti per specifici scopi, un esempio sono i Pattern. I pattern descrivono modalità comuni di progettazione e vengono raccolti in modo da identificare svariate tecniche applicabili a più situazioni. Un esempio molto famoso e utile nella definizione di un sistema, visto come composizione di componenti hardware e software, è il pattern Composite. Tale pattern è di tipo strutturale e consente di creare gerarchie di oggetti aggregando insieme elementi primitivi e compositi direttamente a run-time. Questo pattern può essere applicato per rappresentare strutture ad albero in una logica parte-tutto (part-whole), dove ciascun elemento può a sua volta aggregare insieme altri elementi della stessa specie e dove oggetti singoli e composizioni possono essere trattati in modo uniforme.

L’UML, in quanto linguaggio di specifica, viene definito come un metamodello tramite il quale gli utenti possono definire i loro modelli. Un metamodello fornisce le basi per realizzare dei modelli, definendo una specifica struttura. Un metamodello è un tipo di modello che specifica la sintassi astratta di un linguaggio di modellazione. Consiste tipicamente di metaclassi che sono o importate o locali. In pratica un modello è un’istanza di un metamodello. Allo stesso modo anche il Meta Object Facility (MOF), in quanto linguaggio di specifica dell’UML, può definirsi un metamodello.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *