UML (Ebene M2) legt die Regeln für seine eigene Semantik fest. Die Spracheinheiten sind Begriffe, die in der UML 2.0 Superstructure definiert werden. Das ermöglicht eine formale Darstellung, die alle Beteiligten verstehen können. Spracheinheiten, im Englischen language units, abstrahieren ähnlich aufgebaute und funktionierende Objekte und Prozesse und geben ihnen eine visuell darstellbare Form. Je nach Hierarchie-Ebene innerhalb des Modells übernehmen Elemente weiter spezialisierte Aufgaben oder definieren andere Elemente näher.
Klasse: Als Spracheinheit sind Klassen ein Kernaspekt von UML. Sie definieren, was eine Klasse ausmacht und wie Klassen miteinander interagieren. Diese language unit hat vier Ebenen, die von simplen Elementen bis zu komplexeren Beziehungen reichen:
- Kernel (beschreibt Elemente aus der UML 2.0 Infrastructure wie Paket, Namensraum, Attribut etc.)
- AssociationClasses (definiert Assoziationsklassen)
- Interfaces (definiert Schnittstellen)
- Powertypes (Klasse, deren Instanzen Subklassen innerhalb dieser Klasse sind)
Komponente: Komponenten sind Bestandteile, die ihren Inhalt vom äußeren System abgrenzen. Nur durch Schnittstellen oder Ports besteht eine Verbindung nach außen. Ein Kompositionskonnektor stellt über die Schnittstelle eine Verbindung mit einer anderen Komponente her. Der Delegationskonnektor verknüpft innere Elemente mit einer Schnittstelle an der Außengrenze. Komponenten sind modular aufgebaut und austauschbar.
Kompositionsstruktur: Die Spracheinheit Kompositionsstruktur beschreibt Elemente, die wie Komponenten nach innen und außen abgeschirmt sind. Nur Ports verbinden den Inhalt mit dem äußeren System. Die sogenannten gekapselten Classifier setzen sich aus Elementen, den Parts, zusammen. Parts kommunizieren über Konnektoren.
Profil: Ein Profil konfiguriert UML 2.0 für bestimmte Bedürfnisse. Abstrakte Begriffe wie Aktivität oder Objekt müssen für manche Projekte spezifiziert werden, um das Verständnis zu erhöhen. Stellenweise locker gesetzte Semantik und Notationen passen Sie mit einem Profil an.
Modell: Das Modell umfasst alle Elemente, die dazu nötig sind, eine spezifische Sicht auf Struktur oder Verhalten eines Systems darzustellen. Dazu gehören auch externe Einflüsse wie Akteure.
Aktion: Wenn es darum geht, Verhalten darzustellen, sind Aktionen von zentraler Bedeutung. Sie nehmen Werte über Eingabepins auf und geben sie an Ausgabepins aus. Das sind die thematischen Gruppen, die UML für Aktionen festsetzt:
- Objekte manipulieren
- Objektbeziehungen manipulieren
- Strukturmerkmale manipulieren
- Aufruf-Aktionen
- Werte erzeugen
- Aktionen auf Objekten
- Empfangen von Ereignissen
Verhalten: Die Spracheinheit Verhalten bzw. Verhaltensbeschreibung meint die Modellierung von dynamischen Aspekten innerhalb eines Systems. Sie umfasst drei Spezifikationen:
- Aktivität: Aktionen interagieren durch Daten- und Kontrollflüsse. Dadurch ergibt sich ein komplexes System von Verhaltensweisen – die Aktivitäten.
- Interaktion: Dieses Metamodell beschreibt, wie Nachrichtenflüsse zwischen Objekten ausgetauscht werden, wann eine Nachricht an welches Objekt gesendet wird und welche anderen Elemente dadurch beeinflusst werden.
- Zustandsautomaten: In einem Zustandsdiagramm modelliert dieses Metamodell Zustände (Situationen mit unveränderbaren Eigenschaften) sowie Pseudo-Zustände (Zustände ohne Wertebelegung) und deren Übergänge. Objekte in einem Zustand können Aktionen bzw. Aktivitäten zugeordnet werden.
Verteilung: Ein Netzwerk besteht aus Objekten, die miteinander in Maschen verbunden sind. Ein spezieller Anwendungsfall besteht, wenn diese Elemente lauffähige Software bzw. Artefakte darstellen. Diese Artefakte laufen auf Ausführungsumgebungen oder Geräten, die UML 2.0 als Knoten kategorisiert. Das Artefakt steht daher in Abhängigkeit zum Knoten. Die Verteilung stellt diese Abhängigkeitsbeziehung dar, die bei der Installation entsteht.
Anwendungsfall: Der Anwendungsfall (als Spracheinheit) stellt Systemanforderungen dar. Der Akteur (eine Person oder ein System) ist ein Element, das beschreibt, wer oder was eine bestimmte Aktivität mithilfe des Systems ausführen soll. Das System kann auch eine Klasse oder Komponente sein und wird daher als Subjekt beschrieben. Der Anwendungsfall (als Modellelement) teilt lediglich mit, dass ein genanntes, nach außen für Akteure sichtbares Verhalten erwartet wird. Die genauen Aktionen stellt es normalerweise nicht dar. Innerhalb einer Verhaltensbeschreibung ordnet die Modellierung die detaillierten Anforderungen dem Anwendungsfall zu.
Informationsflüsse: Diese UML-Spracheinheit beschreibt die Elemente Informationseinheit und Informationsfluss. Diese Modellelemente abstrahieren Techniken zur Verhaltensbeschreibung, die sehr detailorientiert sein können, wie Aktivitäten oder Interaktionen. Diese vereinfachte Darstellung erlaubt den universellen Einsatz dieser Modellierungselemente in allen UML-Diagrammtypen. Die Informationseinheit wird daher, im Gegensatz zur Klasse, nie näher durch Attribute beschrieben oder in Methoden eingebunden. Der Informationsfluss verbindet deshalb auch alle möglichen Elemente, die irgendeine Art von Informationen miteinander austauschen.