eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
    1196 research outputs found

    Green Networking - Visibility, a first step towards sustainable networking

    No full text
    As the global demand for network connectivity intensifies, the environmental impact of networking infrastructure becomes increasingly significant. This study addresses the critical issue of the lack of visibility into the energy efficiency of networks, hindering the optimization for sustainability. Drawing from the Green Networking Metrics IETF draft, we propose a method to bring transparency to energy efficiency within networks, laying the groundwork for green routing strategies. The research employs a two-fold approach. First, it involves a theoretical elaboration of mathematical concepts, establishing a foundation for understanding and evaluating energy efficiency in networking environments. Second, a Proof of Concept is implemented on a virtualized network, demonstrating the feasibility of the proposed methodology. The results showcase the potential for comparing path efficiency and identifying the most efficient and inefficient hops along a network path. The findings underline the necessity for further exploration, advocating for the implementation of the methodology on a physical network. Subsequently, efficiency data should be exported and analyzed centrally, paving the way for informed decision-making towards sustainable networking practices. This study contributes to the emerging field of green networking by providing a structured approach to enhance energy efficiency visibility in network environments, fostering a more sustainable and ecologically responsible networking infrastructure

    C++ Concept Refactorings

    No full text
    With C++20, template parameter constraints were introduced that allow to specify the expected functionality of the template parameters. The objective of this project was to find novel refactoring operations related to concepts and to implement them as part of a language server. An analysis has been performed on the language server protocol, concepts, and the clangd language server. This resulted in a few potential refactoring operations, two of which have been implemented as a tweak in the clangd language server. The first implemented refactoring enables inlining requires clauses into the template declaration. It reduces the amount of code and, in most cases, makes the function signature easier to read. The second implemented refactoring allows converting explicit template declarations into their abbreviated form using auto parameters, thus eliminating the template header above the function. The two implemented refactor operations have been submitted upstream as pull requests to the LLVM repository and, as of the writing of this paper (December 2023), are awaiting review. Once approved and merged, these new refactoring operations will become available to anyone using the clangd language server

    Automatisiertes Proctoring digitaler Prüfungen mit Machine Learning

    No full text
    Aufgabenstellung Das Ziel dieser Arbeit bestand darin, ein Tool oder eine Methode zu entwickeln, die es ermöglicht, mittels spezialisierter Software zu erkennen, ob ein Prüfungsteilnehmer oder eine Prüfungsteilnehmerin während einer Online-Prüfung betrügerische Handlungen begeht. Der Einsatz einer solchen Soft- ware bietet den Vorteil, dass Online-Prüfungen effektiv durchgeführt werden können. Zudem ermöglicht es, dass Programmierprüfungen nicht mehr manuell, sondern in einem kontrollierten und überwachten Umfeld absolviert werden können. Der Fokus dieser Arbeit lag speziell auf der Überwachung der Offline-Aktivitäten der Prüfungsteilnehmenden. Dies umfasst die Beob- achtung von auffälligen Körperbewegungen und Sprachaktivitäten. Vorgehen / Technologien Unser Ansatz zielte darauf ab, die Benutzerfreundlichkeit unserer Software sowohl für Studie- rende als auch für Lehrende zu maximieren und einen strukturierten Prozess zu etablieren. Der Ablauf beginnt damit, dass der Studierende die Software aktiviert, die mittels einer Web- cam ein Video aufzeichnet und über ein ausgewähltes Mikrofon den Ton erfasst. Nachdem die Prüfungsaufgaben gelöst wurden, wird die Software beendet. Der Studierende erhält dadurch eine Video- und Audiodatei, die er eigenständig an einen schulischen Server übermitteln kann. Nachdem der Schulserver alle Audio und Videodateien erhalten hat. Kann der Professor mittels einer Webseite die Video und Audiodateien analysieren. Während der Analyse wird bei jedem Prüfungsteilnehmer die Video und Audiodatei analysiert. Dabei wurden bestimmte Kriterien von uns ausgewählt auf welche sich die Videoanalyse stützen soll. Gesichtserkennung: In jedem Frame des Videos soll überprüft werden, ob genau eine Person anwesend ist. Dies ist wichtig, da Pr ̈ufungen in der Regel Einzelarbeiten sind. Sollte keine oder mehr als eine Person erkannt werden, wird dies als Betrugsversuch gewertet. Munderkennung: Das System muss ständig den Mund erkennen können. Dies dient dazu, heimliche Gespräche aufzudecken, auch wenn das Mikrofon während der Prüfung absichtlich ausgeschaltet ist. Ein Betrugsversuch wird deklariert, sobald der Mund sich öffnet, um die Spracherkennung zu schützen. Kopfneigungserkennung: Die Kopfposition wird kontinuierlich überwacht, um auffällige Be- wegungen, die auf einen zweiten Bildschirm oder ein externes Gerät hinweisen könnten, als Betrugsversuche zu identifizieren. Iriserkennung: Diese Technik dient dazu, ungewöhnliches Augenschillen zu erkennen. Sie soll Prüflinge identifizieren, die zwar ihren Kopf nicht bewegen, aber dennoch nicht auf die Prüfungsaufgaben schauen. Resultat Derzeit ist eine vollständig automatisierte Proctoring-Lösung noch nicht realisierbar. Mensch- liches Eingreifen bleibt notwendig, um zu entscheiden, ob in bestimmten Situationen Betrug vorliegt. Unsere Software hat jedoch den Analyseprozess von Audio- und Videodateien erheblich effizienter gestaltet. Als nächsten Schritt zur Verbesserung der Software könnte die Erfassung von Online-Aktivitäten in Betracht gezogen werden

    Plattform für crowdsourced Accessibility-Testing von Komponenten aus Web UI-Libraries

    No full text
    UI Libraries und interaktive UI-Komponenten werden häufig in Webapplikationen eingesetzt, sind aber bezogen auf Accessibility schwer einzustufen. Es gibt keine spezifischen Accessibility Standards für UI Libraries. Dazu kommt, dass UI Libraries sehr heterogen sind. Das Ziel der vorliegenden Arbeit ist es, Projekte mit Anforderungen an Accessibility die Auswahl einer UI-Library zu vereinfachen, indem ein Prototyp einer geeigneten Plattform entwickelt wird. Diese Plattform soll es ermöglichen, UI Libraries crowdsourced zu testen und mit den Resultaten Auskunft über die Accessibility der getesten UI Libraries und deren Komponenten geben. Mit iterativem und agilen Vorgehen wurden im Rahmen der Analyse die Eckpunkte der Applikation gesteckt. Daraus wurde das Konzept erstellt und die Anforderungen spezifiziert. Die Applikation wurde als Client-Server-Anwendung umgesetzt. Als Client fungiert eine React-Single-Page-Application. Der Server ist mit Node.js und Express implementiert und verwendet eine MongoDB-Datenbank für die Persistierung. Die Programmiersprache ist in beiden Teilen Typescript. Als Schnittstelle fungiert eine REST-API. Die entstandene Applikation wurde mit Usability Tests und einer Accessibilty Evaluation geprüft und validiert. Als Prototyp kann sie damit den angepeilten Verwendungszweck erfüllen. Die Grundlage für die Entwicklung einer erweiterten Version mit ausgebautem Kriterienkatalog und erweitertem Funktionsumfang für Administration, Deployment, Sicherheit und Performance wurde damit geschaffen

    Entwicklung einer Animationsbibliothek für SimPy (Folgearbeit)

    No full text
    Ausgangslage Simulationen werden verwendet, um reale Situationen unter reproduzierbaren sowie steuerbar variierenden Bedingungen nachzubilden, und damit Verhaltensweisen und Systeme zu untersuchen und vorherzusagen. SimPy ist ein schlankes Python Framework für diskrete Ereignissimulation und wird zum Beschreiben von Simulationen verwendet. JupyterLab bietet die Möglichkeit, sogenannte Notebooks zu erstellen. Notebooks stellen eine webbasierte interaktive Programmierumgebung zur Verfügung, in welcher unter anderem SimPy Simulationen geschrieben und verwendet werden können. Zur Verifikation der Ergebnisse einer solchen Simulation ist es wünschenswert, eine zur Simulation passende Animation zur Hand zu haben. Momentan bietet SimPy noch keine integrierte Möglichkeit eine Simulation zu visualisieren und zu animieren. Ziel Aufbauend auf eine vorhergehende Studienarbeit soll eine Bibliothek für die Animation von Simulationsmodellen entwickelt werden. Die in der Studienarbeit gewonnenen Erkenntnisse sowie die darin erarbeiteten Konzepte sollen, wo möglich, infrage gestellt, angepasst, erweitert und übernommen werden. Die Bibliothek soll, integriert in eine JupyterLab Extension, als Open-Source Projekt veröffentlicht werden, inklusive der Distribution über die gängigen Paketverwaltungssysteme. Weiter sollen als Beispiele für die Verwendung der Bibliothek die Beispiele SimPy’s um eine Animation erweitert werden. Ergebnisse Die drei Komponenten simplay, simplay-web und simplay-jupyter sind veröffentlicht und über die gängigen Paketverwaltungssysteme installierbar. Die Komponente simplay-jupyter ermöglicht es, unter Verwendung von simplay und simplay-web, SimPy Animation zu visualisieren und in JuptyerLab anzuzeigen. Es existiert ein Open-Source Projekt, gehostet auf GitHub, welches öffentlich dokumentiert ist. Die Beispiele aus SimPy wurden um eine Animation erweitert und können als Anwendungsbeispiel dienen. User-Tests haben gezeigt, dass die Komponenten einfach zu installieren und zu verwenden sind. Die API des Python Packages simplay ist verständlich für Entwicklerinnen und Entwickler welche mit SimPy vertraut sind

    Haskell Substitution Stepper (Folgearbeit)

    No full text
    The UN CRPD (United Nations Convention on the Rights for People with Disabilities) is a human rights instrument, aiming to change attitudes and approaches toward persons with disabilities. The ZEN (Center for Ethics and Sustainability) of the OST (Eastern Switzerland University of Applied Sciences) has created a printable survey form, that focuses on several aspects of the UN CRPD. This survey form allows institutions and homes for people with disabilities to evaluate themselves. The goal of this project is to digitize the survey form created by the ZEN to simplify the entire process of distributing survey forms and tallying scores. We ended up with a survey application that allows institutions to start surveys that are accessible via an online link. The survey can then be filled out by respondents who received that link. Once the survey is completed, institutions can view the results and receive recommendations on how to improve their implementation of the UN CRPD. During the creation of the application, we placed great emphasis on accessibility, to make sure it can be filled out by almost everyone. During the duration of the project we managed to implement a large part of the desired functionality, however, there are still some features missing. Despite this, we have managed to create a usable product that provides value for institutions wishing to evaluate themselves

    Weiterentwicklung einer React-basierten Webanwendung mit Java Spring Boot Microservice: Optimierung und Funktionsausbau

    No full text
    Einleitung: Die Studienarbeit widmet sich dem Projekt „Vanlife Travel“, das darauf abzielt, die Planung von Campingtrips zu vereinfachen und den Buchungsprozess für Campingplätze zu optimieren. In vorherigen Arbeiten haben ehemalige Studierende bereits eine Webanwendung entwickelt. Diese Anwendung umfasst ein Frontend in React und ein Backend, das in Microservices mit Java Spring Boot unterteilt ist. Trotz dieser vorangegangenen Arbeiten gibt es noch erheblichen Raum für Verbesserungen, die im aktuellen Semester angegangen werden sollen. Das Projektteam ist in zwei Gruppen unterteilt, wobei sich unser Team auf den Host konzentriert. Vorgehen: Die Umsetzung erfolgt durch schrittweise Verbesserungen in drei zentralen Bereichen. Erstens werden die Gästeinformationen vor der Ankunft optimiert, indem der Host Nachrichtenvorlagen erstellt und automatische Benachrichtigungen an Vanlifer sendet. Zweitens wird die Buchungsverwaltung und Profilverwaltung durch Funktionen wie das Erfassen von Buchungen und die Optimierung der Profilverwaltung durch den Host verbessert. Drittens erfolgt die Integration von mehreren Hosts, um die Verwaltung von Campingplätzen durch verschiedene Hosts zu ermöglichen. In jedem Bereich werden zunächst Anforderungen gesammelt und mehrere Umsetzungsvarianten verglichen. Die optimalste Variante wird dann im Code umgesetzt. Ergebnis: Die Einarbeitung in den vorhandenen Code stellte eine Herausforderung dar, insbesondere beim Verständnis der getroffenen Entscheidungen der Vorgänger. In Bezug auf die Implementierung wurden signifikante Fortschritte erzielt. Der Host verfügt nun über erweiterte Funktionen, einschliesslich der Verwaltung von Campingplätzen neben den Stellplätzen. Die Integration eines Mailversands ermöglicht es Vanlifern, wichtige Informationen vor ihrer Ankunft mitzuteilen, und der Host behält stets den Überblick über kommende Ankünfte auf dem Dashboard. Zudem kann der Host nun selbständig Buchungen in den Kalender eintragen, das eigene Profil verwalten und damit wesentliche Aspekte der Interaktion mit den Vanlifern optimieren

    VisualFP - Designing a Visual, Block-Based Environment to Create & Execute Haskell Code

    No full text
    Most visual programming tools used to introduce children & young adults to the programming world are based on the imperative paradigm. Existing tools based on functional programming either lack a good user experience or hide critical concepts of the functional paradigm. To address this gap, a visual, block-based tool for functional programming should be designed. This project aims to find a visual design of such a tool and then prove its feasibility in a proof of concept application. Existing visual programming tools are examined before creating a visual design. The development of the design is approached in two iterations: In a first step, concept drafts are based on researched tools and evaluated using a survey. Then, a new concept is created using the received feedback and implemented in a proof of concept. The created design concept focuses on function composition, guided by type holes that indicate the type required for a valid function definition. The implemented application proves that the proposed concept for function composition works as envisioned. It includes an inference engine that determines the type of undefined parts of a function and is built using Electron.js & Haskell. It is recommended that an additional project be conducted to implement missing features of the application so that it can be used in classrooms. Keywords: Haskell, Functional Programming, Visual Programmin

    Ethereum Custody@PostFinance PoC

    No full text
    In collaboration with PostFinance AG and under the guidance of Dr. Thomas Bocek at the Department of Computer Science, OST, this semester assignment explores and enhances the custody solution of PostFinance’s digital assets offering. Given the increasing demand for secure storage of assets such as Ethereum, this work focuses on developing a robust self-managed custody solution that ensures the availability, confidentiality, and integrity of private keys. The Proof of Concept (PoC) conducted as part of this project demonstrates a Custodian backend application, offering a RESTful HTTP API. This API enables the creation of secure single- and multisig wallets, facilitates buy and sell orders, and executing Ethereum transactions with these wallets. The private key material is securely stored in a Hardware Security Module (HSM) using the Securosys CloudHSM, specifically chosen for this project. Communication with the Ethereum network occurs through a self-operated full node setup, utilizing Besu as the execution client and Teku as the consensus client. In addition, the project includes an analysis and elaboration of a secure method for signing transactions, employing multisig smart contracts in conjunction with a combination of hot and cold wallets. While the project demonstrates feasibility, it is crucial to continue addressing privacy concerns and ensuring a privacy-compliant solution, especially within the context of a financial institution. Furthermore, it is important to evaluate which components should be developed and operated in-house versus outsourced, especially considering the addition of various other blockchains, as the development and maintenance burden could become substantial. Overall, the established foundation, including the Custodian application, the chosen HSM, full node setup, and signing strategy using multisig smart contracts, lay the groundwork for a secure self-managed custody solution. Keywords: Digital Asset Custody, Ethereum, Hardware Security Module (HSM

    Make Model Driven Network Automation Pythonic

    No full text
    YANG is a data modelling language used to define data structures transmitted over either the NETCONF or RESTCONF protocol. Such models can be used to perform so-called Model Driven Network Automation. The goal of this project is to create a proof-of-concept to show how YANG models could be translated to Python data-structures based on pydantic. These data-structures can in turn be initialized with configuration values, serialized into a RESTCONF payload and sent to a network device, applying the configuration. If successful, this would facilitate configuring network devices through Python code, without requiring the user to have prior knowledge of YANG. We started by analysing the Python ecosystem surrounding YANG, including projects such as Pyang, pyangbind, yangson and Pyang-Pydantic, as well as pydantic and datamodel-code-generator. Our analysis revealed that most of the projects in the ecosystem have either been abandoned for years or are nowhere near robust or reliable enough to be used in a productive environment. After some consideration, we settled on Pyang as our YANG parser and used the Pyang-Pydantic plugin as a starting point for our project. We then proceeded to gradually add features designed to make the generated Python models as intuitive and convenient to work with as possible. This resulted in the creation of Pydantify, a tool for translating YANG models into executable Python code which can in turn generate valid RESTCONF payloads. On top of validating the concept as feasible, we successfully managed to implement a large section of the YANG specification, enabling some real-world models to be converted without issue

    549

    full texts

    1,196

    metadata records
    Updated in last 30 days.
    eprints (HSR Hochschule für Technik Rapperswil)
    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! 👇