UML-Profil

UML-Profile dienen der Spezialisierung des bestehenden Sprachumfangs der Unified Modelling Language (UML), um diese zur Modellierung spezifischer technischer oder fachlicher Domänen ergänzen zu können. So gibt es bereits eine Reihe von weiterführenden Profilen, die sowohl auf die Besonderheiten bestimmter Technologien oder spezifischer Anwendungsbereiche eingehen. Dazu hat auch das Industriekonsortium Object Management Group (OMG) als verantwortliche Institution für die Standardisierung der UML einige Profile definiert. Mit den notwendigen Kenntnissen und der unbedingten Beachtung einiger Regeln kann allerdings auch jeder Anwender ein Profil definieren. Dabei ändern UML-Profile generell nicht das Metamodell auf dem M2-Level des von der OMG definierten Schichten-Modells. Die Erweiterung des Metamodells auf dem M1-Level erfolgt vielmehr durch Reifikation. Damit ist ein Profil gleichzeitig ein UML-Modell und Erweiterung des Metamodells.


Zur Realisierung von Profilen werden existierende Erweiterungsmechanismen der UML benutzt, die auch kompatibel mit den Modelling-Tools sind. Somit sind UML-Profile in ihrer Semantik detaillierter, aber weiterhin auch konsistent zur UML-Semantik. Man spricht auch davon, dass Profile die UML um sogenannte leichtgewichtige Änderungen erweitern. Damit wird zum Ausdruck gebracht, dass sich das Metamodell der UML anhand vorgegebener Konstrukte erweitern oder einschränken lässt. Der Import sowie Export von Profilen erfolgt mittels XML Metadata Interchange (XMI).

Die verschiedenen UML-Profile

Der Anwender von UML-Profilen muss sich zuvor darüber im Klaren sein, dass diese den Sprachumfang der UML individuell ergänzen und sichergestellt sein muss, dass andere Nutzer beispielsweise im Bereich von Software-Architekturen oder projektbezogener Spezialisierungen die Profile ebenso verstehen können müssen. Bereits von Haus aus umfasst die UML-Definition zwei weiterführende Standard-Profile. In denen sind beispielsweise spezielle Typen von Artefakten sowie Komponenten definiert.

UML-Profile 
   im Metamodell

UML-Profile im Metamodell

Wie aus der Abbildung zu erkennen, sind UML-Profile eine Ausweitung in der M2-Ebene des UML-Metamodells. Ebenso gibt es für das Common Warehouse Metamodell (CWM) Profile zur Erweiterung des Umfangs an Funktionalität - beispielsweise das OLAP Profil. Die Architektur der OMG sieht vor, aus bereits bestehenden Profilen wiederum anwendungsspezifische Profile abzuleiten. Dabei gibt es verbindliche Regeln zum Erstellen von Profilen. Ein UML-Profil

  • darf der semantischen Bedeutung der existierenden UML-Elemente nicht widersprechen,
  • muss selbst ein austauschbares UML-Modell sein,
  • ist aus Stereotypen, Constraints sowie Tagged Values aufgebaut,
  • soll existierende relevante Elemente für eine bessere Übersicht darstellen - das können Bibliotheken, Definitionen von Typen oder Modelle sein,
  • soll die Verknüpfung von Profilen zu einem neuen Profil berücksichtigen,
  • kann Regelungen zur grafischen Darstellung von Stereotypen enthalten,
  • soll dynamisch austauschbar sowie wiederverwendbar sein.
Zur Verdeutlichung noch einmal kurz folgende Definitionen:

Stereotypen. Das sind Mechanismen mit denen sich die Bedeutung und Darstellung der UML ergänzen lässt. Sie sind abgeleitet von Elementen des UML-Metamodells oder von Standardelementen.

Tagged Values. Speichern Informationen über ein Element und sind die Eigenschaften von Stereotypen.

Constraints. Drücken Einschränkungen aus und sind verfasst in einer informellen Sprache wie Pseudocode oder der Object Constraint Language (OCL).

Wie auch in der Abbildung gezeigt gibt es bereits eine Reihe von weiterführenden Profilen, auf die der Anwender zurückgreifen kann. Nachfolgend sind diesbezüglich einige Beispiele angegeben. Hier zeigt sich dann, dass diese sowohl auf die Besonderheiten einer Domäne oder auch auf eine speziell eingesetzte Technik eingehen.

http://www.omg.org

http://www.uml.org

Informationen zum Artikel
Deutsch: UML-Profil
Englisch: UML profile
Veröffentlicht: 28.10.2013
Wörter: 657
Tags: #Entwicklung, Codierung
Links: .NET, Architektur, Artefakt, Asynchron, Bibliothek