# Sequenz Diagramme gehören in die Kategorie der Verhaltensdiagramme in UML Beispiel:  ## Time - Zeit läuft von oben nach unten - Abstand zwischen den einzelnen Elementen hat nichts mit der Dauer derer zu tun ## Participants - Repräsentieren den Teil des Systems, welcher miteinander interagiert - Jeder Teilnehmer hat eine lifeline ### Participant Names - Format: _role [selector] : class_name_ - bspw.: - admin - wird admin genannt, muss aber nicht einer Klasse zugeschrieben werden - : ContentManagementSystem - Klasse ist bekannt, muss aber keinen Namen haben - admin : Administrator - Klasse und Name sind bekannt - eventHandlers[2] : EventHandler - Teil innerhalb Array und bekannte Klasse ## Messages - Mit einem Pfeil spezifiziert -  ### Message Signatures - Format für eine Signatur: - _attribute = sinal_or_message_name (arguments) : return_type_ - abhängig von den Informationen die bekannt sind, ggf auch kürzer ## Activation Bars Indizieren, dass ein [Teilnehmer](UMLSequenzDiagramme.md#participants) aktiv ist  ## Nested Messages - [Nachricht](#messages) von einem [Teilnehmer](#participants) resultiert in weitere Nachrichten, welcher der Empfänger schickt - Diese neuen Nachrichten werden als "nested" innerhalb der triggernden Nachricht bezeichnet -  - Bspw.: - participant1 sends initialMessage() to p2 - When p2 receives initialMessage(), p2 becomes active, sends two nested messages to p3 ## Message Types ### Message Arrows  #### Creation and Destruction - Nicht alle Teilnehmer leben während der gesamten Sequenz  ### Creation of Participants - create() Nachricht zu der Lebenslinie - **Nutzung der "dropped participant box"** - macht es klar, dass der Teilnehmer vorher nicht existiert ### Destruction of Participants - Beendung der Lebenslinie mit dem Löschen-Kreuz ### Synchronous Messages - Default - Nachrichtensender wartet auf Antwort von Empfänger ### Return Message - Zeigt, dass die Kontroller der Aktivierung wieder zum Empfänger zurückgeht ### Asynchronous Message - _wird von uns nicht innerhalb des Systems genutzt_ - _nur von Mensch zu System_ - Sender wartet nicht bis der Empfänger fertig ist - Implementierung bspw. durch Threads ## Möglicher Spicker 