Folgende Definitionen können verwendet werden
um Interfaces zu modellieren:
Dabei stellt der rechte Teil (als Beispiel ein ProximitySensor)
ein Interface zur Verfügung. Dies ist als Kreis gezeichnet und benannt
(ISensor).
Der linke Teil benötigt (will verwenden) ein
Interface vom Typ ISensor. Er hat deshalb einen benannten Halbkreis als
Symbol.
Die Teile können zusammengefügt werden
und passen auch Symbolisch zueinander.
Diese Notation ist übersichtlich und recht intuitiv,
wird jedoch derzeit noch von keinem UML Tool unterstützt.
Mangels Toolunterstützung wird häufig die links dargestellte
Notation verwendet.
Der „ProximitySensor“ ist vom Interface abgeleitet – er erbt alle Aufgaben
und Definition (das Vertragswerk) welche erfüllt werden müssen
und muss diese implementieren.
Der „TheftAlarm“ verwendet den ISensor über eine normale gerichtete
Assoziationt.
Die UML Spezifikation schlägt vor, diese Interfaceklassen über
den Stereotyp <<interface>> zu kennzeichnen.
Leider beachten die heutigen UML Tools diesen Stereotyp nicht beim Erzeugen
des Sourcecodes (es wird eine class statt einem interface erzeugt).
Together verwendet eine eigenständige Klassendefinition mit dem Namen
interface (statt Stereotyp).
Die durch die unterschiedliche Auslegung entstehende Unklarheit verhindert
den Modellaustausch zwischen den UML Tools.