Low-Code Programmiertechniken für interaktives Gebäudeanalyse-System
Project Idea Metadata
- Project Idea Name: Low-Code Programmiertechniken für interaktives Gebäudeanalyse-System
- Date: 11/23/2022 8:29:16 AM
- Administrators:
Project Idea Description
Ausgangslage und Problemstellung
Verschiedene Projekte unserer Forschungsgruppe haben das Ziel zu untersuchen, inwiefern sich No-Code bzw. Low-Code-Programmierkonstrukte klassifizieren lassen und inwiefern sich diese für die Erstellung und Anpassung von Software durch bestimmte Zielgruppen eignen. Die Idee ist mit Hilfe dieser Informationen No-/Low-Code-Programmierumgebungen zielgenau für eine bestimmte Benutzergruppe designen zu können.
Bei einem dieser Projekte geht es darum, eine Software zur Gebäudeanalyse mit einer Low-Code-Umgebung auszustatten. Diese Umgebung soll Gebäudetechnikern und Gebäudebetreibern erlauben, selbstständig eine interaktive Gebäudeanalyse vorzunehmen. In einem ersten Schritt soll nun eine Evaluation verschiedener Low-Code-Programmiertechniken gemacht werden für eben diese Low-Code-Programmierumgebung.
Ziel der Arbeit und erwartete Resultate
Das erste Ziel der Arbeit ist die Erstellung einer Umgebung, welche erlaubt, verschiedene und typische Problemstellungen der Gebäudeanalyse mittels verschiedenen Low-Code-Programmiertechniken zu lösen. Diese Techniken sollen anhand von Recherchen (andere Tools / Literatur) aufgearbeitet werden. Beispiele sind imperativer Code, deklarativer Code (z.B. analog HTML oder SQL), grafische Programmierung (siehe bspw. Scratch / thingsboard.cloud), usw. Die Zielgruppen sind Gebäudetechnik-Installateure sowie Gebäudebetreiber. Beide Zielgruppen haben wenig Programmierkenntnisse. Dies sollte bei der Auswahl der Techniken bereits beachtet werden.
Die Programmierumgebung soll sich auf zwei Problemstellungen zu fokussieren. Vorgesehen sind:
- Der Einbau eines Tag-/Nachtfilters in eine Visualisierung.
- Das Setzen einer Markierung bei einer Visualisierung (z.B. vertikale Linie bei -8 Grad in einem Diagramm zur Visualisierung eines Temperaturverlaufs).
Hinweis: Idealerweise wird die Programmierumgebung so designt, dass sie oder Teile davon später im richtigen Produkt verwendet werden kann.
Das zweite Ziel der Arbeit ist eine erste Evaluation der Techniken anhand verschiedener sinnvoller Benchmarks. Beispiele für Benchmarks sind:
- Wie schnell ist es möglich die Problemstellung zu lösen?
- Wie komplex sind die Entscheidungen, die jemand zu treffen hat, welcher die Problemstellung mit dieser Technik löst?
- Wie schnell könnte jemand anderes die Lösung verstehen und anpassen?
- Wäre es möglich/notwendig eine Debug-Möglichkeit anzubieten?
- usw.
Hinweis: Für die Arbeit ist es ausreichend die einzelnen Techniken durch den Studenten zu evaluieren. Eine Evaluation mit Vertretern der Zielgruppen ist nicht vorgesehen.
Gewünschte Methoden, Vorgehen
- Agiles Vorgehen mittels Scrum.
- Verwendung von Techniken des modernen Softwareengineerings (VCS/CI/CD/Testing).
- Technologieevaluationen: Mindestens drei auf verschiedenen Ebenen (bspw. Architektur/Libraries/Design/Techniken/etc.).
Kreativität, Varianten, Innovation:
Die Arbeit ist komplett abseits der Tagesgeschäfts angesiedelt und kann in jede Dimension (Anzahl Techniken, Benchmarks, usw.) erweitert werden.
Verschiedene Forschungsprojekte untersuchen, inwiefern wie sich No-/Lowcode Programmierkonstrukte klassifizieren lassen und wie sich diese für die Softwareerstellung durch bestimmte Zielgruppen eignen. Diese Informationen erlauben No-/Lowcode Programmierumgebungen zielgenau für bestimmte Benutzergruppen zu designen.
Ziele dieser Arbeit sind Erstellung einer Umgebung, welche erlaubt typische Problemstellungen mittels verschiedener Lowcode-Programmiertechniken zu lösen, sowie eine Evaluation dieser Techniken.