JirkaDellOro / Softwaredesign

Modul "Softwaredesign": Lektionen und Übungsaufgaben
12 stars 12 forks source link

Darstellung von asynchronen Funktionsaufrufen #31

Closed exolicious closed 4 years ago

exolicious commented 4 years ago

Hallo Jirka (und alle andern),

bin gerade dabei Aktivitätsdiagramme zu erstellen und jetzt stellt sich mir die Frage, wie ich asynchrone Funktionen darstellen soll. Ich habe eine methode main() die asynchron sein soll. Innerhalb dieser rufe ich eine Funktion (getPlayerInput() ) auf, auf dessen return-Wert ich warten möchte.

Das "await"-keyword ist ja js/ts-spezifisch und da UML-Diagramme ja nicht so eng an eine Programmiersprache gekopplet sein sollen, sollte das dann weggelassen werden, oder?

asyncUML

Ich habe jetzt versucht die "Event"-Elemente aus dem scratchpad zur Illustration der Asynchronität dieser Funktion zu nutzen. Ist das syntaktisch in Ordnung? Muss an den Subaktivitätstitel "main()" (der im Screenshot jetzt nicht zu sehen ist) noch "async" vorangestellt werden?

Ich danke schonmal im Voraus

JirkaDellOro commented 4 years ago

Nein, das ist syntaktisch nicht in Ordnung und ergibt keinen Sinn. Der Signalempfang steht in der Regel als Startknoten im Diagram und hat keinen Zulauf. Die Signalsendung ist ein einfacher Knoten, hat also Eingangs- und Ausgangsfluss und gibt nur an, dass ein Signal abgeht, das irgendwo anders einen Empfang auslöst. Die angedeuteten Pfeile sind nicht dafür gedacht, aneinander geschoben zu werden, dann könnte man einfach den Fluss durchlaufen lassen.

Schau dir im Booklet "Parallel Processing" an und die Aktivitätsdiagramme aus der Lektion 05 "Client"

JirkaDellOro commented 4 years ago

PS: und async musst Du nicht vermerken. Das Fork-Element (schwarzer Balken) sagt das aus.

exolicious commented 4 years ago

Okay, danke für die schnelle Antwort Jirka.