eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
1196 research outputs found
Sort by
ETH Zürich App Nutzendenzentrierte Weiterentwicklung der mobilen Campus-App
Die vorliegende Masterarbeit entstand im Rahmen des Masterstudiengangs Human Computer Interaction Design der Fachhochschule OST Rapperswil und der Universität Basel. Der Bericht beschreibt die Vorgehensweise, Aktivitäten und Arbeitsergebnisse der konzeptionellen Überarbeitung der bestehenden ETHZ-App. Die App hat das Ziel, den Campus-Alltag der ETHZ-Angehörigen zu erleichtern.
Basierend auf dem Vorgehensmodell Goal Directed Design nach Cooper [Cooper et al. 2014] untersuchte die Masterarbeit die potentiellen Nutzenden der App intensiv. Die methodisch gewonnenen Erkenntnisse wurden in einer validierten Persona festgehalten, wovon die Anforderungen bzgl. Funktionsumfang und Design an die Campus-App abgeleitet wurden. Die Lösungsansätze wurden iterativ mit realen Nutzenden, im realen Kontext, validiert.
Als Ergebnis des zehn monatigen Projektes liegen eine ausgereifte Persona sowie ein zweifach validierter Prototyp vor. Dank des nutzendenzentrierten Ansatzes ist der Prototyp maximal auf die Bedürfnisse der Nutzenden ausgerichtet. Aufbauend auf dieser Masterthesis kann das ETHZ-Team die Live App nutzendenzentriert weiterentwickeln und so die Benutzendenfreundlichkeit kontinuierlich verbessern.
Sekundär beabsichtigte die Arbeit mit gezielten Massnahmen den UX-Mindset der beteiligten Personen der ETHZ zu schärfen. In gemeinsamen Workshops und Diskussionen wurde der nutzendenzentrierte Ansatz sowohl theoretisch, methodisch wie auch praktisch anhand der vorliegenden Arbeit behandelt.
Mit dem Abschluss der Masterarbeit konnte das Gelernte aus zwei CAS in einem praktischen Projekt zur Anwendung gebracht werden. Das MAS-Team schaut auf ein spannendes und lehrreiches Projekt zurück. Die positive Rückmeldung der Auftraggeberin bestätigt das MAS-Team in der Zufriedenheit mit den geleisteten Arbeitsergebnissen
Discord-Bot für Vereine
Diese Arbeit behandelt die Konzeption, Implementierung und initiale Evaluation eines Discord-Bots zur automatisierten Verwaltung vereinsrelevanter Prozesse. Das Ziel bestand darin, ein System zu entwickeln, welches insbesondere die Mitgliederverwaltung, Eventorganisation und Gamification innerhalb einer bestehenden Discord-Infrastruktur integriert. Besonderer Fokus lag auf der Implementierung eines rollenbasierten Berechtigungssystems, der Synchronisation von Events über die Google Calendar API und der Integration eines wissenschaftlich fundierten Gamification-Systems zur Förderung der Mitgliederaktivität und -motivation.
Der Discord-Bot wurde in TypeScript unter Verwendung der Bibliothek `discord.js` entwickelt und nutzt die Discord-API für Nutzerinteraktionen. Vereinsrelevante Daten werden in einer MongoDB-Datenbank gespeichert, die eine dokumentenorientierte Struktur für Mitglieder, Rollen, Events und Punktestände bietet. Die Integration des Google Calendar wurde mittels der offiziellen Google API `Node.js`-Clientbibliothek realisiert, wodurch eine automatisierte Synchronisierung von Events ermöglicht wird. Das rollenbasierte Berechtigungskonzept nutzt Discord-Rollen in Verbindung mit Slash-Befehlen, um Administrations- und Nutzerfunktionen zu steuern. Das Deployment erfolgt derzeit manuell über Docker-Container auf einem dedizierten Server.
Für die Entwicklung des Gamification-Systems wurde zunächst eine Mitgliederumfrage durchgeführt, um motivationsfördernde Elemente wie Punktesystem, Ranglisten und Belohnungen nutzerzentriert zu gestalten. Aufbauend auf diesen Ergebnissen, sowie unter der Berücksichtigung von wissenschaftlichen Metaanalysen zum Thema Gamification, wurde das Gamification-Konzept entwickelt. Die Evaluation des Gesamtsystems erfolgte durch strukturierte Usability-Tests und Interviews.
Der entwickelte Discord-Bot wurde prototypisch auf einem realen Vereinsserver implementiert und evaluiert. Die Usability-Tests bestätigten, dass die zentralen Funktionen wie Mitgliederregistrierung, Eventbenachrichtigungen und Punkteverwaltung von den Nutzenden als benutzerfreundlich wahrgenommen wurden und eine intuitive Bedienung ermöglichten. Das Gamification-System basiert auf einem Punktesystem, das für Aktivitäten wie Eventteilnahmen, erledigte Aufgaben und Spenden Punkte vergibt. Eine Mitgliederumfrage belegte, dass saisonale Ranglisten, transparente Regeln und Sachprämien als motivierend wahrgenommen wurden, während übermässiger Wettbewerb und komplexe Punkteberechnungen tendenziell kritisch gesehen wurden. Aussagen zur langfristigen Wirkung des Systems auf die Vereinsorganisation können aufgrund der limitierten Einsatzdauer noch nicht getroffen werden, jedoch wurde das System insgesamt als potenziell wertvoll für die Förderung von Engagement und die Automatisierung von Verwaltungsprozessen eingeschätzt.
Perspektiven für eine künftige Erweiterung umfassen die Implementierung eines Admin-Dashboards, um die Verwaltung von Mitgliederdaten, Ranglisten und Transaktionen zu erleichtern, die Integration atomarer Transaktionen zur Sicherstellung einer konsistenten Datenverarbeitung und die Entkopplung der Discord-spezifischen Logik von den Datenbankmodellen. Zudem sollten eine automatische Bereitstellung, automatisierte Kanal-Erstellung sowie Webhooks für Echtzeit-Updates berücksichtigt werden, um das System langfristig effizienter und benutzerfreundlicher zu gestalten. Insgesamt leistet der entwickelte Discord-Bot einen wertvollen Beitrag zur modernen Vereinsorganisation und bildet eine solide Basis für weitere Ausbaustufen
TeachOS: Design and Implementation of an OS for Use in the Operating Systems Lecture Track
TeachOS is an operating System for the x86_64 CPU architecture. It is designed to be an interactive learning tool used in the «Operating Systems 1» and «Operating Systems 2» lecture track at OST.
As part of a previous thesis, a foundation in form of memory management, including physical and heap memory was created. Topics covered included parsing Multiboot2 information, implementing frame allocation and page tables, and using these components to remap the kernel. Based on this, dynamic memory allocation during kernel runtime was implemented using different allocation strategies.
This paper examines the core concept of context-switching in operating systems for the x86 processor architecture. To implement the context-switch mechanisms, multiple operating system concepts had to be researched and implemented. These concepts include Privilege Levels, the Global Descriptor Table, Interrupts and the Interrupt Descriptor Table and Procedure Calls.
To give the newly created access to user mode a purpose, the existing heap implementation has been expanded upon, by utilizing the ```cpp new``` and ```cpp delete``` operators in various data-structures. Additionally a separate user mode heap has been created, which is separated from the kernel mode heap via paging, and is dynamically extended when running out of memory.
This foundation can be extended in the future, by separating kernel-code and user-code binaries. Doing this allows for better separation of the different privilege levels inside the paging mechanism, which in turn better resembles real world operating systems, and thus better fulfills the primary goal of providing an operating system designed for education
OST Marketplace App for Android and iOS using Kotlin Multiplatform (KMP)
Whether students want to reduce clutter, generate extra income or contribute to a more sustainable economy, having an accessible way to sell and buy secondhand or new items can be beneficial. Unfortunately, existing marketplaces are not specifically designed for an academic environment. Their users are spread out and trust is limited, which discourages users from using them. To foster the usage of such marketplaces and combat the mentioned issues, a university-specific marketplace app should be created.
For the frontend, a cross-platform mobile app was developed. A major part of this thesis was the research and evaluation of Kotlin Multiplatform, which was used to develop the app. This provided both theoretical and practical insights into the technology. Various multiplatform-compatible frameworks and libraries such as Compose Multiplatform, Voyager and Koin were utilized. The backend is a REST API built with Python using FastAPI. SQLAlchemy is used as the ORM to interact with a PostgreSQL database. The entire backend, including a search engine, is hosted on AWS, leveraging services such as ECS Fargate, RDS, EC2, and S3. Firebase was used for push notifications, PubNub for real-time chat and Microsoft Entra ID for authentication.
The Kotlin Multiplatform research has concluded that the technology is sufficiently advanced to be used in productive applications. While still young in comparison to its competitors, JetBrains’ support for its technology is evident and its progress is rapid. As of May 6, 2025, the iOS platform has also been marked as stable, meaning that cross-platform mobile development is now fully stable in Kotlin Multiplatform. The developed app, POSTE, is a fully functional marketplace where users can create listings, browse listings, initiate a chat with the seller and much more. OST students can sign in using their OST-specific Microsoft account. This not only enhances the trust among users but also gives a sense of community
Sport live image stabilization in the cloud
Ziel dieser Bachelorarbeit ist die Prüfung der Machbarkeit einer cloudbasierten Softwarelösung zur Bildstabilisierung. Der Fokus liegt bei der Stabilisierung eines Sport Video Streams in der Cloud, der von einer beliebigen Quelle kommt. Die Verarbeitung soll möglichst zeitnah sein, damit der Benutzer den Stream ohne grosse Verzögerung anschauen kann. Dazu wurde ein Limit von maximal 10 Sekunden Latenz für die Stabilisierung gesetzt. Zusätzlich ist die Lösung mit dem neuen, robusten und schnellen Video Streaming Protokoll SRT (Secure Reliable Transport) umgesetzt worden.
Unterschiedliche Verfahren zur Bildstabilisierung wurden auf ihre Eignung für den Einsatz in der Cloud geprüft. Insbesondere im Hinblick auf Performance, Effizienz und Skalierbarkeit. Hierzu kamen verschiedene Bibliotheken und Algorithmen zum Einsatz, deren Stärken und Schwächen anhand von Prototypen in Python und C++ miteinander verglichen wurden. Die eigentliche Umsetzung erfolgte auf Basis von Python und OpenCV, unterstützt durch Containerisierung für eine flexible und schnelle Bereitstellung. Wegen der breiten Unterstützung für wissenschaftliche Bibliotheken und die Vereinfachung der Entwicklung von Prototypen wurde der Vergleich der verschiedenen Algorithmen in Python durchgeführt. Die vielversprechendsten Algorithmen wurden zusätzlich durch gezieltes Anpassen von Parametern, wie dem Smoothing Window, weiter optimiert, um die Stabilisierung qualitativ so gut wie möglich zu gestalten. Das System wurde so konzipiert, dass mehrere parallele Videostreams verarbeitet werden können, ohne dass es zu grossen Qualitätseinbussen kommt. Die entwickelte Applikation ist darauf ausgelegt, dynamisch skaliert zu werden als Microservice und unterschiedliche Anforderungen an die Verarbeitungstiefe abzudecken. Die Leistungsfähigkeit der Lösung wurde sowohl in lokalen Testumgebungen als auch auf einer cloudbasierten Infrastruktur von AWS validiert. Neben der Bildoptimierung wurde auch Wert daraufgelegt, die anfallenden Kosten und die Skalierbarkeit der Lösung zu analysieren, um einen praxistauglichen Ansatz für den produktiven Einsatz zu schaffen.
Die Resultate der Arbeit zeigen, dass eine Auslagerung der Bildstabilisierung in die Cloud grundsätzlich technisch möglich ist. Allerdings erreicht die entwickelte Lösung hinsichtlich Qualität nicht das Niveau von integrierten Systemen wie beispielsweise einer GoPro Hero 7, die speziell für Bildstabilisierung optimiert wurde. Ein wesentlicher Faktor ist zudem der hohe Rechenaufwand, der den Betrieb in einer Cloud-Umgebung kostenintensiv macht. Besonders die Verarbeitung mehrerer Videostreams gleichzeitig führt zu einem signifikanten Anstieg des Ressourcenbedarfs. Gleichzeitig lassen die Erkenntnisse aus den Tests darauf schliessen, dass alternative Lösungsansätze, beispielsweise durch die direkte SRT Server Implementierung in C++ mit integrierter Bildstabilisierung, potenziell bessere Ergebnisse in Bezug auf die Latenz liefern könnten
AI for Creating Standardized Reports
Introduction: This thesis focuses on the intelligent
generation of standardized reports - specifically the
8D report, a widely adopted framework in quality
management used to systematically identify root
causes, implement corrective actions, and ensure
continuous improvement in response to customer
complaints or internal quality issues.
Approach: Rather than fine-tuning a dedicated model
for each specific report template, this thesis
investigates the use of general-purpose AI models -
specifically the large language model (LLM) GPT-4o-
mini - to interpret report structures and task
specifications through prompt engineering and
Retrieval-Augmented Generation (RAG). The system
aims to retrieve relevant information from
heterogeneous data sources and accurately fill the
required report fields, while maintaining constraints
such as report structure, data type consistency, object
integrity, and completeness. Key challenges include:
- Secure handling of sensitive and business-critical
data
- Understanding and processing unstructured
information from diverse sources
- Supporting flexible, customizable report formats
- Minimizing LLM hallucinations and ensuring factual
correctness
- Integrating human-in-the-loop validation for final
quality assurance
To address these challenges, an LLM-powered
pipeline is developed that includes input document
preprocessing, data vectorization, and structured
report content generation. The pipeline also features
an automated self-reflection step that guides the user
in addressing missing or suspicious field values
before intelligently updating the report based on user
instructions. Various strategies - such as few-shot
prompting, static and dynamic query generation,
multi-turn interactions, and ReAct-style agents - are
evaluated to identify optimal configurations. Several
open-source frameworks are assessed, with
particular focus on the toolkit Docling, valued for its
ability to handle multiple document formats, perform
advanced PDF parsing and Optical Character
Recognition (OCR), and support integrated RAG
workflows for automated report generation.
Result: The proposed generative AI-based pipeline is
evaluated for reliability, efficiency, cost, and
scalability. Results show that high-quality
standardized report template creation and content
generation can be achieved without relying on rigid,
code-based applications. Based on the observations
and research, the thesis proposes different
combinations of tools and engineering strategies to
achieve an optimal cost-performance balance,
depending on task complexity and input structure.
The final prototype demonstrates that, with thoughtful
system design, AI-driven report generation is both
practical and adaptable for real-world business use
Entwicklung und Integration eines adaptiven POI-Empfehlungssystems in die Vanlife-Applikation
Einleitung: Das Projekt befasst sich mit der Erweiterung der bestehenden «Vanlife Travel»
Anwendung durch die Entwicklung und Integration eines intelligenten, adaptiven
Empfehlungssystems für Points of Interest (POI). Ziel ist es, das Nutzererlebnis durch personalisierte
Vorschläge für Aktivitäten und Sehenswürdigkeiten entlang generierter Reiserouten zu bereichern
und so die Nutzerbindung sowie den funktionalen Mehrwert der Plattform zu steigern.
Vorgehen: Für die Empfehlungen wurden bestehende POI-Daten aus der Anwendung verwendet, die
ursprünglich aus OpenStreetMap stammen und bereits als tag-basierte Geodaten in einer Datenbank
strukturiert vorlagen. Nutzerpräferenzen werden über einen initialen Fragebogen erfasst und in
einem Profil abgebildet, das einen mehrdimensionalen Benutzer-Vektor (basierend auf Big-Five
Persönlichkeitsmerkmalen), eine TravelPreferenceClass und einen GroupStyle umfasst. Technisch
kombiniert ein hybrider Empfehlungsansatz wissensbasierte Filterung (Abgleich expliziter
Präferenzen mit POI-Tags) und inhaltsbasierte Methoden (Abgleich von POI-Merkmalen mit dem
Nutzerprofil, teils mittels einer TagAffinityMatrix) zur gezielten Lösung des Kaltstartproblems.
Ergänzt wird dies durch profilbasiertes kollaboratives Filtern, bei dem aggregiertes Nutzerfeedback
(Likes/Dislikes) innerhalb von Nutzersegmenten (TravelPreferenceClass) die Empfehlungen
dynamisch anpasst. Dieses System wurde nahtlos in die bestehende Microservice-Architektur der
Vanlife-Plattform integriert, wobei dedizierte Services für Nutzerprofile, POI-Daten und die
Empfehlungsberechnung über RESTful APIs und gRPC kommunizieren.
Ergebnis: Das Resultat ist ein voll funktionsfähiges und skalierbares POI-Empfehlungssystem, das
Nutzern entlang ihrer Reiseroute relevante und personalisierte Vorschläge unterbreitet. Durch die
Zuweisung von Nutzern zu vordefinierten Reisepräferenz-Klassen und die dynamische Aggregation
von Nutzerfeedback (Likes/Dislikes) verbessert das System laufend die Empfehlungsqualität. Ein
Scoring-Algorithmus fusioniert dazu persönliche Relevanzbewertungen – basierend auf der Affinität
des individuellen Benutzer-Vektors zu POI-Tags (unterstützt durch eine TagAffinityMatrix) – mit
gruppenbasierten Bewertungen, die aus dem Feedback ähnlicher Nutzer (gleiche
TravelPreferenceClass) abgeleitet werden. Diese Scores werden gewichtet zu einem Gesamtwert
kombiniert, was zu nachvollziehbaren und relevanten Vorschlägen führt. Die Lösung ist erfolgreich in
die Frontend- und Backend-Strukturen eingebettet und bereit für den produktiven Einsatz, um die
Reiseplanung für Vanlife-Enthusiasten intelligenter und inspirierender zu gestalten
Securaware: Plattformlösung zum individualisierten CybersecurityTraining für Privatpersonen
Phishing zählt zu den am weitesten verbreiteten Angriffsformen im Bereich der Cybersecurity und gewinnt durch die voranschreitende Digitalisierung zunehmend an Relevanz im Alltag. Insbesondere Privatpersonen sind häufig unzureichend gegen derartige Angriffe geschützt und benötigen gezielte Massnahmen zur Steigerung ihrer Sicherheitskompetenz.
Im Rahmen dieser Bachelorarbeit wird ebendiese Lücke durch die Konzipierung einer Schulungsplattform und Entwicklung eines Prototypen geschlossen. Dieser Prototyp sensibilisiert Privatpersonen für Phishing mithilfe von theoretischen und praxisorientierten Inhalten, Simulationen und Beispielen. Bestehende Awareness-Lösungen, typische Vorgehensweisen von Angreifern und erkennbare Merkmale von Phishing-E-Mails werden in einem ersten Schritt analysiert, um daraus Anforderungen abzuleiten. Darauf aufbauend werden Features und eine Software-Architektur hergeleitet und durch Anwendung von state-of-the-art Software-Engineering-Praktiken der Prototyp implementiert. Mittels eines Usability-Tests wird die Benutzererfahrung evaluiert und optimiert.
Es wurde eine innovative und benutzerorientierte Schulungsplattform konzipiert und umgesetzt, welche Benutzer anhand von Phishing-Simulationen, Online-Kursen und Tests über Betrugsversuche im Internet präventiv informiert. Zukünftig kann Securaware iterativ weiterentwickelt und kommerziell verwendet werden
Linear Type Systems: What Are They, and How Are They Used in Programming Languages
In every programming language, resource management, including memory management, is an essential part of the language. In C/C++, resource management is done manually and therefore the responsibility lies with the developer.
This gives you the most control, but it can also lead to errors such as user-after-free and double-free. In contrast, many so-called high-level programming languages use an automatic system with garbage collectors to clean up unused memory. With Rust, there is a system programming language that offers many advantages of manual resource management without sacrificing resource safety.
The goal of this paper is to present a type system for a functional programming language that enables a runtime system to perform resource management without a garbage collector.
To study the type system for such a functional programming language, the simply typed lambda calculus is used and then extended by a linear type system. This linear type system already enables a certain resource safety.
By adding ownership typing, the type system enables a garbage collector free runtime system.
A simply typed lambda calculus with a linear type system was presented, which also features a borrowing type system known from Rust. With the type system presented, it is possible to implement a functional programming language that does not require a garbage collector and shifts many errors in resource management to compile time
Dynamic View Data Warehouse: Intelligente Datenverwaltung mit erweiterten Analysemöglichkeiten
Das Dynamic View Data Warehouse (DVDW) ist eine modulare Plattform zur Vereinheitlichung und Analyse heterogener Unternehmensdaten. Es integriert strukturierte Dateien (CSV, TXT, Excel) mithilfe intelligenter Mustererkennung und ermöglicht deren Nutzung über dynamische Sichten, Import-Management und ein konfigurierbares Dashboard. Das Frontend bietet interaktive Datenvisualisierung und flexible Dashboards, während das Backend für Importe, Validierung, Scheduling und Suchfunktionen verantwortlich ist. Ein separater Authentifizierungsdienst gewährleistet sichere Zugriffe mit rollenbasierter Kontrolle.
Das System findet Anwendung in Qualitätsmanagement, Fertigung und Reklamationsanalyse, wo es den manuellen Rechercheaufwand signifikant reduziert und Entscheidungsprozesse beschleunigt. Die Arbeit folgt agilen Praktiken und zeigt, wie moderne Datenintegration und Business-Intelligence-Technologien zu praxisnahen, übertragbaren Lösungen führen