Betrachten wir im folgenden welche Möglichkeiten UML für einen Zustandswechsel vorsieht.
Wie wir gesehen haben, besteht die Beschriftung einer Transition aus drei Teilen. Bei einem Ereignis kann es sich z.B.
um eine Abfrage der Maus oder Tastatur handeln. Wenn das Ereignis "Anwender hat die Abbrechen-Taste gedrückt" erfüllt ist,
wird ein Zustandswechsel durchgeführt. Man sagt auch die Transition schaltet oder die Transition feuert.
Das Ereignis kann auch an eine Bedingung geknüpft werden. Man kann sich leicht vorstellen, dass ein Anwender persönliche Angaben in ein Formular
eingegeben hat und nun den "Weiter - Button" drückt. Eine Routine überprüft, ob die Eingaben korrekt sind (z.B. gültige Email Adresse) und gibt den entsprechenden Booleanwert
zurück. Die Transition schaltet nur dann, wenn die Bedingung, die an das Ereignis geknüpft ist, zutrifft. Hat der Anwender z.B. seine Kundendaten
aktualisiert, könnte im Anschluß die Aktion kundenDatenAktualisieren(Parameter) aufgerufen werden. Das vereinfachte Zustandsdiagramm sieht so aus:

Abbildung 6 : Ereignis
Bedingungen werden als guard condition bzw. Überwachungsbedingung oder auch als Wächter bezeichnet.