(Anwendungs-)Projekte SE im Wintersemester 2026/27

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

A: Unterstützung der Münsterbauhütte bei Kartierungsarbeiten

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:

B: snowballR

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.  

Voraussetzungen
  • Gute Programmierkenntnisse in aktuellen Webtechnologien zur Entwicklung einer Client-Server-Anwendung.
  • Frontend in Svelte5 geschrieben
  • Backend in Kotlin
Literatur
Ansprechpartner:

C: SEPOT (SE-Projektorganisationstool)

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. 

Voraussetzungen
  • Gute Programmierkenntnisse in aktuellen Webtechnologien zur Entwicklung einer Client-Server-Anwendung, die auch mobil bedient werden kann.
Ansprechpartner:

D: Statische Programm-Analyse für Projekte

Projektbeschreibung

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.

Über flowR

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.

(Mögliche) Ziele

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:

  • Sicherheitsanalysen — Rs tief verwurzelte, dynamische Natur erlaubt zwar zum einen eine hohe Flexibilität und eine explorative Analyse von Daten, birgt aber auch gleichzeitig zahlreiche Risiken, vor allem wenn R-Code aus unsicheren Quellen ausgeführt wird. Daher möchten wir flowR um klassische Sicherheitsanalysen erweitern um Sicherheitslücken wie Code Injection oder Improper Input Validation zu erkennen.
  • Transitive Paket-AnalysenflowR bietet mittlerweile eine fundierte Grundlage um den Daten- wie auch Kontrollfluss von R Skripten aber auch ganzen Paketen zu analysieren (und das ziemlich schnell, so benötigen wir mit 16 Kernen nur etwas mehr als eine Stunde um alle aktuellen Paketversionen zu analysieren). Allerdings verbleiben diese Ergebnisse gerade noch auf der Ebene einzelner Pakete und ignorieren die zusätzlichen Möglichkeiten von Paket-Übergreifenden Analysen, wie beispielsweise das nachverfolgen von Datenflüssen über Paketgrenzen hinweg.
  • Dynamisches Laden von Code — Machen wir es kurz, R ist eine wundervolle Sprache. Kein Wunder, dass eine solche Sprache daher auch Möglichkeiten bietet, Code und auch bereits im Voraus berechnete Datensets durch diverse Binärformate dynamisch zu laden. Gerade solche Funktionen stellen allerdings eine große Herausforderung für statische Analysen dar, da der Code und seine Auswirkungen, bzw. die Daten so erst zur tatsächlichen Laufzeit bekannt sind. Gerade für die Fälle, in denen die geladenen Daten oder der Code bereits zur Analysezeit (wenn auch nur teilweise) vorliegen, möchten wir flowR dahingehend erweitern, dass solche dynamisch geladenen Inhalte auch in die Analyse einbezogen werden können.
  • Erkennen impliziter Annahmen für externe Daten — Das durchschnittliche Analyse-Skript sieht wie folgt aus: Geladene Daten werden zunächst bereinigt, transformiert und anschließend analysiert oder visualisiert. Dabei werden allerdings häufig implizite Annahmen über die Struktur und den Inhalt der Daten getroffen (z.B. dass eine Spalte nur numerische Werte enthält oder dass keine fehlenden Werte vorliegen). Solche Annahmen können zu Fehlern führen, wenn die tatsächlichen Daten nicht den Erwartungen entsprechen oder sich später ändern. Fehler, welche sich häufig nicht oder nur sehr spät auch bei der Ausführung bemerkbar machen, da sie zwar die diese impliziten Annahmen verletzen, aber dennoch plausibel wirkende Werte produzieren. Mithilfe von flowR wollen wir nun Techniken entwickeln, um solche impliziten Annahmen statisch zu inferieren und in die Analyse einzubetten.
  • Erklärbare Datenflussanalyse und API — Statische Programmanalyse ist ein wundervolles Themenfeld mit vielen komplexen Algorithmen und Techniken, die in einem emergenten Zusammenspiel die Analyse auch komplexer Programmsemantiken erlauben. Allerdings führt diese Komplexität auch dazu, dass die Details für Nutzer:innen von statischen Analysen häufig schwer nachvollziehbar sind und selbst vermeintlich einfache APIs eine Reihe an Annahmen Treffen, welche die "einfache" Nutzung erschweren. Hier geht es also darum, die bestehenden Analysen und APIs von flowR so zu erweitern und instrumentieren, dass diese die konkreten Schritte einer Analyse nachvollziehbar machen.
  • Quellcode-Transformation — Statische Analyse wird häufig dafür genutzt um Fehler in Programmen zu finden oder Informationen über deren Verhalten zu gewinnen. Allerdings können wir viele Fehler bereits automatisch beheben (wie z.B. mit Quick-Fixes bei Lintern), Programme optimieren oder automatisiert instrumentieren um dann bei Ihrer Ausführung weitere Informationen zu erhalten. Dafür benötigen wir allerdings eine Möglichkeit, den R-Code auf syntaktischer Ebene transformieren und dann wieder zurück in Quellcode übersetzen zu können. Damit soll flowR um ein solches Quellcode-Transformations-Framework (vgl. Spoon) erweitert werden.

Interesse? Dann melde dich doch gerne bei mir und werde Teil des flowR Teams! 

Ansprechpartner

E: Waddle: Spielerisch Programmieren Lernen

Projektbeschreibung

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.

Aktueller Stand

Waddle besitzt aktuell:

  • eine eigene DSL mit Monaco (VSCode Editor) Unterstützung durch Langium
  • einen stepwise, time-travelling Debugger
  • eigene Pixelart für alle Spielemente
  • eine Vielzahl an Leveln mit Spielelementen wie Boxen, Wasser, Knöpfen, Stacheln und Pinguinen.

Waddle ist in TypeScript implementiert.

Ziel

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:

  • Neue Spielelemente wie z.B. Teleporter, Nebel, etc.
  • Neue Sprachelemente wie objektorientierte und funktionale Konzepte (wie auch Ausbau des Typsystems, der Programm-Analysen, ...)
  • Verbesserung der eingebauten Tutorials (z.B. durch eine interaktive Heranführung)
  • Erweiterung um neue Level
  • Integration von Blockly als alternative Programmierschnittstelle
  • Verbesserung der Usability und Mehrbenutzerleistung

Ansprechpartner

F: Weiterentwicklung eines LLM-basierten Chatbots zur Generierung von BPMN 2.0 Prozessmodellen

Worum geht es?

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.

Was wären mögliche Themen?

  • Höhere Modellqualität
    Verbesserung der Korrektheit und BPMN-2.0-Konformität automatisch generierter Prozessmodelle.
  • Erweiterung der kollaborativen Modellierung
    Ausbau der gemeinsamen Prozessmodellierung durch verbesserte Brainstormfunktion.
  • Assistenzfunktionen für die Prozessmodellierung
    Entwicklung intelligenter Funktionen zur Fehlererkennung, Modellvalidierung und Optimierung von Prozessmodellen.
  • Prozessoptimierung durch BPMNGen
    Automatische Analyse bestehender Prozesse zur Identifikation von Optimierungspotenzialen hinsichtlich Zeit, Kosten und Effizienz.
  • Verbesserung von Benutzeroberfläche und Nutzererlebnis
    Modernisierung des User Interfaces sowie Optimierung der Bedienbarkeit und des Designs.
  • Mehrbenutzerbetrieb und Echtzeit-Kollaboration
    Ermöglichung der gleichzeitigen Zusammenarbeit mehrerer Benutzer an Chats und Prozessmodellen in Echtzeit.
  • Projekt- und Ordnerstruktur, Projekt- und Aktivitätsdashboard
    Einführung einer hierarchischen Struktur zur übersichtlichen Organisation, Verwaltung und Freigabe von Projekten und Chats, sowie die Bereitstellung einer zentralen Übersicht über Projekte, Aktivitäten und aktuelle Bearbeitungsstände.
  • Unternehmens- und Rollenstruktur
    Abbildung von Unternehmens- und Abteilungsstrukturen zur besseren Organisation gemeinsamer Arbeitsbereiche.
  • Erweiterung des Benutzer- und Lizenzmanagements
    Ausbau des Login-Systems um flexible Abonnement- und Lizenzmodelle für private und geschäftliche Nutzer.
  • Erweiterbare LLM-Verwaltung
    Möglichkeit, eigene LLMs über die Benutzeroberfläche einfach hinzuzufügen und zu verwalten.
  • Benachrichtigungs- und Freigabesystem
    Automatische Benachrichtigungen sowie Unterstützung von Freigabe- und Review-Prozessen.
  • Sicherheits- und Berechtigungskonzept
    Einführung eines granularen Rollen- und Berechtigungssystems für eine sichere Zusammenarbeit.
  • Unternehmensweite KI-Konfiguration
    Zentrale Verwaltung von KI-Einstellungen, Systemprompts und Modellkonfigurationen auf Unternehmensebene.

Was du mitnimmst:

  • Praxiserfahrung mit LLMs & Prompt Engineering
  • Arbeiten mit Open-Source-Modellierungs-Tools
  • Umsetzung innovativer LLM-basierter Softwarelösungen
  • Programmieren mit Angular & Node.js

Ansprechpartner

G: Connect your Sources (KI-gestütztes Tool zur Anforderungs-Extraktion aus Gesprächen)

Ziel des Projekts

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.

Problemstellung

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.

Fachliche Lösungsidee

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.

Benutzeroberfläche

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.

Backend und KI-Integration

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.

Techstack und verfügbare Skills

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.

Warum das Projekt fachlich interessant ist

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.

Warum eine eigene Entwicklung sinnvoll ist

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.
 

Ansprechpartner

H: MOTION: A Flow-Based Model Transformation Framework

Kontext

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.

Zielsetzung

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.

Kontakt

I: Space-Chat - Multi-Tenant Chat-Framework für Web & 3D-Räume

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:

  1. Mandantenfähiges Backend & API
    • Multi-Tenancy: Das System muss beliebig viele Firmen (Instanzen) bedienen können, jeweils mit eigenen, isolierten Benutzern.
    • RESTful Architecture: Das komplette Backend ist über moderne REST-APIs ansprechbar und steuerbar, sodass der Chat von beliebigen Web- oder Native-Apps konsumiert werden kann.
    • Authentifizierung: Die Credentials zur Benutzerauthentifizierung werden über eine bereitzustellende Schnittstelle angebunden.
  2. Flexible Chat-Logik & Räumlicher Bezug
    • Space- & Anlassbezug: Chats können klassisch (z. B. in Projektgruppen) oder raumbezogen (an einer spezifischen Koordinate/Stelle im 3D-Raum) stattfinden.
    • Rich Media & Tasks: Unterstützung von Text, Bilddateien, Videos sowie das Erstellen und Zuweisen von Aufgaben direkt aus dem Chatverlauf heraus.
    • Historie & Transparenz: Jeder Raum und Anlass verfügt über eine lückenlose, nutzerzugeordnete Chat-Historie.
  3. Public Chat Widget (B2C)
    • Möglichkeit zur Einbindung eines Chat-Widgets auf einer öffentlichen Webseite (z. B. für die immersight-Homepage, Webseite des Kunden, etc.), um mit anonymen Website-Besuchern zu interagieren.
    • Smart Tracking: Anonyme Chatpartner sollen clientseitig so gut wie möglich identifiziert werden (z. B. via Local Storage/Cookies), um den Chat-Kontext auch Tage später nahtlos wieder aufnehmen zu können.
    • Integration in bestehende CRM-Systeme (weclapp bei immersight)
  4. Admin- & Agenten-Dashboard
    • Ein mächtiges Web-Dashboard pro Firmeninstanz, sowie ein übergeordnetes für den Admin bei immersight
    • Ausgewählte Nutzer (Admins/Agenten) haben Zugriff auf alle eingehenden Nachrichten und Chatverläufe.
    • Funktionen zum Filtern, Sortieren, Zuweisen und Bearbeiten von Chats (bei anonymen Besuchern über Webseite via Chat-Widget)
    • Echtzeit-Benachrichtigungssystem (Notifications) bei neuen eingehenden Chat-Anfragen.

Ziel des APSE-Projekts ist die Entwicklung eines voll funktionsfähigen Prototyps, bestehend aus:

  • Backend: REST-API Architektur zur Verwaltung der Instanzen, Nachrichten und Medien.
  • Dashboards (Frontend): Eine leistungsstarke Web-Oberfläche für das Management der Chats durch die Firmenkunden, sowie einer Admin-Funktion für immersight
  • Public Widget: Einbaufertiges Web-Modul für die anonyme Kundenkommunikation.
  • Demo-Apps: Kleine, native Demo-Applikationen (Android & iOS), die die Funktionalität der API und die mobile Nutzbarkeit demonstrieren.

Kontakt

J: Online Modelling and Analysis Tool to investigate Attack Propagation in Software Architectures

Context

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.

Problem

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.

Tasks/Goals

  • A. Web modeling editor
    Import an architectural model and model the attacker with a graphical drag-and-drop editor.
  • B. Analysis backend
    Expose the propagation analysis as a service and ship it as a Docker package.
  • C. Mitigation integration
    Implement the mitigation metamodel, then apply patterns and compare propagation before vs. after.
  • D. Attack graph & interop
    Render and export an attractive attack graph, and round-trip models with the Eclipse-based tool.

What you gain

  • This is an open-source project, and the tool will be used by the community.
  • You can put a real, citable contribution on your CV, not just a course exercise.
  • You gain hands-on experience turning a research prototype into a usable product.

Contact

old eclipse based tool
expected result

K: Privacy within the Data Flow Diagram

Kontext

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.

Problem

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.

Ziel des Projekts

Erstellung einer grafischen Darstellung für das Privacy DFD und dessen Analyseergebnisse sowie die Anpassung des zugehörigen Web Tools.

Kontakt

Ausschnitt aus dem aktuellen Baumeditor
Konzeptionelle Darstellung eines möglichen Ergebnisses