updatet
BIN
Writerside/images/image_117.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
Writerside/images/image_118.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
Writerside/images/image_119.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
Writerside/images/image_120.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
Writerside/images/image_121.png
Normal file
After Width: | Height: | Size: 515 B |
BIN
Writerside/images/image_122.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Writerside/images/image_123.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
Writerside/images/image_124.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
Writerside/images/image_125.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
Writerside/images/image_126.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
Writerside/images/image_127.png
Normal file
After Width: | Height: | Size: 74 KiB |
@ -21,6 +21,7 @@
|
|||||||
<toc-element topic="UML.md">
|
<toc-element topic="UML.md">
|
||||||
<toc-element topic="UMLKlassenDiagramme.md"/>
|
<toc-element topic="UMLKlassenDiagramme.md"/>
|
||||||
<toc-element topic="UMLSequenzDiagramme.md"/>
|
<toc-element topic="UMLSequenzDiagramme.md"/>
|
||||||
|
<toc-element topic="UMLStateDiagramme.md"/>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
- Kann Verhalten detailliert definieren
|
- Kann Verhalten detailliert definieren
|
||||||
- Bestimmt, wie sich der Zustand eines Elements über Zeit verändert
|
- Bestimmt, wie sich der Zustand eines Elements über Zeit verändert
|
||||||
|
|
||||||
- **State Machine Diagram**
|
- **[State Machine Diagram](UMLStateDiagramme.md)**
|
||||||
- **Use Case Diagram**
|
- **Use Case Diagram**
|
||||||
- Activity Diagram
|
- Activity Diagram
|
||||||
- Interaction Diagram
|
- Interaction Diagram
|
||||||
|
96
Writerside/topics/OOAD/UMLStateDiagramme.md
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
# State Machine Diagrams
|
||||||
|
## Introduction
|
||||||
|
- Beschreiben den Zustand von Objekten oder des Systems
|
||||||
|
|
||||||
|
### Introduction Example
|
||||||
|
- Light can be on / off
|
||||||
|
- 
|
||||||
|
|
||||||
|
## States
|
||||||
|
- Diskretes, durchgehendes Segment von Zeit, während der das Verhalten des Objekts stabil ist
|
||||||
|
- Kann eine passive Qualität haben
|
||||||
|
- _Licht an / aus_
|
||||||
|
- Kann auch eine aktive Qualität haben / Was das Objekt tut
|
||||||
|
- _Kaffeemaschine mahlt Kaffee_
|
||||||
|
- Objekt bleibt in dem Zustand bis es von einem Event stimuliert wird
|
||||||
|
|
||||||
|
- States sind **nicht**:
|
||||||
|
- Objekte oder Komponenten des Systems
|
||||||
|
- Aktivitäten des Systems
|
||||||
|
|
||||||
|
### Internal Activities of States
|
||||||
|

|
||||||
|
- 3 Aktivitäten die an einem definierten Moment ausgeführt werden
|
||||||
|
- **entry behavior**
|
||||||
|
- **do-activity behavior**
|
||||||
|
- kann unterbrochen werden
|
||||||
|
- **exit behavior**
|
||||||
|
- entry- und exit behavior können nicht unterbrochen werden
|
||||||
|
|
||||||
|
#### Activities Example
|
||||||
|

|
||||||
|
|
||||||
|
### Internal Pseudostate
|
||||||
|

|
||||||
|
- **nur einmalig**
|
||||||
|
- Markieren den Start eines Maschinen-Diagramms
|
||||||
|
- Keine eingehenden Pfeile
|
||||||
|
- Ein ausgehender Pfeil zum ersten _richtigen_ Zustand
|
||||||
|
- ohne Events
|
||||||
|
|
||||||
|
### Final State
|
||||||
|

|
||||||
|
- **können mehrere existieren**
|
||||||
|
- Objekte können permanent in einem End-Status sein
|
||||||
|
|
||||||
|
|
||||||
|
## State Transitions
|
||||||
|
### External Transitions
|
||||||
|

|
||||||
|
- Repräsentiert eine Änderung des Zustands von einem Ursprungs-Zustand zu einem Ziel-Zustand
|
||||||
|
- Eine Transition braucht keine Zeit
|
||||||
|
- Das System ist immer in einem Zustand, nie in einer Transition
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Syntax of Description: trigger[guard] / behavior
|
||||||
|
- Alles **optional**:
|
||||||
|
- **Trigger** (Event), dass eine [Transition](#state-transitions) hervorruft
|
||||||
|
- **Guard** (Condition), welche die Ausführung der Transition aktiviert
|
||||||
|
- Sobald das Event stattfindet, muss der Guard erfüllt werden
|
||||||
|
- Falls dasselbe Event mehrere Transitions eines einzigen States hervorruft
|
||||||
|
- Die Guards müssen sich gegenseitig ausschließen
|
||||||
|
- Falls nicht: EIne Transition wird zufällig ausgesucht
|
||||||
|
- **Behavior** (Effects) wird während der Transition ausgeführt
|
||||||
|
|
||||||
|
### Internal Transition
|
||||||
|
- Handhaben Events innerhalb eines States
|
||||||
|
- 
|
||||||
|
|
||||||
|
### Types of Events
|
||||||
|
#### Call Events
|
||||||
|
- Operation calls inklusive der Parameter
|
||||||
|
- _occupy(user, LectureHall)_
|
||||||
|
|
||||||
|
#### Time Events
|
||||||
|
- Zeitbasierter Zustandsübergang (relativ / absolut)
|
||||||
|
- _relative: after(5 sec)_
|
||||||
|
- _absolute: when(time == 16:00)_
|
||||||
|
|
||||||
|
#### Change Events
|
||||||
|
- Permanente Überwachung, ob eine Bedingung wahr wird
|
||||||
|
- _when (registration == numberOfSeats)_
|
||||||
|
|
||||||
|
#### Any Receive Events
|
||||||
|
- Zur Spezifikation einen Typ eines _else_ Übergangs
|
||||||
|
- Falls ein Event auftritt, welches keine Übergänge für den aktiven Zustand auslöst
|
||||||
|
- _the object transitions to S4 without any event that is not e1 or e2_
|
||||||
|
|
||||||
|
#### Completion Events
|
||||||
|
- Falls alle Verhaltensweisen eines States vollständig sind
|
||||||
|
- _once A1 is completed completion event triggers transition to S2_
|
||||||
|
|
||||||
|
### State Transition Examples
|
||||||
|
- 
|
||||||
|
- 
|
||||||
|
- 
|