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 l'uso di una serie di strumenti ad hoc, quali stereotipi e tagged value.

Il consorzio OMG, che gestisce lo standard UML, che gestisce anche un insieme di profili, detti "profili standard". Fra i profili standard si possono citare quello per sistemi 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) non standard.

Definizione di Profilo

Attualmente, lo standard UML non fornisce alcuna definizione ufficiale del concetto di Profilo. L'analisi delle specifiche identificate da OMG come "Profili standard" consente comunque di rilevare quali sono gli elementi che costituiscono di norma un profilo:

  • 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
  • introduce nuovi "elementi standard" che possono essere stereotipi, tagged value e vincoli aggiuntivi rispetto a quelli standard presenti in UML
  • introduce informazioni semantiche aggiuntive (in linguaggio naturale) relative agli elementi standard aggiuntivi o agli elementi di UML il cui uso è consentito nel contesto del Profilo.

Collegamenti esterni