Profilo UML
# Profilo UML

Un Profilo UML (UML Profile) è una estensione del linguaggio di modellazione a oggetti UML che risponde alle necessità di modellazione legate a particolari domini applicativi o tipologie di applicazioni. Il meccanismo di estensione del linguaggio UML è parte integrante dello standard del linguaggio stesso, e prevede la definizione e l'uso di una serie di appositi concetti, come stereotipi e tagged value.

Il consorzio OMG, che gestisce lo standard UML, ha pubblicato anche un insieme di profili, detti "profili standard" fra i quali quello per CORBA, per il CORBA Component Model (CCM), per le applicazioni con requisiti di Quality of Service (QoS) e fault tolerance, e altri. Numerosi contributi indipendenti da OMG hanno poi definito altri profili (per esempio per applicazioni Web, per l'analisi prestazionale, per sistemi mobili).

## Definizione di Profilo

Attualmente, lo standard UML non fornisce alcuna definizione ufficiale del concetto di Profilo. In genere, un profilo è caratterizzato da uno o più dei seguenti elementi:

* l'identificazione di un sottoinsieme di UML (ovvero, il Profilo potrebbe vietare l'uso di alcuni elementi del linguaggio)
* l'identificazione di regole che specificano quando un modello del Profilo si debba considerare "ben formato" (well formedness rules). Queste regole avranno la forma di vincoli aggiuntivi (rispetti a quelli definiti da UML standard) che restringono le possibilità di uso e composizione degli elementi del linguaggio. Le regole possono essere specificate in linguaggio naturale o nel linguaggio logico-formale associato a UML, OCL
* l'introduzione di stereotipi, tagged value e vincoli aggiuntivi rispetto a quelli standard presenti in UML
* l'introduzione di informazioni semantiche aggiuntive (in linguaggio naturale) relative agli elementi aggiuntivi o agli elementi di UML il cui uso è consentito nel contesto del Profilo
* un insieme di elementi di modello predefinito, istanza dei costrutti UML standard o di quelli aggiuntivi.

Il documento UML Profile for CORBA Specification è stato il primo documento di specifica di Profili standard pubblicato da OMG, e raccoglie alcune definizioni e concetti introduttivi sulla struttura di un Profilo e temi correlati.

