eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
1196 research outputs found
Sort by
Design of a locomotive UI for system testing (BA)
This project presents a novel UI prototype for a locomotive testing system that specifically targets the driver's cab.
Starting from the cluttered and unstructured LabVIEW application, our goal was to design and develop a new application that was user-friendly and structured.
By aligning the structure with the real locomotive, the prototype aims to provide an intuitive user experience.
The resulting prototype takes a component-based approach and focuses on design, extensibility and modularization.
The design was developed with Figma and implemented using web technologies; more specifically an Electron application combined with React was implemented.
A key feature is the customization capability through a configuration file in CSV format, allowing flexible configuration of modules and variants.
To simulate the prospective interface connection, a mock-backend was created, as the actual backend implementation is pending.
This project provides a solid foundation for further development and demonstrates the possibilities of extending the application with additional views and functionality, ultimately serving as a valuable platform for ongoing work in this area
Digitally Connecting Machines in Mettler Toledo Shopfloor
With the global shift towards Industry 4.0 and smart manufacturing, there is a growing need for more interconnected and intelligent production systems to connect and integrate everything smoothly.
This thesis focuses on developing a solution to integrate into the Lean Manufacturing Execution System (LMES) at Mettler-Toledo, aiming to make it a centralized hub for efficient data transmission and analysis in smart manufacturing practices. It addresses the challenge of standardized device connectivity in shopfloor environments, which currently lack a unified approach, leading to operational inefficiencies.
A variety of architectures and communication protocols were explored, with MQTT emerging as the optimal choice due to its lightweight and efficient characteristics for the AUBO i7 cobot proof-of-concept at Mettler-Toledo. The project demonstrates the successful development and integration of an MQTT client prototype into LMES, enhancing its data handling capabilities and aligning with modern IoT practices. Considering the complex nature of industrial environments, the implementation of MQTT within the LMES framework represents a shift towards more agile and responsive manufacturing processes.
The thesis lays the groundwork for future innovations in industrial device interconnectivity, highlighting the importance of flexibility, scalability, and strategic architecture and protocol selection in industrial automation. The outcomes of this project serve as a steppingstone towards a more interconnected and intelligent industrial future, paving the way for further technological advancements in the field
Vandalism detection in OpenStreetMap
Aufgabenstellung:
Diese Arbeit gliedert sich in zwei Teile: Teil 1 beschäftigt sich mit der Zusammenstellung einer Datensammlung von Lokalitäten (Ortsnamen) im deutschsprachigen Raum, die in OpenStreetMap (OSM) als "Bad Edits" (=unerwünschte Änderungen) identifiziert wurden. Teil 2 besteht aus der Programmierung von Funktionen in Python, die die Ähnlichkeit von eingegebenen Wörtern mit Wörtern aus den "Bad Words"-Listen überprüfen. Damit soll festgestellt werden, ob es sich bei der Änderung in OSM um einen möglicherweise tatsächlich existierenden Ort handelt oder nicht. Im Verdachtsfall wird das Wort in eine CSV-Datei geschrieben, die dann manuell überprüft werden kann.
Vorgehen / Technologien:
Im ersten Teil wurden mehrere Datensammlungen jeweils in Deutsch (de) und Englisch (en) erstellt. Aus dem Korpus "deTenTen 20" (de) des Portals Sketchengine wurden ca. 270 Wörter und aus Kaggle (en) ca. 1600 Wörter mit vulgären Ausdrücken zusammengestellt. 20 Bad Edits wurden aus OSM gesammelt, und zwar mit Hilfe des Online-Tools OSMCha, das sogenannte "Changesets" filtert und ausgibt. Die sehr geringe Zahl von 20 gefundenen Bad Edits ist vor allem darauf zurückzuführen, dass OSM über Mechanismen verfügt, die einen Grossteil der unerwünschten Bad Edits abfangen, bevor sie weitergegeben werden. Zu Test- und Trainingszwecken wurden zusätzlich ca. 1200 deutschsprachige Namen mit dem OSM-Online-Tool Overpass-Turbo aus OSM extrahiert. Dabei kann das Untersuchungsgebiet eingeschränkt werden (Abb. 2).
Im zweiten Teil wurden verschiedene Algorithmen mit Zeichenketten-Metriken verglichen, die normierte Werte zwischen 0.0 (ungleich) und 1.0 (gleich) zurückgeben. Implementiert wurden die Algorithmen Jaro-Winkler (JW), Levenshtein (LV), Smith-Waterman (SM) und Cosinus-Distanz (CD). Der am besten geeignete Algorithmus wurde evaluiert und ein geeigneter Schwellenwert heuristisch bestimmt.
Ergebnis:
Im Folgenden sind die Ergebnisse für vier Testmetriken aufgeführt (Abb. 3 links): F1-Score: SM 0.99, CD 0.99, JW 0.99, LV 0.99; "False Positives Rate": SM 0.94, CD 0.85, JW 0.66, LV 0.0; "False Discovery Rate": SM 0.68, CD 0.89, JW 0.96, LV 0.99; "True Negative Rate": SM 0.84, CD 0.92, JW 0.92 LV 0.84. Die "True Negative Rate" und vor allem die F1-Scores sind bei allen Algorithmen ähnlich. Bei der False "Discovery Rate" und der "False Positives Rate" schneidet der LV-Algorithmus am besten ab. Der SM-Algorithmus funktioniert bei der Erkennung von Wortähnlichkeiten nicht so gut; wahrscheinlich weil er entwickelt wurde, um lange DNA-Sequenzen zu finden. Der CD-Algorithmus scheint ebenfalls besser geeignet, um ganze Sätze zu vergleichen. Der JW-Algorithmus, eine Weiterentwicklung des LV-Algorithmus, schneidet etwas besser ab als die CD- und der SM-Algorithmen. Im Gegensatz zum LV-Algorithmus legt der JW-Algorithmus mehr Wert auf gleiche Wortanfänge, was für längere Wortketten oder Texte geeignet ist. Der LV-Algorithmus bestimmt, wie viele Mutationen durchgeführt werden müssen, um zu dem zu vergleichenden Wort zu gelangen. Er hat Vorteile bei kurzen Zeichenketten was für das vorliegende Problem am geeignetsten zu sein scheint. Mit ca. 1300 Testwörtern und einem heuristisch ermittelten Schwellenwert von 0.86 lieferte er alle True-Positives und nur 4 False-Negatives (Abb. 3 rechts). Zu beachten ist, dass in Abb. 3 rechts die Sekundärachse (rechts) für alle Metriken gilt ausser für die True Positives, für welche die linke Primärachse verwendet wurde
Swisscom Design System - Server-Side-Rendering
Introduction
Swisscom has its own design system, the Swisscom Digital Experience (SDX). It consists of a component library, UX principles, design guidelines, documentation, and rules. In this design system, Swisscom offers web components, reusable styled building blocks, build using StencilJS. This research project investigates the integration of Server-Side rendering (SSR) with these components. When built with StencilJS and combined with SSR, web components are not interactive and do incorporate incorrect CSS styling. The project focuses on addressing these issues. Additionally, it seeks solutions for integrating these web components within the frameworks Angular and Next.js.
Approach
The methodology involved a series of experiments to tackle the challenges in implementing SSR with StencilJS. These experiments included resolving interactivity deficits and rendering inconsistencies within Stencil’s SSR framework, as well as exploring the integration of StencilJS web components in Angular and Next.js frameworks. The performance aspects of SSR were inspected in a simple Node.js environment using Express.js as a server and within an Angular application. The aim was to comprehensively evaluate the efficiency and responsiveness of SSR in different contexts.
Result
The findings revealed that manually adding ESM scripts post rendering resolved the interactivity issues. Incorrect CSS styling, linked to bugs in StencilJS, was addressed through a CSS-grid based workaround. The integration of StencilJS web components with Angular was achieved by defining Angular output targets and pre-rendering the components. Integrating these components into Next.js presented significant challenges. The investigation revealed that, in its current state, Next.js is not compatible with StencilJS. This necessitates the development of react wrapper generator aimed at encapsulating Stencil components within React components, enabling seamless integration into the Next.js framework. Regarding performance, SSR generally demonstrated a faster response than clientside rendering, particularly in the first contentful paint. However, this performance advantage was not consistent across all scenarios.
The outcome of this project showed that SSR is possible with StencilJS web components. However, we identified a number of remaining issues with the current tooling for Stencil SSR support, necessitating the development of custom solutions and workarounds. While the integration of StencilJS web components within Angular and Next.js is achievable, it demands significant setup and configuration, especially for Next.js. Nevertheless, as framework compatibility improves, the efficiency and user experience offered by SSR with StencilJS web components are expected to become more pronounced, highlighting the promising future of this technology in web development
Systematic Identification of Vulnerabilities in C and C++ Source Code through Fuzzing
Abstract
Introduction
--------------
As software becomes more complex security issues in applications grow. This research focuses on the use of high-performance fuzzing techniques and also investigates performance parameters for fuzzing in different contexts. Fuzzing is a method of finding software vulnerabilities by injecting random data into programs to reveal and fix potential security flaws. The goal is to use an advanced fuzzing framework to identify vulnerabilities in real-world open-source C and C++ software, thereby improving its robustness and security.
Approach
--------------
To find a suitable project for fuzzing, the search targeted software that accepts input from users or external sources, focusing on areas most likely to contain vulnerabilities. A variety of open-source C and C++ projects with significant user interaction components were selected. A fuzzing harness was then created to test these critical areas of the software, utilizing various inputs and seed values. Employing white-box fuzzing, full access to the source code allowed for more informed tests, simplifying bug identification and avoiding reverse engineering as in black-box fuzzing. Once the tests were executed, the resulting bugs and hangs were analyzed to understand their causes and potential security implications. Metrics such as the number of bugs found, the types of vulnerabilities, and the duration of tests were collected to assess the effectiveness of the fuzzing process.
Conclusion
--------------
This project used advanced fuzzing techniques to test real-world C and C++ open-source projects. The fuzzing framework successfully reproduced many known security vulnerabilities, proving its effectiveness and reliability. Although no new vulnerabilities were found, the high performance and efficiency of the setup make it suitable for ongoing security testing. The metrics collected - such as the number and types of bugs found and test durations - highlighted areas for improvement. The results demonstrate the robustness of the code in the context of penetration testing and security audits, underscoring the importance of continuous security testing and how fuzzing can enhance software security
FlatFeeStack: Fraud Resistant Multiplier Feature
Open-source software development relies heavily on community support and financial contributions.
This Term Project presents a novel extension to the existing sponsorship platform FlatFeeStack. This
project introduces two critical innovations: a Multiplier Option and a comprehensive Fraud Prevention
Mechanism.
The Multiplier Option enables foundations to conditionally sponsor open-source repositories, wherein
donations are triggered only after an initial user sponsorship. This approach establishes a collabo-
rative funding model designed to encourage broader community participation. At the same time, it
preserves the core values of FlatFeeStack: making the donation process as equitable, fair, and trans-
parent as possible.
The Fraud Prevention Mechanism incorporates a sophisticated health scoring system that evalu-
ates Git metrics and various internal sponsoring activities. Together, these six metrics form the Health
Value. The scoring model enables administrators to review and evaluate repository assessments, al-
lowing them to decide whether to certify the repository based on the provided evaluation. Moreover,
only repositories within sponsoring bundles that include at least one verified repository are eligible to
receive multiplier funding.
By integrating these features, the extension addresses key challenges in open-source funding,
namely incentivize sponsorship and mitigating potential fraudulent activities. The implementation
demonstrates a flexible, security-conscious approach to supporting open-source ecosystem sustain-
ability
OST ResearchNavigator: Projekt-Tracking-Software für die Ostschweizer Fachhochschule
Die OST führt im Rahmen der angewandten Forschung vielfältige und innovative Projekte durch. Derzeit erfolgt die Veröffentlichung direkt in den fachspezifischen Kanälen. Eine zentrale Übersicht, die eine schnelle Suche nach Projekten anhand von unterschiedlichen Kriterien ermöglicht, existiert jedoch noch nicht. In einer neuen Lösung, dem OST ResearchNavigator, sollen Projekte aller Organisationseinheiten der OST einheitlich mit relevanten Inhalten erfasst und publiziert werden können. Durch diese einheitliche Lösung kann die Kommunikation in einem definierten Prozess von der OST besser überprüft werden.
Ziel dieser Studienarbeit ist die Erstellung eines Prototyps der gewünschten Lösung. Basierend auf den Strukturen und Prozessen der OST sowie den relevanten Projektmetadaten wurde ein geeignetes Datenmodell erstellt. Daraus wurden die wichtigsten Such- und Filterkriterien abgeleitet. Eine Technologieanalyse mit dem Fokus auf Erweiterbarkeit führte zur Auswahl der folgenden Komponenten: Ein Nuxt.js Web-Frontend, das mit einer ASP.NET Core API kommuniziert. Eine PostgreSQL Datenbank zur Speicherung der Projektdaten, sowie ein MinIO Fileserver, der zur Ablage von Projektdateien dient. Benutzertests mit zwei Professoren des Instituts für Interaktive Informatik trugen zur Optimierung der Benutzeroberfläche bei, die sich am OST-Design orientiert. Die Systemkomponenten wurden vollständig containerisiert, um eine hohe Portabilität und ein einfaches Deployment zu gewährleisten.
Der erfolgreiche Prototyp erlaubt es Mitarbeitenden der Hochschule, ihre Projekte einheitlich zu erfassen. Ein klar definierter Veröffentlichungsprozess stellt sicher, dass Projekte umfassend geprüft werden. Such- und Filterfunktionen ermöglichen es Projekte gezielt zu finden. Zusätzlich erleichtern OST-übergreifende Statistiken den Überblick über die Forschungsaktivitäten. Somit genügt der Prototyp allen Anforderungen, die für eine erste Pilotphase essentiell sind. Nicht-funktionale Anforderungen wie Bedienbarkeit, Performance und Wartbarkeit wurden mithilfe von Usability-Tests, Load-Tests und Metriken wie Branch-Coverage überprüft. Aus sicherheitstechnischer Sicht wurde eine einfache Benutzerautorisierung implementiert, die jedoch aus Gründen der Systemintegration noch keine Authentifizierung beinhaltet. Um den Kundennutzen sicherzustellen, wurden der Projektplan und der Projektfortschritt in regelmässigen Abständen dem Auftraggeber präsentiert. Das Resultat dieses Projektes stiess auf überwiegend positives Feedback beim Auftraggeber, was als erfolgreicher Projektabschluss aufgenommen wird.
In einer anschliessenden Bachelorarbeit wird das Produkt weiterentwickelt. Dabei soll die Benutzeroberfläche, sowie auch die Suchfunktionalität weiter verbessert werden. Ausserdem soll die Anwendung um weitere Funktionen wie beispielsweise eine Administrationsoberfläche, ein Authentifizierungssystem oder eine KI-basierte Datenextraktion erweitert werden
Wish an instant map!
The aim of this work is to develop a proof-of-concept (POC) for an open-source QGIS plugin capable of translating natural language queries into Overpass-QL to perform spatial, temporal and attributive filtering of OpenStreetMap (OSM) data. The plugin visualises query results directly in QGIS. For example, a query like "All cafés within 50 metres of a fountain in St. Gallen" is processed and rendered as a map. Unlike existing solutions that either require knowledge of Overpass-QL (e.g. QuickOSM) or are proprietary, this plugin aims to make such functionality accessible to non-experts.
The query processing consists of three main steps: (1) geoname recognition and geocoding (e.g. resolving "St. Gallen"), (2) recognition and semantic alignment of spatial entity sets (SES) with OSM attributes (e.g. mapping "café" to `amenity=cafe`), and (3) generation of Overpass-QL queries. Early attempts to implement the plugin using open source models such as LLaMA yielded suboptimal results. Consequently, a fine-tuned OpenAI GPT-4o model was used, resulting in significant improvements in query generation. Geonames were resolved using Photon, an OSM-based geocoder, in addition to OpenAI's assistant, and SES were mapped using semantic similarity analysis with pre-embedded OSM tags.
The finetuned LLMs were evaluated using 100 natural language queries, with the best fine-tuned GPT-4o model achieving a BLEU score of 0.67, significantly outperforming base models and open source alternatives. The exact match rate was 0.09, indicating room for improvement in the generation of perfectly accurate queries. Most of the generated Overpass-QL queries were functional within QGIS, with a high validity rate, although still lacking in semantic precision.
The resulting QGIS plugin, called Wish an Instant Map! (WAIM), was implemented in Python using the two preprocessing steps, together with the finetuned OpenAI LLM. The graphical user interface includes text input for queries, support for current map extents, and an expert mode for editing OverpassQL. While the system has demonstrated feasibility through black-box testing with English language queries, challenges remain, including reliability of generated queries and reliance on proprietary LLMs.
Future improvements can include the development of an OSM thesaurus to improve semantic matching, the integration of structured output for query validation, and the use of larger datasets or larger LLMs to fine-tune open-source models. Despite its limitations, WAIM illustrates the potential for combining AI with geospatial systems
Dashboard KPI for OST
Many companies today use Key Performance Indicators (KPIs) to monitor trends and to control their decision-making processes.
The OST has also implemented KPIs to get a comprehensive overview of various aspects of their organization.
Currently, these KPIs are manually tracked in a large Excel sheet.
However, as the datasets grow, this approach becomes increasingly challenging to manage.
The goal of this semester thesis was to develop a prototype for a web application that could eventually replace the current solution.
The application must support the creation and adjustment of KPIs and their formulas, include a user permission system to restrict access to certain data, and provide a method for entering new data.
Additionally, it should allow for filtering and visualizing data sets in graphs to facilitate informed decision-making.
The prototype developed in this project supports all previously mentioned functionalities and introduces several new features.
Users can add supplementary information to data entries, providing context for anomalies such as sudden spikes or drops in graphs.
A date filter has also been added, allowing users to select specific time periods when necessary.
Currently, the application supports importing large datasets directly from CSV files.
In the future, the application could be further improved by retrieving data automatically from surrounding systems, reducing maintenance efforts and minimizing errors caused by manual user input.
In conclusion, this project has successfully delivered a prototype that improves confidentiality, accessibility, and user experience.
Future enhancements will continue to refine the tool, ensuring it remains adaptable and meets evolving needs
Private Data Hub
Private Data Hub is a platform that assist users to retrieve and analyze their personal data from various service providers, including Google, Spotify, and Netflix. The primary focus of this project was to provide users with an overview of the types of data being collected about them. This information is represented using graphs and lists that deliver interesting insights into their personal data. The platform is built with extensibility in mind, enabling future support for additional providers. It features a FastAPI and MongoDB-based backend for efficient data handling and a SvelteKit frontend for an intuitive user experience. Key features include data imports, data analysis, and efficient handling of large datasets