University of Applied Sciences Rapperswil

eprints OST (Ostschweider Fachhochschule)
Not a member yet
    1194 research outputs found

    Towards Greener Software: Measuring Performance and Energy Efficiency of Enterprise Applications

    Get PDF
    Performance is an important aspect of software quality in most software applications. In recent years, the topic of energy efficiency has become increasingly important. Enterprise applications running in the cloud receive particular attention. Poor performance and low energy efficiency lead to high operating costs and a negative impact on the environment. Recognizing the significance of performance and energy efficiency as software quality attributes and how to measure them is crucial. This research project aims to investigate how two types of software quality attributes, performance and resource and energy efficiency, are measured according to the state of the art and the practice today; differences are identified and analysed. Following an empirical approach, an existing application test setup and its measurement results (publicly available in the “Growing Green Software” blog) are first reproduced and then compared with the behaviour of a second sample application. The two respective sample applications are open source-projects leveraging Java and Spring Boot; one of them comes as a set of microservices. Tools such as JMeter and JoularJX, configurations, and metrics across different test environments and enterprise applications were experimented with. Contemporary software engineering practices such as Domain-Driven Design and UML were used to analyse and document the software architectures of the selected applications. The measurements confirmed that the performance and energy consumption of the application are significantly influenced by external factors such as hardware, operating system, and implementation details. They show that the relative distribution of energy consumption is comparable across different test environments and enterprise applications. Furthermore, the results suggest an inverse correlation between performance and energy efficiency when different hardware is compared. They also indicate a strong correlation when the same hardware is used but implementation details vary. Future research could explore the energy efficiency of cloud-native applications and cloud infrastructure

    Discord-Bot für Vereine

    Get PDF
    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

    Wi-Fied: An Educational Platform for Hands-On Wi-Fi Security

    Get PDF
    Wi-Fi networks are as popular as ever and find daily use in private households as well as in corporate environments. Awareness around vulnerabilities and dangerous exploits in wireless communication networks is vital to understand the security implications of operating such infrastructure securely. The Wi-Fied Platform is a modular, Python-based demonstration tool developed to support and enhance the practical education of Wi-Fi security concepts. This work presents the design and implementation of the platform as a complementary tool to existing theoretical content, enabling learners and IT professionals to gain hands-on experience with wireless network vulnerabilities and exploits, utilizing Raspberry Pi's for physical lab-setups. Inspired by prior research into the classification and impact of Wi-Fi security threats, Wi-Fied supports a controlled, extensible environment for experimenting with attacks within an isolated lab setup. The architecture of the platform follows a structured design, aiming to facilitate future development. Rather than offering a standalone or comprehensive solution, the Wi-Fied Platform is intended to enrich existing curricula by bridging the gap between academic study and applied understanding of Wi-Fi threat scenarios and mitigation techniques. The architecture of the Wi-Fied Platform evolved iteratively alongside its implementation, enabling flexible adaptation to specific requirements; such as the generation and transmission of Wi-Fi packets. As a result the Wi-Fied Platform project produced a base for future expansion, already providing central functionalities like packet creation, automation of lab-device setups, and a unified CLI-based user interface. Many of the challenges encountered during the project stemmed from library-specific implementation details, ambiguities in Wi-Fi standard definitions, or evolving requirements driven by feature progression. In conclusion, building a robust but simultaneously flexible and extensible tool with critical dependencies towards physical hardware, Wi-Fi standards, and dissimilar runtime environments is not trivial. However, the practical benefits of an auxiliary tool to enrich existing curricula by bridging the gap between academic study and applied understanding of Wi-Fi security are advantageous. Future work may include but not be limited to the expansion of exploit scenarios and feature sets for packet manipulation, the support of more complex exploit demonstrations with real-time actions, and the addition of a graphical user interface

    Cloud-Optimized OSM GeoParquet Data Service for Switzerland and Beyond

    Get PDF
    OpenStreetMap (OSM) is one of the most comprehensive openly licensed geospatial vector datasets, containing an estimated 60–90 million points of interest (POIs). While this is comparable to Overture Maps ~61 million POIs, OSM distinguishes itself through its data richness, openness, and crowdsourced quality assurance. However, its raw structure based on a graph of nodes, ways, and relations combined with a flexible tagging system, presents significant challenges for scalable querying and analysis. This thesis presents a reproducible, open-source pipeline designed to transform country-scale OSM extracts, such as those from Geofabrik, into simplified, analysis-ready GeoParquet files. The files are aligned with Overture Maps Places and Divisions themes and converted into a tabular format optimized for geographic information systems. The solution is built on a modular Extract–Transform–Load (ETL) architecture using osm2pgsql with Lua scripts, PostgreSQL/PostGIS for schema alignment and spatial processing, and DuckDB with PyArrow for high-performance GeoParquet conversion. Multiple spatial file partitioning strategies, including KDB Tree and S2, were evaluated to support efficient downstream interoperability and client-side filtering. The pipeline operates as a CI/CD enabled DataOps workflow, orchestrated via GitLab, containerized with Docker, and hosted on S3-compatible MinIO storage. A vandalism detection module prototype supports data quality by flagging anomalies in stable administrative names. The result is Cadence Maps, a fully automated and publicly accessible data service for the D-A-CH-LI region, updated weekly and accompanied by release documentation. GeoParquet files can be queried directly via DuckDB or QGIS without requiring full downloads. For example, queries can filter specific features such as restaurants using hive-compatible S3 prefixes. Full dataset updates can be completed in under 24 hours, demonstrating the system's performance and scalability. This work establishes a reliable and extensible framework for delivering cloud-native geospatial data services with global potential

    Routing Gets Personal: Welcome to /32 to the client

    Get PDF
    No matter which network architecture or topology is used, large Layer 2 domains can be found everywhere. They are also used in campus networks to connect end devices and segment them appropriately into their own broadcast domains. However, using extended L2 domains also brings all the restrictions, disadvantages and behaviour patterns belonging to this layer into the network environment. These include the limitations of the Spanning Tree Protocol, the poor scalability of L2 networks, and the flooding of broadcast, unknown unicast and multicast (BUM) network traffic. The bachelor's thesis investigates a novel approach to circumvent these issues, referred to as the «/32 environment», which aims to minimize the size of Layer 2 domains as much as possible. This is achieved by assigning a /32 subnet mask to each end device alongside its IP address. Consequently, each end device operates within its own network, resulting in a Layer 2 domain containing only a single IP address. This solution follows the idea of extending Layer 3 down to the end device. The approach was validated by establishing a physical test environment (Cisco) and a virtual test environment based on «containerlab» (Arista). It gave the possibility to test various scenarios and network protocols. These experiments have verified the technical feasibility of this approach and its associated advantages. In addition, all tested protocols perform correctly in a /32 environment. Currently, however, this approach cannot meet the requirements of a campus network as the router OS from Arista and Cisco either has bugs or lacks the necessary functions. Future studies could examine how such an implementation would perform in WLAN infrastructures or data centres, and the challenges that might arise

    Trim3D: Development of an Automated Hair Trimmer

    No full text
    This bachelor’s thesis presents the development of Trim3D, a prototype for an automated hair-trimming system. Starting from the observation that hairdressing remains mostly manual, the project aims to make the first step into automating the haircutting process and addresses core challenges, such as accurate 3D head measurement, intuitive haircut definition, and precise real-time control of a hair trimmer with an extendable comb. The developed system integrates a three-camera network for synchronous multi-view capture (requiring intrinsic and extrinsic camera calibration with ChArUco boards, and triangulation to determine 3D positions from the different camera angles), ArUco marker-based pose estimation for head measurement and trimmer pose estimation, and MediaPipe facial landmark detection for head pose estimation. After rigorous systematic evaluation and testing (often using Blender to ensure a controlled environment, availability of ground-truth, and reproducibility), the biggest error sources were identified, and the software and hardware were reworked or alternative approaches were found, evaluated and implemented. Through targeted improvements, such as multi-threaded image grabbing, triangulation reprojection error thresholds, ArUco dictionary changes, ArUco marker pose ambiguity correction by global marker rotation-alignment across cameras, thin-plate-spline head morphing with outlier handling, image exposure correction for more robust facial landmark detection, stability-enhancing mechanical redesigns, and 10 Gbps networking with jumbo frames, the system’s accuracy and robustness were greatly enhanced. Similarly, the performance increased, doubling the system’s frame rate from around 10 to 20 FPS. End-to-end tests of the Trim3D system in a simulated environment verify the detected trimmer position to be accurate with errors below 5 mm and predicted hair length versus ground truth hair length with errors below 0.5 mm at different positions. Unifying all underlying components together, a web interface enhances usability and guides users seamlessly through extrinsic calibration, head measurement and morphing, haircut definition and real-time trim execution. The final prototype demonstrates feasibility, accuracy, and user-friendliness, laying the groundwork for future visions such as smartphone-based head scans, sensor fusion, and an actively tilting trimmer comb

    Linear Type Systems: What Are They, and How Are They Used in Programming Languages

    Get PDF
    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

    ETH Zürich App Nutzendenzentrierte Weiterentwicklung der mobilen Campus-App

    Get PDF
    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

    Finteam - A React Native App for Fiduciaries and their clients

    Get PDF
    Introduction In Switzerland, tax filing is often perceived as a cumbersome process, which leads many individuals to delegate this responsibility to fiduciaries. However, this delegation introduces its own inefficiencies, particularly in the form of unstructured communication and incomplete documentation, which impair the ability of fiduciaries to work efficiently. Approach and technology This thesis presents the development of Finteam, a Minimum Viable Product (MVP) designed to streamline document exchange and communication between clients and fiduciaries. Starting from a basic prototype, the project improved the architecture, added core features, and developed a scalable backend to support future growth. The system consists of three main components: first, a mobile app (built with React Native and Expo) for clients to upload tax documents and interact with an AI assistant. Second, a web app (React + TypeScript) for fiduciaries to manage client submissions and provide feedback. Third, a modular backend (Express.js + TypeScript) that handles authentication, data storage, and an RAG-based tax assistant. Conclusion During this thesis, the team successfully developed an MVP for the Finteam application. The system replaces unstructured communication with a digital workflow that reduces administrative overhead on both sides. The mobile application enables clients to upload tax documents, while the web platform provides fiduciaries tye ability to review submissions and send feedback to the client. This approach eliminates the typical back-and-forth email exchanges that currently affect fiduciaries. As a secondary but notable feature, the system incorporates an AI-powered tax assistant built on Retrieval-Augmented Generation (RAG) technology integrated into the mobile app. It combines vector- and keyword-based search with reranking and query rewriting techniques to improve response quality. An empirical evaluation of various configurations showed that reranking significantly enhanced the accuracy of responses. While this came with a latency trade-off of approximately 38% compared to vector-only retrieval, which served as a baseline. With this tradeoff, the overall user experience benefited from more relevant answers. Key evaluation criteria included helpfulness, correctness, clarity, and fluency. Key limitations include the absence of a scalable fiduciary onboarding flow and restricted iOS deployment due to the lack of access to Apple's Developer Program. Future work should focus on automating onboarding, enabling administrative oversight, integrating document parsing to prefill tax forms, and at-rest encryption of user documents to enhance security

    Sport live image stabilization in the cloud

    Get PDF
    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

    1,015

    full texts

    1,194

    metadata records
    Updated in last 30 days.
    eprints OST (Ostschweider Fachhochschule)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇