005.1 Programmierung
Refine
Document Type
- Bachelor Thesis (12)
- Master's Thesis (3)
- Diploma Thesis (2)
Keywords
- Programmierung (17) (remove)
Institute
Die Datenschutzgrundverordnung hat in der Europäischen Union für ein einheitliches Datenschutzrecht gesorgt. Sie fordert unter anderem eine einfache und verständliche Sprache von Datenschutzerklärungen und benennt umfangreiche, inhaltliche Anforderungen. Im Praxisumfeld ist es aber immer noch nicht selbstverständlich, dass Datenschutzerklärungen sich an formalen und inhaltlichen Festlegungen der Datenschutzgrundverordnung und weiterer geltender deutscher Gesetze orientieren. Das in dieser Arbeit erstellte Python-Programm zur automatisierten Analyse von Datenschutzerklärungen kategorisiert Themenabschnitte mit Hilfe einer Stichwortsuche und prüft die Datenschutzerklärung anhand eines festgelegten Katalogs an Testkriterien. Abschließend wird eine Bewertung auf Basis der Form und des Inhalts vorgenommen.
Ein Compiler oder Assembler wandelt Quellcode in ein ausführbares Programm um. Das resultierende Binary besteht aus Befehlen und Ressourcen, wie Bilder, Sounds oder anderen Informationen. Ohne den Ausführungskontext kann jedoch nicht im Vorhinein mit absoluter Sicherheit eine Angabe gemacht werden, bei welchen Bytes es sich um Anweisungen und bei welchen Abschnitten im Programm es sich um Ressourcen handelt. Bei einer Untersuchung oder einem
Dekompilierungsvorgang der binären Datei gestaltet sich diese bzw. dieser ohne vorliegenden Quellcode sehr schwierig. Als Beispiel für eine Von-Neumann-Architektur wurde in dieser Arbeit der Game Boy mit seiner
Sharp-LR35902-CPU gewählt. Mit Banking verwendet die Architektur sowohl historische Technologien, ähnelt aber dennoch sehr den derzeit häufig genutzten x86-64-CPUs von Intel oder AMD. Außerdem bieten die kleinen Programme von maximal zwei Mebibyte die Möglichkeit, auch in ineffiziente Ansätze auszuprobieren. In dieser Arbeit wurde anhand der folgenden sieben Lösungsansätze erläutert, wie man eine Befehl-Ressourcen-Trennung erzielen kann.
Manueller Ansatz (siehe Kapitel 3.1)
Metadaten-Ansatz (siehe Kapitel 3.2)
Alles-Befehle-Ansatz (siehe Kapitel 3.3)
Statistischer Ansatz (siehe Kapitel 3.4)
Emulationsansatz (siehe Kapitel 3.5)
Programmflussansatz (siehe Kapitel 3.6)
Brute-Force-Ansatz (siehe Kapitel 3.7)
Insbesondere wurden drei automatisierte bzw. teilautomatisierte Ansätze implementiert und anschließend
mit einer manuellen Trennung als Referenzwert verglichen. Dabei erzielte, bei dem verwendeten Kontrollprogramm ”StefaN”, der Programmflussansatz ein gutes Ergebnis.
Das mittels Emulationsansatz gewonnene Ergebnis schloss etwas schlechter ab. Der Brute-Force-Ansatz scheiterte an exponentiellen Wachstum und erzielte damit das schlechteste Ergebnis. Eine korrekte Trennung konnte nur mit dem manuellen Ansatz erreicht werden. In dieser Arbeit konnte keine vollautomatisierte Lösung für das Problem gefunden werden. Grundsätzlich kann festgehalten werden, dass eine Befehl-Ressourcen-Trennung einer ausführbaren Binärdatei auch in Zukunft eine Herausforderung darstellt.
Das Ziel der vorliegenden Arbeit war es, Algorithmen auf speicherprogrammierbaren Steuerungen (SPSen) und Linx-basierten Systemen umzusetzen und dabei einer möglichst einheitlichen Implementierungsstrategie zu folgen. Dabei wurde ein Algorithmus beispielhaft auf SPSSystemen von zwei Herstellern implementiert. Phoenix Contact unterstützt lediglich Sprachen, die durch den Standard IEC/EN 61131-3 spezifiziert sind. Beckhoff ermöglicht durch die Integration von C++ die Umsetzung auf einer gemeinsamen Codebasis mit dem Linux-System. Die gemeinsame Codebasis unterliegt allerdings Einschränkungen.
Im Rahmen der Abschlussarbeit soll untersucht werden, inwiefern die Kombination von live objects der Realm Database auf der einen Seite und Combine und SwiftUI auf der anderen, die entstehende Komplexität und Fehleranfälligkeit bei der App-Entwicklung in iOS reduzieren kann. Es soll ein durchführbarer praktischer Teil in Form einer Chat-App entstehen und getestet werden, die die Vor- und Nachteile der genannten Techniken verdeutlicht.
In der Diplomarbeit wird mit leicht verfügbaren Komponenten für Mikrocontroller Platinen, wie der Arduino Plattform, beleuchtet, wie eine Kommunikation zwischen Modellfahrzeugen auf einfache Weise hergestellt und den Schülerinnen und Schülern der HTL Anichstraße näher gebracht werden kann. Es werden die verwendeten Komponenten und Vorgehensweisen erklärt und beschrieben. Die eingesetzten Techniken, wie NFC/RFID und Bluetooth, werden erläutert, um es den Schülerinnen und Schülern zu ermöglichen, die im Anhang beschriebenen Übungen durchzuführen und auch selbst Funktionen und Projekte mit Hilfe von Bluetooth und RFID-Readern zu realisieren. Für die Nähe zur Praxis wird ein selbstfahrendes Auto als praktische Anwendung angenommen. Das Fahrzeug wird von den Schülerinnen und Schülern in der Höheren Technischen
Lehranstalt für Elektronik in Innsbruck ab der zweiten Klasse gebaut und Schritt für Schritt um Funktionen erweitert. Mit zwei dieser Fahrzeuge wird ein Versuchsaufbau realisiert.
Diese Arbeit beschäftigt sich mit der Entwicklung von performanten Modulen zur Implementierung von Netcode in einem Multiplayer-Spiel. Sie vergleicht dabei zunächst verschiedene Frameworks und dokumentiert den Entscheidungsprozess anhand eines konkreten Spiels. Es werden daraus folgend mehrere Ansätze für den Aufbau eines Netzwerkmoduls aufgezeigt und diese schließlich miteinander auf ihre Performance verglichen.
In this work, we discuss the key role that “conflict minerals” (Gold, Coltan, Cobalt, Tin, Tungsten) play in global supply chains and high-technology industries, and the issues surrounding their extraction and trade in origin
countries, particularly in the African Congo Basin and the Great Lakes Region. We discuss ongoing international efforts to combat violence, child labour and human rights violations at mineral extraction areas, particularly in the Democratic Republic of the Congo (DRC), where very large mineral reserves have been discovered. We present the OECD Due Diligence Guidance for Responsible Supply Chains of Minerals from Conflict-Affected and High-Risk Areas, and the
GOTS MineralTrace mineral proof-of-origin and trade chain certification solution developed by ibes AG in Germany, which automates and simplifies the implementation of the OECD Guidance. We discuss a pilot project in DRC involving the GOTS GoldTrace application, based on the MineralTrace platform. We point out MineralTrace’s benefits and its limitations. We analyse possible solutions to said limitations, including an analysis of blockchain-based transactional information exchange and record keeping systems, and finally we propose a new MineralTrace Application Programming Interface (API) that solves current limitations, introduces configuration flexibility for client applications, introduces workflow flexibility to adapt MineralTrace to any country or region, and simplifies data export functionality.
Diese Arbeit behandelt, wie in einem rundenbasierten Strategiespiel ein System zur Integration linearen Missionsdesigns implementiert wurde. Es erlaubt, Missionen anzulegen und in Szenarien zu gruppieren, welche sich wiederum in einer Kampagne zusammenfassen lassen. Dabei können beliebig viele Kampagnen gleichzeitig existieren, ohne dass sich deren Inhalte überschneiden. Die Implementierung des Systems ist umfangreich beschrieben und wird mit relevanten Code-Beispielen veranschaulicht. Das Spiel wurde hinsichtlich der Player Experience, Usability und User Experience mit den Fragebögen MEEGA+ und AttrakDiff evaluiert. Eine Evaluation der User Experience mit AttrakDiff wurde auch für den zum Spiel gehörenden Inhaltseditor durchgeführt. Die dabei ermittelten Ergebnisse zeigen, dass beide Anwendungen von den Probanden grundsätzlich gut bis sehr gut wahrgenommen werden. Durch eine Detailanalyse der einzelnen Wertungen sowie dem zusätzlich gegebenen Feedback konnten Stärken und Schwächen identifiziert werden. Um die Schwachpunkte in zukünftigen Entwicklungsbestrebungen effizient bearbeiten zu können, sind passende Vorschläge und detaillierte Erklärungen der Ursachen beigefügt worden. Der Mehrwert des Kampagnensystems hinsichtlich wahrgenommener Qualität und Motivation wird durch einen Vergleich mit Evaluationsergebnissen einer früheren Version bewiesen. Diese wurden in dem dieser Arbeit vorangegangenen Forschungsmodul, in welchem die damalige Spielversion ebenfalls mit MEEGA+ evaluiert wurde, ermittelt. Zum Verständnis der Arbeit wird Vorwissen mit der Game Engine Unity sowie ihrer grundlegenden Konzepte, bspw. GameObjects und daran angebundene Komponenten, vorausgesetzt. Da an verschiedenen Stellen Bezug auf das Forschungsmodul sowie den darin erlangten Erkenntnissen genommen wird, ist die Konsultation des zugehörigen Abschlussberichtes empfehlenswert. Er liegt dieser Arbeit als digitale Anlage F bei.