UML (livello M2) stabilisce le regole per la propria semantica. Le unità linguistiche sono concetti che vengono definiti nella sovrastruttura UML 2.0. Ciò consente una rappresentazione formale che tutti gli interessati possono capire. Le unità di linguaggio, in inglese language units, astraggono in modo simile oggetti e processi costruiti e funzionanti, dando loro una forma visivamente rappresentabile. A seconda del livello gerarchico all’interno del modello gli elementi assumono ulteriori compiti specializzati o definiscono altri elementi vicini.
Classe: come unità linguistica le classi sono un aspetto fondamentale dell’UML. Esse definiscono che cosa rende tale una classe e come interagiscono tra loro le diverse classi. Questa language unit ha quattro livelli che vanno dagli elementi semplici fino alle relazioni più complesse:
- Kernel descrive gli elementi dell’infrastruttura UML 2.0 come pacchetto, nome, attributo, ecc.;
- AssociationClasses definiscono le classi di associazione;
- Interfaces definisce le interfacce;
- Powertype è una classe le cui istanze sono sottoclassi all’interno di questa classe.
Componente: i componenti sono parti costitutive che limitano il proprio contenuto dal sistema esterno. Solo attraverso interfacce o porte c’è un collegamento verso l’esterno. Un connettore di composizione si connette a un altro componente attraverso l’interfaccia. Il connettore di delega collega gli elementi interni con un’interfaccia sul confine esterno. I componenti sono modulari e intercambiabili.
Struttura di composizione: la struttura di composizione dell’unità linguistica descrive elementi che sono schermati come componenti all’interno e all’esterno. Solo le porte collegano il contenuto al sistema esterno. I cosiddetti classificatori incapsulati sono composti da elementi, le parti, che comunicano tramite connettori.
Profilo: un profilo configura UML 2.0 per esigenze specifiche. Termini astratti come attività o oggetto devono essere specificati per alcuni progetti per aumentare la comprensione. In alcuni casi è possibile personalizzare la semantica e le annotazioni su un profilo.
Modello: il modello comprende tutti gli elementi necessari a rappresentare una specifica visuale della struttura o del comportamento di un sistema. Vi appartengono anche influssi esterni come attori.
Azione: quando si tratta di rappresentare comportamenti, le azioni sono di vitale importanza, poiché registrano i valori tramite i pin di input e li inviano ai pin di output. Questi sono i gruppi tematici che l’UML imposta per le azioni:
- Manipolazione degli oggetti
- Manipolazione delle relazioni oggettuali
- Manipolazione delle caratteristiche strutturali
- Azioni di visualizzazione
- Creazione di valori
- Azioni sugli oggetti
- Ricezione di eventi
Comportamenti: il comportamento dell’unità linguistica o la descrizione comportamentale suppone la modellazione di aspetti dinamici all’interno di un sistema. Comprende tre specifiche:
- Attività: le azioni interagiscono attraverso flussi di dati e di controllo. Ciò si traduce in un complesso sistema di comportamenti, le attività.
- Interazione: questo metamodello descrive come avvengano gli scambi di messaggi tra oggetti, quando un messaggio viene mandato a un determinato oggetto e quali altri elementi ne sono influenzati.
- Diagramma di stato: in un diagramma di stato, questo metamodello modella stati (situazioni con proprietà immodificabili) e pseudo-stati (stati senza assegnazione di valore), nonché le loro transizioni. Gli oggetti in uno stato possono essere assegnati ad azioni o attività.
Distribuzione: una rete è composta da oggetti collegati tra loro in un mesh. Un caso speciale di applicazione è quando questi elementi rappresentano software eseguibili o artefatti. Queste risorse vengono eseguite su ambienti di esecuzione o dispositivi che categorizzano UML 2.0 come nodo. L’artefatto è perciò dipendente dai nodi. La distribuzione rappresenta questo rapporto di dipendenza che si verifica durante l’installazione.
Casi di applicazione (o d’uso): il caso di applicazione o d’uso (come unità linguistica) rappresenta i requisiti di sistema. L’attore (una persona o un sistema) è un elemento che descrive chi o cosa dovrebbe svolgere una determinata attività utilizzando il sistema. Il sistema può anche consistere in una classe o in un componente ed è descritto come soggetto. Il caso di applicazione (come elemento del modello) afferma solamente che è previsto un comportamento denominato che è visibile agli attori dall’esterno. Solitamente non rappresenta le azioni esatte: all’interno di una descrizione comportamentale, la modellazione associa i requisiti dettagliati al caso di applicazione.
Flussi di informazione: questa unità di linguaggio UML descrive l’unità di informazioni sugli elementi e il flusso di informazioni. Questi elementi del modello descrivono tecniche di descrizione comportamentale che possono essere particolarmente orientate ai dettagli, come attività o interazioni. Questa rappresentazione semplificata consente l’utilizzo universale di questi elementi di modellazione di tutti i tipi di diagrammi UML. L’unità di informazione non è perciò mai descritta in dettaglio attraverso attributi o incorporata in metodi, a differenza della classe. Il flusso di informazioni quindi collega anche tutti gli elementi possibili che scambiano qualsiasi tipo di informazione.