Informatik und Informationstechnik
Refine
Document Type
- Article (20)
- Conference Proceeding (15)
- Study Thesis (2)
- Working Paper (2)
- Bachelor Thesis (1)
- Book (1)
- Part of a Book (1)
- Master's Thesis (1)
- Other (1)
Keywords
- Informationstheorie (2)
- Künstliche Intelligenz (2)
- Maximale Entropie (2)
- Neuronales Netz (2)
- Unsicheres Wissen (2)
- Wissenserzeugung (2)
- Anomalieerkennung (1)
- Artificial Intelligence (1)
- Autonomes Fahrzeug , Sicherheit , Künstliche Intelligenz , Assistenzsystem , Entropie (1)
- Biomedical Engineering (1)
Das Prinzip der maximalen Entropie ist ein Verfahren der künstlichen Intelligenz, mit dem fehlendes stochastisches Wissen generiert werden kann. Dadurch ist die Methode für alle Aufgabenstellungen anwendbar, in denen temporär oder dauerhaft nur unvollständiges Wissen vorliegt. Das Prinzip fügt zu vorhandenem lückenhaften Wissen so viel, wie möglich Unsicherheit hinzu und minimiert dadurch nicht gerechtfertigte si-chere Annahmen. Anhand eines einfachen Beispiels mit zwei booleschen Zufallsvariablen wird die Überwachungseinrichtung einer Produktionsanlage modelliert. Dabei liegt über die Güte der Überwachung nur unvollständiges Wissen vor. Aus den gegebenen Informationen werden nun die Berechnungsschritte hin bis zu einer vollständigen Wahrscheinlichkeitsverteilung demonstriert. Diese Verteilung repräsentiert das vollständige Wissen aller Zusammenhänge des Modells. Die so gewonnene Wahrscheinlichkeitsverteilung wird abschließend zur Bewertung der Güte der Überwachungsanlage genutzt und ermöglicht dabei statistische Aussa-gen, welche mit dem ursprünglich gegebenen Wissen nicht möglich wa-ren.
Im Jahr 2015 veröffentlicht Facebook GraphQL als Open-Source-Projekt. Durch die
eingebaute Abfragesprache können präzise Querys formuliert werden, deren Antwort
immer nur die vom Client spezifizierten Felder enthält. Entwickelnde müssen für die
Ausführung der Anfrage notwendige Resolver Functions in traditioneller Entwicklung selbst
implementieren. Im Gegensatz dazu stehen LowCode-Frameworks, die seit einigen Jahren
eine neue Art der Softwareentwicklung ermöglichen und den Entwicklungsaufwand deutlich
reduzieren. Durch die automatische Generierung eines GraphQL-Schemas inklusive Querys
und Mutations können Softwaresysteme schneller und damit kostengünstiger entwickelt
werden.
In dieser Bachelorarbeit werden zwei Implementierungen einer GraphQL-API verglichen.
Dafür wird ein traditionell entwickelter Service mit Spring Boot und ein Service mittels des
LowCode-Frameworks PostGraphile umgesetzt. Der Vergleich beinhaltet quantitative und
qualitative Metriken. Die Ergebnisse des qualitativen Vergleichs zeigen, dass PostGraphile
selbst für komplexere Querys ein SQL-Statement generiert, das durch die Nutzung von
Subquerys und des with-Statements das N+1-Problem vermeidet und Seiteninformationen
für Pagination nach der Relay-Spezifikation abruft. Der quantitative Vergleich betrachtet
unter anderem die Kosten der generierten SQL-Statements. Es wird deutlich, dass die
SQL-Statements des Spring Service für einfache Querys mit weniger Kosten beziffert
werden, während die Statements für komplexere Querys, die PostGraphile generiert,
kostensparender sind. Weiterhin zeigen auf dem bwUniCluster2.0 durchgeführte Leistungs-
tests, dass der PostGraphile Service mehr gleichzeitige Anfragen als der Spring Service
beantworten kann. Betrachtet man die Verteilung der Anfrageausführungszeit, erkennt
man eine höhere Standardabweichung in der Antwortzeit des PostGraphile Service.
Zum Schluss wird die Eignung der Entwicklungsansätze untersucht. Neben der Ergebnisse
des Vergleichs können auch weitere Faktoren berücksichtigt werden, die die Entwicklung
selbst betreffen. Die Nutzung von hohen Programmiersprachen wie Java ermöglicht eine
große Bandbreite an Anpassungen, die bei der Implementierung von Logik in PL/pgSQL
oder anderen von PostgreSQL unterstützten Sprachen nicht in diesem Umfang geboten
wird. Dies betrifft auch Möglichkeiten zur synchronen oder asynchronen Kommunikation
mit weiteren externen APIs.
Software packages including their libraries on HPC Systems are in part provided by the OS’ distribution (such as the Linux kernel or libc), in part by the HPC suppliers (such as network-stack libraries like libmxm and libslurm) or are compiled by the HPC centers themselves (such as Open MPI). For stability of the system as a whole, it is of utmost importance, that SW libraries’ Application Binary Interface (ABI) do not change unnoticed. This TS evaluates the basics of ABI changes, semantic versioning as a means to signal breaking changes, and the tool ABI compliance checker.