eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
1196 research outputs found
Sort by
Instant Payment Integration at the Point of Sale
Diese Bachelorarbeit befasst sich mit der Konzeption und prototypischen Umsetzung einer Zahlungslösung, die Instant Payments (IP) und Open Banking für den Einsatz im Onlinehandel und am physischen Point of Sale nutzbar macht. Ziel war es, die technische Machbarkeit eines Systems zu demonstrieren, das IP-Zahlungen in Echtzeit validiert und damit eine sofortige Warenfreigabe ermöglicht.
Nach einer Analyse verschiedener technischer Umsetzungsoptionen wurde ein Ansatz gewählt, bei dem die Zahlungsplattform direkten Zugriff auf das Empfängerkonto hat, um Zahlungseingänge in Echtzeit zu überprüfen. Hierfür wurde ein System mit einem .NET-Backend, einem Next.JS-basierten Händlerportal und einer Angular-Checkout-Seite entwickelt. Die Datenhaltung erfolgt mittels PostgreSQL und Redis, während eine Testbankenumgebung der Innofactory AG für die Simulation von IP-Zahlungen und den Abruf von Transaktionsdaten über eine Open-Banking-Schnittstelle eingesetzt wurde.
Die entwickelte Lösung demonstriert die technische Machbarkeit einer solchen Plattform und identifiziert zudem auch bestehende Hürden, darunter Gebühren für IP-Zahlungen, die noch geringe Verbreitung von IP-versendenden Banken und Usability-Aspekte von Mobile Banking Apps bei der Erfassung von IP-Zahlungen. Interviews mit Fachpersonen des Banken- und E-Commerce-Sektors sowie eine begleitende Umfrage gaben zusätzlich Aufschluss über Marktpotenziale, Anforderungen und Akzeptanzkriterien
Development of a scalable and secure RAG-as-a-Service infrastructure
Large Language Models (LLMs) have become very popular with the introduction of chatbots such as ChatGPT or Gemini. LLMs are very good at Natural Language Processing (NLP), which means they have the ability to interpret and communicate in human language. However, they are limited to the knowledge used during training, so it is difficult and resource-intensive to keep them up-to-date and/or to integrate domain-specific knowledge. In addition, LLMs tend to hallucinate and give inaccurate answers when the specific data is not available in the language model.
To overcome these limitations, Retrieval-Augmented Generation (RAG) has been introduced. This novel approach facilitates the incorporation of up-to-date and domain-specific knowledge, while reducing the hallucination of LLMs by providing missing information in a targeted manner. These substantial benefits have led to the popularity of RAG.
One of the most pressing concerns in many RAG implementations is the security and privacy of the data involved, especially when handling sensitive or classified information. Ensuring that data remains within authorized boundaries, maintaining full traceability, and preventing unauthorized data exposure are critical requirements.
To address these challenges, we propose an architectural blueprint and core functionality for a secure and scalable RAG-as-a-Service infrastructure. This design emphasizes local data processing and containment within system boundaries, enabling predictable data flows and robust privacy protection. The system incorporates the security risks and mitigation strategies identified in our prior research, ensuring adaptability and resilience through a modular and customizable core framework. Furthermore, the architecture is designed for seamless scalability and to host multiple systems on a single infrastructure. This makes it suitable for a wide range of use cases and deployment scenarios.
The system's core components were developed using a microservice-based design and deployed via Kubernetes to ensure scalability and adaptability. Security was a central concern throughout the implementation process. In addition to encrypting all external traffic, we integrated a modern authentication solution based on the OAuth 2.0 and OpenID Connect standards to safeguard our RAG system. The resulting platform is fully operational and will be used during our hands-on workshop at the IEEE Swiss Conference on Data Science (SDS2025) on June 26, 2025, at the Circle Convention Center, Zurich Airport. Additional steps included comprehensive system testing and thorough preparation for the upcoming workshop.
Keywords: Retrieval-Augmented Generation (RAG), RAG Security, RAG-as-a-Service, Data Security, Privacy, Scalable Architecture, Secure AI Systems, Local RAG Pipeline, Large Language Models (LLMs), Natural Language Processing (NLP), Microservice Architecture, Docker, Kubernetes, Workshop, SDS2025, IEE
Architektur-Refactoring der Produktionsplanungs-Software EVOPRO
Diese Arbeit untersucht die Neugestaltung der über Jahre gewachsenen Produktionsplanungssoftware EVOPRO mit dem Ziel, Wartbarkeit, Erweiterbarkeit und Testbarkeit zu verbessern. Ausgangslage war ein monolithisches System mit unklarer Trennung der Verantwortlichkeiten, hoher Kopplung zwischen Fachbereichen und geringer Testabdeckung. Dies führte zu Instabilitäten nach Releases und langen Umsetzungszeiten bei neuen Features.
Im Projekt wurden die Architektur und die geforderten Qualitätseigenschaften analysiert. Auf Basis etablierter Architekturmuster – insbesondere Modularen Monolithen und Clean Architecture – entstanden modulare Strukturen mit klaren Verantwortlichkeiten und Schnittstellen. Fachlogik wurde in Use Cases gebündelt und die Architektur durch automatisierte ArchUnit-Tests abgesichert. Zudem entstand ein schrittweiser Plan zur Umsetzung des Refactorings.
Die prototypische Implementierung ausgewählter Module zeigt, wie die Architektur schrittweise modernisiert werden kann. Durch die Trennung von Fachlogik und Infrastruktur, Use-Case-zentriertes Design und automatisierte Tests konnten Abhängigkeiten reduziert und die Testbarkeit gesteigert werden. Das Vorgehen ist auf weitere Module übertragbar und bildet die Grundlage einer nachhaltigen Modernisierung von EVOPRO
Hydra - Multi-Incident Management - Simplified
Die vorliegende Masterarbeit beschäftigt sich mit der Entwicklung eines Softwaresystems zur Unterstützung der freiwilligen Feuerwehr bei der Bewältigung von Mehrfachereignissen, wie z. B. Hochwasser. Das System Hydra zielt darauf ab, die administrative und kommunikative Belastung während solcher Ereignisse zu reduzieren. Die webbasierte Plattform ermöglicht die Erfassung und Priorisierung von Meldungen sowie das Zuweisen von Einsatzkräften zu Ereignissen. Die Visualisierung laufender Einsätze auf einer interaktiven Karte sowie ein Kanban-Board bieten eine gute Übersicht über die aktuelle Lage. Diese Visualisierung ist in zwei Varianten verfügbar, einerseits für den Einsatzleiter und andererseits für die Truppchefs.
Die Arbeit basiert auf einer umfassenden Analyse der Anforderungen und Prozesse der themengebenden Feuerwehr. Diese identifizierte die Notwendigkeit eines einfachen und erweiterbaren Systems, das ohne grossen Schulungs- und Wartungsaufwand eingesetzt werden kann.
Erste Rückmeldungen der Anwender zeigen, dass eine einfache übersichtliche Darstellung der Ereignisse die administrative Belastung reduziert und dazu beitragen kann, die Effizienz der Einsatzkräfte zu steigern
Infrahub meets K8s
As part of the "Infrahub meets K8s" project, an automated system for configuration and deployment management in Kubernetes environments was designed and implemented. At its core, the system utilizes Infrahub as a centralized inventory system and authoritative source of truth, where the desired state of Kubernetes resources is defined. A custom Kubernetes Operator, VIDRA, continuously monitors this desired state and ensures its reconciliation by automatically deploying the corresponding resources into the Kubernetes cluster. With this approach, it becomes feasible to manage the entire infrastructure of a company declaratively and consistently through Kubernetes, enabling streamlined operations and improved scalability.
System Components:
- Infrahub: Central inventory system and source of truth for all Kubernetes configurations.
- VIDRA Operator: A custom Kubernetes Operator written in Go (using the Operator SDK), responsible for continuously reconciling the desired state from Infrahub and applying changes to the cluster.
- Python Transformers: Modules that convert Infrahub's structured infrastructure data into valid, deployable Kubernetes manifests.
- Flask Web Interface: A lightweight, user-friendly frontend that allows self-service infrastructure requests.
- VIDRA CLI: A terminal-based command-line interface built with Cobra for interacting with the VIDRA Operator.
Key Features:
- Automated Deployment: Enables streamlined and hands-off provisioning of infrastructure and configuration.
- State Reconciliation: Ensures that the actual state in the Kubernetes cluster always matches the declared state in Infrahub, detecting and resolving configuration drift automatically.
- Centralized Management: Offers unified visibility and control over infrastructure resources through a single, authoritative source of truth.
Conclusion:
The “Infrahub meets K8s” project presents a modern, extensible framework for infrastructure automation in Kubernetes-based environments. By unifying centralized configuration management in Infrahub with continuous deployment and reconciliation via the custom VIDRA Operator, the system embodies core GitOps principles
Bringing Context Mapper to the Developer’s Workflow
Context Mapper provides a Domain-Specific Language (DSL) for modelling software systems using Domain-Driven Design patterns.
The Context Mapper DSL (CML) language supports patterns from strategic and tactic DDD, as well as Value-Driven Analysis and Design.
Context Mapper currently offers an Eclipse and VSCode plugin.
IntelliJ, a popular IDE among Java developers, is not yet supported, potentially preventing Context Mapper's widespread adoption.
This thesis aims to enhance the developer's workflow by developing a proof of concept for a Context Mapper IntelliJ plugin and outline a path for the plugin to be extended to full functionality.
To achieve this goal, this thesis provides an overview of current language workbenches (frameworks for creating DSLs) and options for integrating DSLs in IntelliJ.
From these technologies, the thesis evaluates the most suited technology to develop the proof of concept (PoC).
The implemented plugin uses LSP4IJ, an open-source IntelliJ plugin based on the Language Server Protocol, and Langium, a TypeScript DSL framework.
The PoC successfully implemented important editor features, such as syntax highlighting, hyperlinking, autocomplete and a PlantUML component diagram generator.
Future work includes providing a Java library for reading and writing CML models, so Context Mapper's existing Java tools can be migrated as well.
Keywords: Context Mapper, Domain-Specific Language, Language Server, IntelliJ, Editor Suppor
Antimony: A visual approach to designing and deploying Containerlab networks.
Containerlab is a powerful framework for container-based network emulation but lacks a user-friendly graphical interface and fine-grained access management. This makes it less accessible to users unfamiliar with CLI-based workflows and less suitable for usage in large-scale lab environments. This thesis presents the completion of Antimony, a tool that addresses these very problems by providing a server that communicates with the Containerlab tool chain and a user-friendly interface for designing, deploying and maintaining network topologies.
The goal of this thesis is to develop a platform that simplifies the integration of Containerlab into educational lab environments. A user-interface makes it easier for students and teachers to understand networking concepts and design networks through visual topology management.
Building on our previous thesis, whose goal was to develop an initial interface prototype, this work focuses on finalizing that prototype and designing a robust server that acts as the binding between the interface and Containelab. By developing our own server, we are able to implement features such as log streaming and fine-grained access management.
The resulting product is a user-friendly platform that can be deployed locally for personal testing, as well as in large-scale educational environments. Thanks to our flexible authentication scheme, it is possible to seamlessly integrate with existing university infrastructure such as Azure AD or other OpenID providers
Using 3D Game Engines to Build Digital Twins for Industrial Machine Simulation and Testing
Developing control software for
industrial machines requires careful planning.
However, it is still crucial to test the software before
deploying it on a physical machine. To create
meaningful tests, a digital twin that can simulate the
behavior of the real machine is required. Yet, creating
such digital twins can be both costly and complex –
and often, they still fall short when it comes to offering
realism. In light of these challenges, AVM
Engineering AG approached us with the task of
evaluating whether modern game engines are
suitable for developing digital twins of their industrial
systems. Our objective was to design a workflow for
creating such digital twins and to demonstrate it using
parts of a package distribution machine.
Research into digital twins
and 3D simulation highlighted the potential game
engines provide with their advanced physical
simulation capabilities. To determine the most
suitable platform for implementing digital twins, we
analyzed and compared the leading game engines –
Unity and Unreal Engine 5. Based on performance,
visual fidelity, extensibility, and licensing terms, we
chose Unreal Engine 5. For reliable and standardized
data exchange with industrial equipment, we used
OPC UA, the de facto communication standard in
industrial automation.
To enable communication between Unreal Engine 5
and industrial controllers, we required a bridge
between the OPC UA server and the game engine.
For this, we integrated open62541, an open-source
OPC UA implementation in C, into the game engine.
To simplify the communication with the server we
created custom Blueprint functions, the visual
scripting language of Unreal Engine, for a simple
drag-and-drop experience when building a digital
twin. These building blocks enable read, write and
subscribe operations from the game engine to the
OPC UA server. In addition, we investigated the
process of converting existing CAD models into
assets suitable for use in Unreal Engine 5. This
allows for highly realistic representations of industrial
components within the digital twin.
The integration of modern game engine
technology with industrial automation tools enables
the creation of highly customized digital twins. In this
case, it allowed for a real-time simulation of the
control logic developed for the package distribution
machine, providing a safe and efficient environment
to test and validate the software under realistic
operating conditions—without the need for the
physical system.
To showcase the capabilities of our Blueprint
functions and to make our approach to digital twin
development more accessible, we designed and
implemented custom models inside Unreal Engine 5.
These models were specifically created to replicate
key elements of the package distribution
system—most notably, the conveyor belt mechanism.
The components not only illustrate common use
cases when it comes to OPC UA communication but
also incorporate realistic physics simulations to
closely mimic real-world behavior. User testing
confirmed that our construction-based approach is
intuitive and effective, significantly supporting the
understanding and development of digital twins for
complex systems
Matching and Conflation of Open Government Data with OpenStreetMap Data
This thesis addresses the absence of a reliable, openly licensed, repeatable workflow for conflating authoritative POI from Swiss OGD sources with heterogeneous OSM data—a gap that increases duplication,staleness, and manual curation cost. The objective was to design and evaluate an auditable end-to-end pipeline (DiffedPlaces) that ingests brand and retailer feeds from ATP together with contemporaneous OSM extracts, generates spatially and semantically blocked candidate pairs for Switzerland (Oct 2024–Aug 2025), and resolves matches via a tunable rule-based scorer and a supervised machine learning (ML) RandomForestClassifier. Two golden datasets underpinned evaluation: a brand-focused Aldi Süd Switzerland subset (246 outlets) and a stratified multi-category random sample (200 POI). The evolved ML matcher achieved Precision 1.0000, Recall 0.9957 (F1 0.9978) on the brand subset and improved F1 on the heterogeneous sample while substantially lowering false positives versus the tuned rule-based approach. The resulting workflow delivers reproducible, high-precision conflation, reduces audit workload, and provides a transferable governance template for integrating additional authoritative OGD feeds into OSM with transparent quality controls
BeLuA - Abklärungsinstrument im Kindesschutz
Mit dem „Berner & Luzerner Abklärungsinstrument im Kindesschutz“ (BeLuA) wurden auf wissenschaftlicher Basis Kriterien zur Beurteilung einer Kindeswohlgefährdung definiert, mit dem Ziel, objektivere und nachvollziehbare Entscheidungen in Abklärungsfällen treffen zu können. Das auf dem BeLuA Ansatz basierende BeLuA Tool – eine Webapplikation - ist der Gegenstand der vorliegenden Arbeit. Das BeLuA Tool wird im Kanton Zürich vor allem von Sozialarbeitenden in den Kinder- und Jugendhilfezentren (kjz) zur Unterstützung des Abklärungsprozesses verwendet.
In der vorliegenden Arbeit wurde anhand eines nutzerzentrierten Vorgehens ein neues Interaktionskonzept basierend auf dem BeLuA Ansatz entwickelt, mit den Zielen die Einfachheit der Bedienung und Attraktivität für die Nutzenden, sowie auch die Qualität und Effizienz der Abklärungsarbeit zu verbessern.
Angefangen wurde mit einer Nutzerforschung, um den Kontext und die Ziele der Nutzenden in Bezug auf den Abklärungsprozess besser zu verstehen. Anschliessend wurde in zwei Iterationen Lösungsansätze, Konzepte und Prototypen entwickelt, die wiederum mit Nutzenden getestet wurden.
Am Ende der Arbeit liegt das Konzept in Form eines Prototyps vor, welches von den Nutzenden grundsätzlich als nützlich, motivierend und attraktiv bewertet wird. Der vorliegende Konzept-Prototyp kann als funktionaler Prototyp bzw. MVP umgesetzt und pilotiert werden, um damit die Fragen bezüglich der Effizienz, Output-Qualität und Einfachheit der Bedienung abschliessend beurteilen zu können