Nachrichtenfluss eines MQTT-Projekts (UML-Sequenzdiagramm Übungsaufgabe)

https://bildung.social/deck/@oerinformatik/114082037941362389

https://oer-informatik.de/uml-sequenzdiagramm-uebung-mqtt

UML-Sequenzdiagramm, MQTT, Publish/Subscribe, Broker, Subscriber, Publisher, Mikrocontroller, Übungsaufgaben, Prüfungsvorbereitung

tl/dr; (ca. 25 min Lese- und Bearbeitungszeit): Übungsaufgabe zu UML-Sequenzdiagrammen: Den Nachrichtenfluss des MQTT-Protokolls stellst Du anhand eines Beispiels (Pflanzenbewässerung) dar und benennst die Rollen des MQTT-Protokolls [AI-Assisted]. (Zuletzt geändert am 29.10.2026)

Dieser Artikel ist Teil einer Artikelreihe über UML-Sequenzdiagramme: Einstieg in das Sequenzdiagramm (Übungsaufgaben) / Sequenzdiagramme mit PlantUML erstellen / Kurzübungen: TCP-Handshake, 2FA, CRAM-MD5, MQTT-Nachrichtenfluss, Webpage per MVP-Pattern, Zugriff erlauben mit OAuth2, Authentifizieren mit Passkey.

Diese Aufgabe setzt voraus, dass Du die Notationen des UML-Sequenzdiagramms und die Grundbegriffe von MQTT kennst.

Hinweise zur Bearbeitung: Als FIA, FIDP oder FIDV musst Du zur Teil-2-Prüfung Aufgaben auf Kernkompetenz-Ebene lösen können, das ist Aufgabe 2.1. Zeichne Dein Diagramm auf Papier oder mit einem Werkzeug Deiner Wahl, bevor Du die Beispiellösung aufklappst. Eine saubere Handskizze genügt. Achte auf die Pfeilarten (synchron: durchgezogen mit gefüllter Spitze, Antwort: gestrichelt, asynchron: durchgezogen mit offener Spitze), auf die Beschriftung jedes Pfeils und auf die kombinierten Fragmente. Andere fachlich richtige Lösungen sind ebenfalls richtig.

Du möchtest eigene Aufgaben zum Üben von einem KI-Sprachmodell generieren lassen?

Kopiere den Text in ein KI-Sprachmodell Deiner Wahl und passe Kompetenzstufe, Anzahl, Bearbeitungszeit und Szenario bei Bedarf an. Wie die Aufgaben aufgebaut sind, beschreibt der Artikel Wie sind die Aufgaben aufgebaut?. Prüfe die Ergebnisse mit dem Lehrartikel: KI-Sprachmodelle machen Fehler.

Erstelle neue Übungsaufgaben zum Thema „Nachrichtenfluss eines MQTT-
Projekts (UML-Sequenzdiagramm Übungsaufgabe)“.

Bauplan: Halte Dich an Aufbau, Kompetenzstufen, Operatoren,
Anforderungsbereiche, Punkte und Zeitschätzung, die im Artikel
https://oer-informatik.de/aufgaben-aufbau beschrieben sind.

Fachliche Grundlage:
- https://oer-informatik.de/uml-sequenzdiagramm
- https://oer-informatik.de/uml-sequenzdiagramm-plantuml
- https://oer-informatik.de/mqtt
- Stilbeispiel: https://oer-informatik.de/uml-sequenzdiagramm-uebung-mqtt

Die Aufgaben sollen Inhalte zu diesen Schlagwörtern abdecken:
- UML-Sequenzdiagramm
- MQTT
- Publish/Subscribe
- Broker
- Subscriber
- Publisher
- Mikrocontroller

Kompetenzstufe: Kernkompetenz (alternativ: Basiskompetenz, Profilkompetenz, Expertise)
Anzahl: 1 Aufgabe mit Teilaufgaben
Bearbeitungszeit in Minuten ca.: <5 bis 30 min>
Szenario: eines der Szenarien aus dem Bauplan

Vorgehen:
1. Lies zuerst die verlinkten Artikel. Kannst Du keine Webseiten
   abrufen, sag mir das, statt zu raten.
2. Steht bei einer Angabe noch ein Platzhalter in <…>, frag mich
   zuerst danach. Richte Punkte und Zahl der Teilaufgaben nach der
   Bearbeitungszeit (ca. 0,9 min je Punkt).
3. Gib je Aufgabe Titel mit Kompetenzstufe, Ausgangssituation und
   Teilaufgaben mit Operator und Punktzahl aus, dazu die geschätzte
   Bearbeitungszeit.
4. Gib die Beispiellösungen mit Punkteverteilung erst aus, wenn ich
   danach frage.

Aufgabe 2.1: Nachrichtenfluss einer Bürobewässerung (Kernkompetenz)

In einem Büro stehen Zimmerpflanzen, die automatisch bewässert werden sollen. Die Bewässerung und die Pflanzen sollen von außerhalb überwacht werden können. Dafür wird ein WLAN-fähiger Mikrocontroller verwendet (z. B. ESP32/ESP8266), an den Sensoren und eine Wasserpumpe angeschlossen werden. Für die Überwachung und Fernschaltung der Anlage werden ein Handy mit einer MQTT-App und ein MQTT-Server verwendet.

Aufbau der Bürobewässerung: Handy mit MQTT-App, MQTT-Server und Mikrocontroller im Büro mit Sensoren für Wassertankstand und Bodenfeuchte sowie Wasserpumpe (mit KI erstellt)

Modelliere im UML-Sequenzdiagramm den folgenden Ablauf unter Nutzung der (englischen) Fachbegriffe von MQTT (anstelle der hier verwendeten allgemeinen Begriffe):

  • Die HandyApp bittet den MQTT-Server, zukünftig über Änderungen des Wassertankstands und der Bodenfeuchte der Pflanze informiert zu werden. Die App wartet nicht auf Antwort.

  • Der Mikrocontroller (MCU) bittet den MQTT-Server, künftig über Änderungen des gewünschten Pumpenstatus informiert zu werden. Der MCU wartet nicht auf Antwort.

  • Der folgende Ablauf wird zyklisch immer wieder durchgeführt:

    • Nachdem ein Zeitereignis eintritt (wir modellieren das wie einen Request von außerhalb des Systems), startet der MCU das Messprogramm und ruft nacheinander die Funktion zum Messen des Wassertankstands und der Bodenfeuchte der Pflanze ab. Die zugehörigen Werte werden als Antwort auf diesen Request zurückgegeben.

    • Wenn sich die Werte der Bodenfeuchte oder des Wassertanks im Vergleich zur vorigen Messung geändert haben, wird zunächst der neue Bodenfeuchtewert an den MQTT-Server geschickt, dann der Wassertankwert.

    • Wenn in der HandyApp die Pumpe ein- oder ausgeschaltet wird (Trigger von außerhalb, wie das Zeitereignis oben), wird der neue Pumpenstatus an den MQTT-Server weitergegeben.

    • Der MQTT-Server sendet an alle, die über Änderungen informiert werden wollten, die neuen Werte.

    • Der MCU schaltet – abhängig vom empfangenen Pumpenstatus – die Pumpe an oder aus.

a) Erstelle zu dem oben genannten Ablauf ein UML-Sequenzdiagramm. (23 Punkte)

Darstellung des Nachrichtenablaufs eines MQTT-Systems zur Pflanzenbewässerung

Punkteverteilung:

  • 3 Lebenslinien: 3 P

  • 3× Subscribe (asynchron): 3 P

  • Schleife: 2 P

  • 2× Trigger-Ereignisse von außerhalb: 2 P

  • 2× Selbstaufrufe: 4 P

  • Alternative bzw. Option: 2 P

  • 3× Publish an den MQTT-Server: 3 P

  • 3× Publish vom MQTT-Server: 3 P

  • 1× Schalten: 1 P

b) Benenne fachsprachlich, welche MQTT-Rollen die oben genannten Systeme (HandyApp, MQTT-Server, MCU) einnehmen. Benenne ggf. den Zeitpunkt, zu dem die jeweilige Rolle eingenommen wird (wenn diese nicht von Anfang an besteht). (4 Punkte)

HandyApp: Subscriber, Publisher (ab dem Klick auf den Pumpentaster)

MQTT-Server: Broker

Mikrocontroller (MCU): Subscriber, Publisher (ab der ersten Messung)

HandyApp und MCU sind im Sinne der MQTT-Spezifikation beide Clients des Brokers; „Publisher“ und „Subscriber“ beschreiben, was sie gerade tun.


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Nachrichtenfluss eines MQTT-Projekts (UML-Sequenzdiagramm Übungsaufgabe)” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/uml-sequenzdiagramm-uebung-mqtt veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/uml/uml-diagramme. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 29.10.2026.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: