Die Projektvorstellung der Projekte im WiSe 26/27 fand am Donnerstag, 09.07.2026 statt.
Über folgenden Link können Sie die Aufzeichnung ansehen:
Auf dieser Seite werden ab dem 06. Juli 2026 kurz die im WiSe 2026/27 angebotenen Projekte beschrieben. Es wird dabei nicht zwischen Bachelor und Masterprojekten unterschieden, da wir gemischte Gruppen zu lassen.
Wenn Sie im nächsten Semester eines der unten stehenden Projekte belegen möchten, senden Sie bitte bis zum 27.07.26 eine E-Mail mit priorisierten Wünschen (3-5 Projekte) an Alexander Raschke.
Bitte auch die Buchstaben zur eindeutigen Kennzeichnung in der Mail mit angeben!
Bei Fragen zu den Projekten wenden Sie sich bitte ebenfalls an Alexander Raschke.
Eine Galerie der bisherigen Projekte finden Sie hier: Bisherige SE-Projekte
Die Projektvorstellung der Projekte im WiSe 26/27 fand am Donnerstag, 09.07.2026 statt.
Über folgenden Link können Sie die Aufzeichnung ansehen:
A: Unterstützung der Münsterbauhütte bei Kartierungsarbeiten
B: snowballR
C: SEPOT (SE-Projektorganisationstool)
D: Statische Programm-Analyse für Projekte
E: Waddle: Spielerisch Programmieren Lernen
F: Weiterentwicklung eines LLM-basierten Chatbots zur Generierung von BPMN 2.0 Prozessmodellen
G: Connect your Sources (KI-gestütztes Tool zur Anforderungs-Extraktion aus Gesprächen)
H: MOTION: A Flow-Based Model Transformation Framework
I: Space-Chat - Multi-Tenant Chat-Framework für Web & 3D-Räume
J: Online Modelling and Analysis Tool to investigate Attack Propagation in Software Architectures
K: Privacy within the Data Flow Diagram
Die Restauratoren der Münsterbauhütte müssen die Schäden an den zu restaurierenden Gebäuden erfassen, um die Kosten und die Durchführung einer Restaurierung zu planen. Dabei wird Stein für Stein in Augenschein genommen und für jeden eine Menge an Daten erfasst, um den aktuellen Zustand und die notwendigen Restaurierungsarbeiten zu dokumentieren.
Um die sehr aufwendige Datenerfassung mit Fotoapparat, Papier und Bleistift zu verbessern, wurde in vergangenen Projekten eine Windows-App entwickelt, die es ermöglicht, die Daten direkt am Tablet zu erfassen. Dabei werden die Kamera des Tabletts benutzt, um Fotos zu machen, diese mit einer Stifteingabe zu markieren und zu bearbeiten. Zurück im Büro, werden die so integriert erfassten Daten direkt mit der zentralen Datenbank abgeglichen.
Nachdem im vergangenen Jahr die App "aufgeräumt" und einige Teile modernisiert wurden, steht im Wintersemester die Entwicklung von neuen Anforderungen wie besondere Suchmöglichkeiten, Exportfunktionalität usw. an. Diese müssen teilweise zunächst in Zusammenarbeit mit Mitarbeitern der Bauhütte definiert bzw. verfeinert werden.
Die App ist in C# entwickelt worden.
Ansprechpartner:
In der Wissenschaft ist es üblich, zu Beginn eines neuen Projekts, einer Abschlussarbeit oder einer Publikation mit einer umfangreichen Literatur-Recherche zu beginnen, um einen Überblick über das Forschungsfeld und verwandte Arbeiten zu erhalten. Diese Recherche kann entweder unsystematisch oder systematisch erfolgen. Der systematische Ansatz wird allgemein als Systematic Literature Review, kurz SLR, bezeichnet. Dabei gibt es verschiedene Methoden, wie beispielsweise Systematic Database Query oder Snowballing, welche auch oft kombiniert werden. Im Falle des Snowballings werden, von einem initialen Startset von Papern ausgehend, in mehreren Iterationen zitierte als auch referenzierende Paper erfasst. Die gefundenen Paper werden hinsichtlich ihrer behandelten Themen bewertet, ob sie in der Menge bleiben oder nicht.
Bisher ist dieser Prozess mit sehr viel Handarbeit verbunden, da alle notwendigen Daten per Hand zusammengetragen werden müssen. Im Rahmen dieses Projekts soll daher eine frei zugängliche Anwendung entstehen, welche Forscherinnen und Forscher (aber auch Studierende) dabei unterstützt, kollaborativ eine SLR mittels Snowballing durchzuführen. Es sollen verschiedene frei zugängliche Literatur-Datenbanken, wie CrossRef, OCI oder SemanticScholar, abgefragt und die erhaltenen Daten zusammengeführt werden. Auch die manuelle Eingabe von Papern bzw. deren Meta-Daten soll möglich sein. Abschließend sollen alle beteiligten Personen die Möglichkeit haben, die erfassten Paper zu bewerten und/oder zu diskutieren.
In einem früheren Projekt wurden einige Teile der Software bereits entwickelt, so dass in diesem Semester der Fokus auf zusätzlichen Features (z.B. AI-Support) liegen wird.
Ziel dieses Projekts ist, diese Webseite zu ersetzen und die dahinterliegenden Workflows (Sammeln von Projekten, Einpflegen der Projektbeschreibungen, Wunschabgabe, Verteilung, etc.) möglichst gut zu unterstützen. Dazu soll es möglich sein, dass Projektanbieter ihre Daten bzw. Projektbeschreibungen selbst pflegen können und diese zu einem Stichtag veröffentlicht werden. Ab diesem Zeitpunkt können Studierende dann ihre priorisierten Wünsche abgeben, die dann wieder zu einer semi-automatischen Verteilung mit anschließender Benachrichtigung führen.
In einem vorherigen Projekt wurde bereits ein Prototyp dazu entwickelt. Die Anwendung soll aber nun von Grund auf neu entwickelt werden mit modernen, üblichen Technologien. Welche das sind, wird zu Beginn des Projekts vereinbart.
Statische Analyse bezeichnet die Untersuchung von Programmen auf Laufzeiteigenschaften ohne diese tatsächlich auszuführen. Sie ist ein integraler Bestandteil moderner Softwareentwicklung und hilft beim Identifizieren von Fehlern, Sicherheitslücken oder dem Verbessern der Lesbarkeit. Compiler verwenden statische Analyse beispielsweise, um Typfehler zu vermeiden oder möglichst optimalen Code zu generieren. Entwicklungsumgebungen oder Language Server verwenden statische Analyse, um Ihre Funktionalität wie Refactorings oder Autovervollständigung zu realisieren (Siehe dazu auch Foliensätze statische Programmanalyse).
In diesem Projekt geht es um die Arbeit an und um flowR, einem Framework für die statische Analyse von R, einer statistischen Programmiersprache die häufig in der Datenanalyse und -visualisierung eingesetzt wird. Eine ausgiebige Analyse des Daten- und Kontrollflusses ermöglicht es flowR beispielsweise ein Programm nur auf die Teile zu reduzieren, die für die Generierung einer Grafik oder die Berechnung eines statistischen Modells relevant sind (das sogenannte Program Slicing) oder mittels Abstract Interpretation die Wertebereiche von Variablen zu bestimmen.
Aktuell kann flowR als Erweiterung für Visual Studio Code, Positron und RStudio, sowie direkt als Docker Image verwendet und ausprobiert werden. Folgende Zeile ermöglicht euch beispielsweise, flowR mit seinem read-evaluate-print loop zu erkunden:
docker run -it --rm eagleoutice/flowr:latest
Wenn ihr dann im REPL zum Beispiel den Datenflussgraph eines R Ausdrucks sehen wollt, könnt ihr folgendes eingeben:
R> :df! x <- 2
Zum Verlassen, genügt ein :q flowR wird unter der GPLv3 Lizenz auf GitHub hauptsächlich in der Programmiersprache TypeScript entwickelt. Die ausführliche Dokumentation erfolgt über ein dediziertes und automatisch aktualisiertes Wiki und direkt im Code.
Dieses Semester ist das Anwendungsprojekt für flowR denkbar flexibel gestaltet und bietet eine Vielzahl an spannenden möglichen Bereichen (die sich so oder so ähnlich auch in Richtung einer Abschlussarbeit ausbauen lassen). Folgende Liste stellt einige mögliche Aufgabenbereichen vor, mit denen Ihr euch in flowR verwirklichen könnt. Die konkrete Zuteilung erfolgt dann zu Beginn des Projekts, je nach Interesse:
Interesse? Dann melde dich doch gerne bei mir und werde Teil des flowR Teams!
Waddle ist ein Programmierlernspiel (ähnlich zu Scratch), bei dem Schüler:innen ab der 6. Klasse, Stück für Stück an die Grundkonzepte des Programmierens herangeführt werden. Sie durchlaufen dabei immer schwierigere Level, bei denen Sie mithilfe von selbstgeschriebenen Programmen (in einer eigenen DSL, Aufgaben erfüllen müssen. Besonders ist hierbei, dass alle interaktiven Elemente ebenfalls in der selben DSL vorgegeben sind, sodass die Schüler:innen gezielt existierenden Code lesen und verstehen müssen, um die Aufgaben zu meistern.
Waddle kann unter https://exia.informatik.uni-ulm.de/waddle ausprobiert werden.
Waddle besitzt aktuell:
Waddle ist in TypeScript implementiert.
Im Anwendungsprojekt ist das Ziel, ganz allgemein, Waddle um diverse Features zu erweitern, wobei die konkrete Auswahl und Ausprägung in einem ersten Treffen zu Beginn des Projektes gemeinsam festgelegt wird:
BPMNGen ist ein KI-gestützter Assistent für die Geschäftsprozessmodellierung und wird kontinuierlich um neue intelligente Funktionen erweitert. Die Plattform unterstützt unter anderem Text-to-Model, Model-to-Text, Sprachinteraktion, die Modellierung und Transformation verschiedener BPMN-Diagrammtypen sowie kollaborative Brainstorming-Sitzungen, um Unternehmen bei der effizienten Erstellung und Optimierung von Geschäftsprozessen zu unterstützen.
Das Projekt hat zum Ziel, ein KI-basiertes Tool zu entwickeln, das aus unstrukturierten Textquellen wie Gesprächsmitschriften, E-Mails oder freiem Text automatisch strukturierte Anforderungen in Form von User Stories und Epics generiert. Anstatt dass Meetings im Nachgang manuell ausgewertet und in Anforderungen übersetzt werden müssen, soll die im Gespräch entstandene fachliche Information direkt nutzbar gemacht werden. Damit werden Nachbearbeitungsaufwände reduziert und die Zeit bis zur Umsetzungsreife von Anforderungen verkürzt.
Im Mittelpunkt steht die Entlastung der Projektbeteiligten bei der Dokumentation von Anforderungen. Typische Situationen sind Workshops, Abstimmungsmeetings oder Chatdiskussionen, in denen viel fachlicher Inhalt entsteht, aber nur ein Teil davon sauber in User Stories überführt wird. Häufig muss eine einzelne Person sich nach dem Termin erneut einarbeiten, Notizen konsolidieren und daraus Anforderungen formulieren. Das Tool adressiert dieses Problem, indem es diese manuelle Übersetzung weitgehend automatisiert und so die Effizienz im Requirements Engineering erhöht.
Fachlich soll beliebiger Unterhaltungstext (z. B. Chatverläufe, Meeting-Transkriptionen, E-Mail-Ketten) an ein vortrainiertes KI-Modell übergeben werden. Dieses Modell analysiert den Inhalt, identifiziert relevante Anforderungen und erzeugt daraus strukturierte Artefakte, insbesondere User Stories und übergeordnete Epics. Die generierten Ergebnisse werden den Nutzerinnen und Nutzern in einer Oberfläche angezeigt, in der sie die Vorschläge überprüfen, nachschärfen und für nachgelagerte Prozesse (z. B. Backlog-Pflege) weiterverwenden können.
Die Interaktion mit dem Tool erfolgt über eine Weboberfläche. Dort stehen Eingabefelder zur Verfügung, über die Texte eingefügt oder hochgeladen werden können, sowie Ausgabebereiche, in denen die erzeugten User Stories und Epics übersichtlich dargestellt werden. Die Oberfläche bietet Funktionen zur Bearbeitung, Ergänzung und manuellen Korrektur der durch die KI generierten Anforderungen, sodass eine Kombination aus automatischer Generierung und menschlicher Qualitätssicherung entsteht.
Im Hintergrund übernimmt eine fachliche Integrations- und Verarbeitungsschicht die Anbindung an das vortrainierte LLM (Large Language Model). Diese Backend-Fachkomponente ist verantwortlich für die eigentliche Sprachverarbeitung im Gesamtsystem: Sie nimmt den von der Oberfläche übergebenen
Freitext entgegen, orchestriert die Kommunikation mit dem KI-Modell und bereitet die Antworten so auf, dass sie als strukturierte Anforderungen bereitgestellt werden können.
Durch gezieltes Prompt Engineering wird das LLM so gesteuert, dass die Ergebnisse möglichst nahe an den gewünschten Formaten und Qualitätskriterien liegen, etwa klar strukturierte User Stories nach dem Muster „Als [Rolle] möchte ich …, um …“, sinnvolle Akzeptanzkriterien oder die Zuordnung zu Epics.
Der technische Lösungsansatz stützt sich auf im Team verfügbare Kompetenzen und einen klar abgegrenzten Techstack. Auf der Präsentationsschicht kommt ein modernes Web-Frontend-Framework zum Einsatz, das eine responsive und nutzerfreundliche Oberfläche bereitstellt. Die fachliche Backend-Komponente übernimmt die Verarbeitung der Texte und die Anbindung an das vortrainierte LLM. Für die KI-Funktionalität wird ein bestehendes Large Language Model genutzt, das über geeignete Schnittstellen integriert wird. Ergänzend fließt gezieltes Prompt Engineering ein, um die Ausgabequalität
des Modells zu steuern und die generierten User Stories und Epics hinsichtlich Struktur und Verständlichkeit zu optimieren. Insgesamt setzt das Team damit seine Erfahrung in Webentwicklung, KI-Nutzung (LLM) und Prompt Engineering ein, um eine durchgängige Lösung aufzubauen.
Interessant ist das Projekt, weil es einen sehr konkreten, alltäglichen Schmerzpunkt in agilen Vorhaben adressiert und gleichzeitig moderne KI-Technologie praxisnah einsetzt. Es verbindet aktuelle LLM-Fähigkeiten mit etablierten Artefakten wie User Stories und Epics und schafft so einen direkten
Mehrwert für Product Owner, Business-Analysten und Entwicklungsteams. Darüber hinaus ist der Ansatz auf verschiedene Domänen und Organisationen übertragbar und kann perspektivisch in bestehende Tool-Landschaften (z. B. ALM- und Ticket-Systeme) integriert werden, wodurch ein skalierbarer
Baustein für KI-unterstütztes Requirements Engineering entsteht.
Trotz bestehender Lösungen großer Softwarehersteller wird das Tool bewusst eigenständig entwickelt. Gründe dafür sind die gezielte Ausrichtung auf die eigenen fachlichen Anforderungen und Arbeitsweisen, die Möglichkeit zur vollständigen Kontrolle über Datenflüsse und Integrationen sowie die Flexibilität, das Verhalten des KI-Modells und der Oberfläche passgenau zu gestalten. Standardprodukte decken den Bedarf oft nur generisch ab und sind in ihren Anpassungsmöglichkeiten begrenzt. Durch eine eigene Lösung können branchenspezifische Besonderheiten, kundenspezifische Prozesse und individuelle Qualitätskriterien für User Stories direkt im System abgebildet werden, ohne von den Vorgaben eines externen Herstellers abhängig zu sein.
Im Rahmen vorheriger Projekte wurde mit MOMENT ein leichtgewichtiger Meta-Modellierungsansatz als Grundlage zur Definition und Verarbeitung von Metamodellen geschaffen. Diese ermöglicht die Beschreibung von Metamodellen und davon abgeleiteten Modellen mit dazugehörigen APIs in Python.
Der nächste logische Schritt um Model-Driven-Architecture (MDA) Ansätze möglichst gut abzubilden, ist die Implementierung eines Frameworks zur Unterstützung von Modell-basierten Transformationen. Da MDA hier eine Auswahl von möglichen Transformationskonzepten bietet, ist nun das Ziel mit MOTION ( Model-Oriented Transformation, Integration and Orchestration Notation) ein Framework zu bieten, welches die Abbildung, Versionierung, Modellierung und Dokumentation von komplexen Multi-Layered Flows ermöglicht.
Das nebenstehende Bild zeigt den Zusammenhang zwischen MOMENT und MOTION. Die Pfeile zeigen wie aus den Metamodellen mit der Hilfe von MOMENT APIs. Mit der Hilfe von diesen APIs können dann die Transformation mit den Modell-Instanzen der jeweiligen Metamodelle interagieren.
Dabei ist das Ziel die Entwicklung von neuen Domain Specific Languages und deren Compilern zu vereinfachen. Solche mit MDA umgesetzte DSLs in einem starken Python Framework bieten einen viel versprechender Ansatz für die Entwicklung von Agentbasierten KI-Systemen mit qualitativ hochwertigem Output.
Ziel dieses Projekts ist die Entwicklung eines Open Source Frameworks zur Beschreibung, Verwaltung und Ausführung von Modelltransformationen und deren Verkettung zu Flows.
Das Framework soll es ermöglichen, Transformationsprozesse systematisch zu modellieren und auszuführen, um komplexe modellbasierte Verarbeitungsschritte zu unterstützen. Dabei ist es wichtig, dass MOMENT in MOTION genutzt wird um ein konsistentes, zusammenhängendes Framework zu erhalten.
Die immersight GmbH entwickelt mit dem 3D-Showroom eine Cloud-Lösung für Virtuelle Ausstellung und mit dem 3D-Workroom zur Baustellendokumentation und -kommunikation. Die Kunden sind Handwerker oder Bauunternehmen, genau so wie Verwalter von Immobilien und Gebäuden. Das bedeutet, Mitarbeiter machen mit 360°-Kameras Panoramaaufnahmen von Räumen und laden diese in die cloud-basierte Anwendung hoch. Besonders im Fokus steht dabei das Vermessen im Raum. Hierfür hat die immersight GmbH ein Verfahren entwickelt, mit dem man in einem 360°-Panorama messen kann (siehe Webseite immersight.com).
Im Rahmen dieses Projekts soll ein modernes, mandantenfähiges Chat-Framework entwickelt werden. Das System richtet sich an die Firmenkunden (B2B) von immersight und ermöglicht eine nahtlose Kommunikation sowohl intern unter den Mitarbeitern, als auch mit potenziellen, externen Kunden.
Das Besondere: Der Chat ist nicht nur klassisch text- oder anlassbezogen, sondern bietet einen räumlichen Bezug (Space Chat). So können Diskussionen an konkrete Punkte in einem virtuellen Raum (siehe 3D-Workroom) geknüpft werden – etwa, um eine Schadensstelle an einer Wand direkt im Modell zu besprechen.
Das System setzt sich aus mehreren spannenden Teilkomponenten zusammen:
Ziel des APSE-Projekts ist die Entwicklung eines voll funktionsfähigen Prototyps, bestehend aus:
Attack analysis is typically conducted by cybersecurity experts, who possess in-depth knowledge in this field. However, cybersecurity experts often do their job in the development phase or even after the software system is released. When designing software architectures or cyber-physical systems (CPSs), architects often overlook security aspects due to a lack of corresponding expertise.
Research prototypes for attack propagation analysis and for mitigation analysis during the design phase already exist, but only as Eclipse-based prototypes. Instead, we would like to integrate these existing research prototypes into a ready-to-use product: a browser-based tool that is flexible and easy to use for modeling attacks and analyzing mitigations.
Zahlreiche Pressemitteilungen der jüngsten Vergangenheit unterstreichen, dass die Wahrung der Privatsphäre jedes Einzelnen nach wie vor nicht in ausreichendem Maß gewährleistet ist. Die daraus entstandenen Privatsphärenverletzungen schädigen den Ruf der betroffenen Unternehmen und führen oft zu teuren Strafzahlungen. Dies weist darauf hin, dass die Maßnahmen zum Schutz der Privatsphäre mit Defiziten behaftet sind und die Forschung in diesem Bereich vor erheblichen Herausforderungen steht.
Dabei sollten potenzielle Verletzungen möglichst früh im Entwicklungsprozess entdeckt und behoben werden, da eine Korrektur in einem späteren Stadium mit erheblichen Kosten verbunden sein kann. Ein entsprechendes Tool, um diese Problematik zu adressieren, fehlt bislang allerdings. Um einen Beitrag zur Schließung dieser Lücke zu leisten, sollen verschiedene in der Forschung bestehende prototypische Ansätze in einem Tool vereint werden.
Zum aktuellen Zeitpunkt kann ein Privacy DFD nur mittels eines Baumeditors angelegt werden, wodurch dessen Erstellung erschwert wird. Außerdem fehlt eine geeignete Darstellung der Analyseergebnisse und das zugehörige Web Tool bietet derzeit noch keine Unterstützung für die neuen Privatsphärenfunktionen.
Erstellung einer grafischen Darstellung für das Privacy DFD und dessen Analyseergebnisse sowie die Anpassung des zugehörigen Web Tools.