Ein Profil (engl. profile) ist zum einen ein Modellelement der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme, und zum anderen eine konkrete Erweiterung des UML2-Metamodells basierend auf dem leichtgewichtigen Erweiterungsmechanismus der Profile. Für Letzteres wird oft der Begriff UML-Profil verwendet, beispielsweise beim UML-Profil für Enterprise JavaBeans.
UML-Profile werden für spezielle Anwendungsdomänen erstellt. Sie stellen die Grundlage der modellgetriebenen Architektur und anderer modellgetriebener Softwareentwicklungs-Ansätze dar, indem sie die Formalisierung von Domänenmodellen ermöglichen.
Beschreibung
Ein Profil wird als Paket mit dem Schlüsselwort «profile»
dargestellt.
Ein Profil ist eine Spezialisierung von Paket und umfasst zwei Arten von Elementen:
- eine Menge von Stereotypen, das heißt elementaren Erweiterungen des Metamodells der UML2
- eine Menge von Paketimporten für Pakete aus dem Metamodell der UML2
Die entscheidenden Elemente eines Profils sind die elementaren Erweiterungen des Metamodells der UML2, siehe Stereotyp.
Profile anwenden
Profile werden im Allgemeinen auf Pakete, meistens aber auf Modelle als Spezialisierung von Paket, angewendet. Die Profilanwendung ist eine Spezialisierung des Paketimports, sie etabliert deshalb eine spezielle Abhängigkeitsbeziehung zwischen einem Paket und einem Profil. Die Abhängigkeit besteht in zweierlei Hinsicht. Erstens importiert das Paket alle Elemente aus dem Profil. Falls das Profil zum Beispiel einen Aufzählungstyp Farbe
definiert, kann das Paket Farbe
als Attribut-Typ verwenden. Zweitens kann das Paket alle Stereotypen, die im Profil definiert sind, einsetzen.
Eine Profilanwendung wird als gestrichelte Linie mit offener Pfeilspitze auf der Seite des Profil gezeichnet. Sie unterscheidet sich von anderen Abhängigkeitsbeziehungen durch das Schlüsselwort «apply»
.
Beispiele für UML-Profile
Die UML 2.0 Superstructure Specification definiert vier UML-Profile für Industriestandards im Bereich Softwarekomponenten, nämlich je ein UML-Profil für die Modellierung von Enterprise Java Beans (EJBs), von .NET-Komponenten, von Komponenten des Component Object Model (COM) und schließlich von Komponenten des Corba Component Model (CCM).
Siehe auch
Weblinks
- Stefan Queins, Chris Rupp: Profile helfen bei der Arbeit mit UML. Computerwoche, 1. März 2006, abgerufen am 6. November 2011.
Einzelnachweise
- ↑ Software & Systems Process Engineering Metamodel Specification (SPEM) Version 2.0. Abgerufen am 6. November 2011 (englisch).