Ich kann mich an Zeiten erinnern, wo man erst einen Programm Ablaufplan erstellt hat bevor man angefangen hat ein Programm zu schreiben. Irgendwie erwische ich mich auch dabei, dieses ist oftmals andersrum und der Programmablaufplan wird gar nicht mehr erstellt. Das ist ein leidiger Punkt der Dokumentation, welcher dann auch oftmals nicht wieder überarbeitet wird

Insbesondere beim troubleshooting, also bei der Fehlersuche, ist ein solcher Plan eine ganz gute Angelegenheit.

Was muss man bei einem solchen Plan beachten?

Der Plan sollte möglichst gut die Struktur des Programms und die logischen Programmteile in ihrer Abfolge darstellen. Ich habe mir gedacht, ich frage mal die KI welche Unterstützung ich dabei bekommen kann. Hierzu habe ich mein Beispiel mit der Zeiterfassung genommen und wollte es daran einmal ausprobieren. Das Ergebnis ist für mich ausreichend und gar nicht so schlecht.

Programmablaufplan der Zeiterfassung

Ergänzung für die Dokumentation

So nebenbei liefert ChatGPT auch eine Textversion, diese eignet sich auch gut als Ergänzung und zur Dokumentation des Codes.

Textbasierter PAP für das ESP32-RFID-Projekt:
1. Start
2. Hardwareinitialisierung:
- Initialisierung des WLANs (Versuche, Verbindung zu WLAN herzustellen)
- Initialisierung von mDNS
- Initialisierung des RFID-Readers (MFRC522)
3. MQTT-Server verbinden:
- Versuch, Verbindung zu MQTT-Server aufzubauen
4. Hauptschleife (Endlosschleife):
4.1 RFID-Chip auslesen:
- Prüfen, ob eine RFID-Karte gelesen wird.
- Wenn eine RFID-Karte erkannt wird, UID auslesen und als String speichern.
- Senden der UID über MQTT an den Server.
4.2 WLAN-Verbindung prüfen:
- In regelmäßigen Intervallen die WLAN-Verbindung prüfen.
- Bei Verbindungsverlust wird die Verbindung wiederhergestellt.
4.3 MQTT-Verbindung prüfen:
- Überprüfen, ob die MQTT-Verbindung noch besteht.
- Bei Verbindungsverlust wird die Verbindung wiederhergestellt.
4.4 Ping an den MQTT-Server:
- In regelmäßigen Intervallen einen Ping an den Server senden, um die Kommunikationsfähigkeit zu prüfen.
4.5 Watchdog Timer überwachen:
- Watchdog-Timer regelmäßig zurücksetzen.
5. Ende (Schleife läuft unendlich)

Gibt es weitere Alternativen dieses grafisch darzustellen?

In der Tat diese gibt es, für mich war allerdings diese Textversion die geeignetste Darstellung. Chat GPT bietet vier Alternativen an, um einen solchen Plan darzustellen. Die Alternativen sind ein Schwimmlinien Diagramm, ein zyklisches Diagramm, ein Blockdiagramm und ein Gantt Diagramm.

Hier hat mir das ganz Diagramm aufgrund der Übersichtlichkeit erst einmal am besten gefallen. Die erste Version musste noch etwas korrigiert werden, aber sie war inhaltlich schon mal sehr gut. Nachdem ich also die Achsenbeschriftungen, die Überschriften korrigiert habe und Chat GPT gebeten habe eine neue Version zu erstellen ist dieses das Endergebnis.

Programmablaufplan als Ganttdiagramm

Entscheidet selbst, ich glaube die erste Version ist für mich die einfachste und praktikabelste um eine Übersicht zu bekommen.

Es ist sehr schön, dass es solche Möglichkeiten mit künstlicher Intelligenz gibt, es ist aber kein Hexenwerk. Im Hintergrund erzeugt Chat GPT aus meinem C-Code Python code, um daraus mit grafischen Bibliotheken dieses Diagramm zu erzeugen. Mit etwas Hintergrundwissen und programmiert technischen Kenntnissen wäre dies auch ohne künstliche Intelligenz möglich gewesen. Angenehm an dieser Sache ist jedoch, die Erstellung hier erfolgte per Spracheingabe und ich habe der KI an der Stelle mit der speech-to-text Version erklären können was ich haben möchte und welche Änderungen ich im Ergebnis benötige. Für mich hat das eine andere Qualität und Flexibilität.

Welche Erfahrungen habt ihr gemacht damit oder welche Erleichterungen nutzt ihr durch künstliche Intelligenz? Hinterlasst gerne einen Kommentar.