Ein Pin (von engl. Pin für "elektronischer Stiftkontakt") ist ein Modellelement in der Unified Modeling Language, einer Modellierungssprache für Software und andere Systeme. Es wurde in der Version Unified Modeling Language 2.0 (UML2) eingeführt.
Dieses zu den Objektknoten gehörende Modellelement wird im Zusammenhang mit Aktionen verwendet. Er spielt dort die Rolle einer Andockstelle. Man unterscheidet zwischen Eingabepins (engl. InputPin), die der Aktion Werte zur Verfügung stellen, und Ausgabepins (engl. OutputPin), an die die Aktion Werte abgibt.
Der Wertpin (engl. ValuePin) und der Aktionseingabepin (engl. ActionInputPin) sind Spezialfälle des Eingabepins. Ein Wertpin stellt der Aktion einen konstanten Wert zur Verfügung, während ein Aktionseingabepin eine andere Aktion evaluiert und das Resultat davon an die Aktion übergibt, mit der er als Eingabepin verbunden ist.
Notation
Pins werden mit einem kleinen Quadrat am Rand des Aktionssymbols gezeichnet. Wenn nichts anderes angegeben ist, sind die Pins am linken Rand meistens Eingabe- und diejenigen am rechten Rand Ausgabepins. Pins können einen Namen haben, der in der Nähe des Pins gezeichnet wird.
Mit einem Pfeil im Innern des Pins kann man Eingabepins explizit von Ausgabepins unterscheiden.