Entwicklung einer Aktor-Bibliothek in Rust
- Das Ziel dieser Arbeit ist die Analyse und Entwicklung einer Aktor-Bibliothek in Rust. Existierende Aktor-Bibliotheken in Rust verletzen grundlegende Regeln des Aktor-Modells, wodurch diese in nicht allen Anwendungsfällen verwendet werden können. Des Weiteren existiert keine strukturierte Arbeit zu der Entwicklung einer Aktor-Bibliothek in Rust. Die in dieser Arbeit entwickelte Bibliothek entspricht einerseits den Ideen des Aktor-Modells, andererseits wird die Erarbeitung und die durchlaufene Analyse der Bibliothek durch diese Arbeit dokumentiert. In einem ersten Schritt wird das Aktor-Modell und grundlegende Spracheigenschaften von Rust eingeführt, bevor das Design der entwickelten Aktor-Bibliothek vorgestellt und getroffene Design-Entscheidungen beschrieben und begründet werden. Darauffolgend werden die Implementationen der relevantesten Komponenten der Bibliothek beschrieben und anhand von Code-Beispielen erklärt. Des Weiteren wird das Design und die Implementation eines Test-Frameworks für Aktoren präsentiert, das das Testen von Aktoren erleichtern soll. Anhand der Implementation eines Praxisbeispiels wird die entwickelte Aktor-Bibliothek mit Java Akka durch Code-Vergleiche und Benchmarks verglichen. Hierbei wird gezeigt, dass die Verwendung der entwickelten Bibliothek mit einem vergleichbar gleich großen Code-Aufwand zu denselben und mitunter besseren Ergebnissen führen kann. Abschließend werden vorhandene Einschränkungen der entwickelten Bibliothek und deren Auswirkungen beschrieben.
Author: | André Hopfgartner |
---|---|
DOI: | https://doi.org/10.25924/opus-4532 |
Title Additional (English): | Development of an actor library in Rust |
Advisor: | Jonathan Thaler |
Document Type: | Master's Thesis |
Language: | German |
Year of publication: | 2022 |
Publishing Institution: | FH Vorarlberg (Fachhochschule Vorarlberg) |
Granting Institution: | FH Vorarlberg (Fachhochschule Vorarlberg) |
Release Date: | 2022/10/03 |
Tag: | Aktorenmodell; Bibliothek Actor Model |
Number of pages: | 97 |
DDC classes: | 000 Allgemeines, Informatik, Informationswissenschaft |
Open Access?: | ja |
Course of Studies: | Informatik |
Licence (German): | UrhG - The Austrian Copyright Act applies - Es gilt das österr. Urheberrechtsgesetz |