05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6

Browse

Search Results

Now showing 1 - 10 of 17
  • Thumbnail Image
    ItemOpen Access
    Adaption des Systems XSTAMPP 4 an die Analysemethode STAMP/CAST in der Einzelplatzanwendung
    (2020) Zimmermann, Eva
    Täglich geschehen Unfälle, die analysiert werden müssen und für die Erklärungen gefunden warden sollten. Dazu gibt es einen Analyseprozess CAST, der auf STAMPP aufbauend, existierende Unfälle betrachtet und durch dessen Erkenntnisse weitere Unfälle verhindert werden sollen. Um diesen Prozess zu unterstützen, wird in dieser Bachelorarbeit eine Einzelplatzanwendung umgesetzt, die den Anwender bei der Analyse von Unfällen unterstützt. Dafür wurde aufbauend auf der Theorie und den existierenden Arbeiten, eine Anforderungsanalyse durchgeführt, auf dessen Grundlage dann die Einzelplatzanwendung implementiert wurde. Als Ergebnis der Arbeit wurde eine Software fertiggestellt, die es dem Analyst ermöglicht, alle Schritte von CAST durchzuführen.
  • Thumbnail Image
    ItemOpen Access
    Controlled user study : usability and efficiency evaluation of the parallel performance catalogue extension for the Palladio-Bench
    (2020) Zahariev, Denis
    For the last two decades, the number of cores in modern CPUs has been steadily increasing. This enables a significant leap in the performance of modern software when the right parallel programming approaches and strategies are being used. One tool used by software performance engineers to examine and evaluate the performance and reliability of pieces of software is the Palladio-Bench. This tool allows its users to analyse these and many more Quality of Software (QoS) properties such as sizing, scalability, and load balancing, based only on graphical models of the software architecture. After various pieces of research showed that the Palladio-Bench does not fully support parallelism, and the modelling of parallel programming strategies, a new extension for the tool was developed. This new extension for the Palladio-Bench incorporates fundamental parallel programming approaches into its already existing toolkit. The researchers that proposed the extension also claimed that it has higher usability and better time efficiency than the standard modelling toolkit of the Palladio-Bench. However, they were not able to prove it since the extension was not yet developed. The purpose of this thesis is to put the supposed usability gains to the test. It compares the standard toolkit and the new extension in the context of the modelling of parallel behaviours. To support this study, a set of research questions was defined. The chosen research method was the conduction of a controlled empirical user study. Sixteen participants were recruited and split into two groups. Each group had to complete different modelling tasks with the standard toolkit and the extension. While they were working on the tasks, several metrics were recorded: task completion time, time spent in errors, number of errors, and usability evaluation. Afterwards, this data was statistically analysed and tested. The results of the analysis prove that the extension increases the usability and the time efficiency of the Palladio-Bench. A reduction in the time spent in errors and the number of errors, however, could not be proved.
  • Thumbnail Image
    ItemOpen Access
    Continuous performance testing of FaaS and microservices based on TOSCA topology and orchestration specifications
    (2020) Farley, Andreas
    With the adoption of cloud computing growing steadily, enterprises are fighting with cloud cost optimization, as their applications are sluggish in regards to the interchangeability of individual components. Additionally, deployment and provisioning of cloud applications requires multiple individual steps, which are often scripted manually. To combat these issues, Topology and Orchestration Specification for Cloud Applications (TOSCA), a language to describe cloud applications in all regards, including management operations, was developed. Rational decomposition and orchestration for serverless computing (RADON), a proposed TOSCA based framework for microservices and Function-as-a-Service (FaaS), aims to support Development and Operations (DevOps) practices. One part of these practices is continuous testing, which prompted the question, how to generate tests from a TOSCA service template and execute them afterwards. To answer this question, the TOSCA meta model was analyzed to find an approach in regards to test generation and execution. We formulated an approach and implemented it in a Continuous Testing Tool (CTT) called RadonCTT. We then evaluated RadonCTT using a demonstration cloud application called Toy-Example. This was done to see whether or not our test generation and execution was functional. Additionally, we evaluated how accurate the test results were. Finally, we evaluated if RadonCTT could be used to cover use cases other than performance testing. Our evaluation shows that our approach can be implemented and that the implementation can be used to generate and execute performance tests, which produce accurate results. Additionally, our results show that RadonCTT supports use cases other than performance testing. We therefore conclude that our approach is a feasible solution to automatic test generation and execution from a TOSCA service template. Our evaluation does not, however, show that our implementation produces accurate results for every cloud application. This is due to a lack of applications available for our evaluation.
  • Thumbnail Image
    ItemOpen Access
    Konzeption und Implementierung von Schulungsunterlagen für XSTAMPP 4
    (2020) Ruckh, Joana
    Technische Systeme in ihrem zuverlässigen funktionalen Zusammenwirken aus Hardware- und Softwarekomponenten stellen eine wesentliche Grundlage unserer modernen Gesellschaft dar. Aufgrund von Miniaturisierung und damit einhergehender Packungsdichte von Design- und Steuerungselementen werden die Systeme zunehmend komplexer und müssen daher vermehrt auf Sicherheit und Zuverlässigkeit getestet werden. Aus diesem Grund wird es immer wichtiger, mittels geeigneter Werkzeuge, solche Systeme hinsichtlich ihrer Wirkzusammenhänge zu beschreiben, zu analysieren und bezüglich möglicher Einflussparameter auf Funktionalität und Sicherheit bewerten zu können. Softwareprogramme wie eXtensible System-Theoretic Accident Model and Process (STAMP) Platform (XSTAMPP) können hierzu einen Beitrag leisten, die Komplexität zu partitionieren und komplexe Systeme bewertbar zu machen. Damit XSTAMPP von möglichst vielen Unternehmen und Analysten genutzt werden kann, sollte die Software intuitiv zu bedienen oder durch Besuchen von Kursen schnell zu erlernen sein bzw. es sollte eine Möglichkeit geben, sich das System selbst auf der Basis von Schulungsunterlagen anzueignen. Ziel dieser Bachelorarbeit ist die Erarbeitung von zwei Schulungskonzepten. Das erste Schulungskonzept umfasst das Selbststudium, in dem sich die Nutzer XSTAMPP 4.1 selbst aneignen können. Dies ist in Form einer Schritt-für-Schritt-Anleitung (SfSA) abgebildet. Das zweite Schulungskonzept bilden Präsenz-Kurse mit zusätzlichen Übungen. Die Kurse sollten so aufgebaut sein, dass zum einen Inhalt vermittelt wird und zum anderen Übungsaufgaben gestellt werden. Hierzu wurde im Rahmen dieser Bachelorarbeit eine Handlungsempfehlung zu den Kursen mit begleitenden Übungen gegeben. Um vor allem den Mehrwert der Schritt-für-Schritt-Anleitung deutlich werden zu lassen, wurde hierzu eine Evaluation angestellt.
  • Thumbnail Image
    ItemOpen Access
    A meta-approach to guide architectural refactoring from monolithic applications to microservices
    (2020) Gu, Qiwen
    The concept of microservices in the software development industry is getting growing attention nowadays. This architectural style is widely discussed both in industry and academia. Refactoring a monolithic application into a microservice application is common practice. Nevertheless, software architects and developers often find it di cult because they lack a structured overview of various migration approaches. Even though literature views about microservice migration were conducted, they were either obsolete or did not follow a systematic approach to ensure correctness and reproducibility of results. The goal of this study is to provide a classification framework as well as a web-based tool that can guide software architects and developers to comprehend up-to-date migration approaches and select a suitable one according to their requirements. In order to achieve this, a systematic literature review was conducted, resulting in thirty-one contributions from 2017 to 2020. Next, a web-based tool was developed based on the knowledge repository created after review. An evaluation of the developed tool by experts and students in the field revealed that it was able to serve the predefined purpose. The proposed framework, as well as the web-based tool, can provide the users a comprehensive overview of microservice migration and various practical approaches. Keywords: Microservices, Monolith Migration, Architectural Refactoring, Microservice Migration Framework
  • Thumbnail Image
    ItemOpen Access
    Entwicklung und Implementierung von Analysetools zur Dimensionierung von Entwässerungsanlagen am Bahnkörper und zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen in das vorhandene DCC-Modell
    (2020) Koch, Daniel
    Diese Arbeit beschreibt die Entwicklung und Implementierung von zwei Analysetools in das vorhandene DCC-Modell. Dabei wird der DCC-Ansatz erläutert und die Umsetzung in Bezug auf die zu implementierenden Tools aufgeführt. Eine der Softwarelösungen dient zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen. Hierbei wird die Kostenermittlung in Form einer Kostenschätzung für den Verkehrsträger Schiene im Detail betrachtet. Das zweite Analysetool unter-sucht die Dimensionierung von Entwässerungsanlagen am Bahnkörper. Dafür wird auf die hydraulische Bemessung von offenen Entwässerungsanlagen umfänglich eingegangen. Für beide Softwarelösungen wird die Vorgehensweise der Implementierung schrittweise erklärt und die enthaltenen Funktionen dargelegt. Zudem wird die Integration der Analysetools in die vom Studienprojekt „ModellBahn“ entwickelte Software namens „PULTrack“ ausführlich beschrieben, und mögliche Anpassungen und Optimierungen dieser erwähnt.
  • Thumbnail Image
    ItemOpen Access
    Entwicklung und Implementierung von Analysemethoden zur Einzelfehlerdetektion in Verbindung mit Deep Learning und Machine Learning
    (2020) Pavlovski, Alexander
    In Deutschland beförderte die Deutsche Bahn AG 148 Millionen Fahrgäste und erreichte eine Gesamtbetriebsleistung von 1,09 Milliarden Trassenkilometern. Die Fahrgastanzahl stieg hier um 4% im Vergleich zum Vorjahr [1]. Dieser Trend lässt vermuten, dass in den kommenden Jahren der Zugverkehr weiter zunehmen wird, so auch aber auch die Belastung der Schienenwege. Aus diesem Grund ist es maßgeblich die Instandhaltung dieser weiter zu verbessern, um einen reibungslosen Schienenverkehr zu gewährleisten. Dazu existiert die Möglichkeit die Vertikalbewegung bzw. Vertikalbeschleunigung der Achse eines Zuges auf dem Gleis zu messen und darauf Fehler zu erkennen. Damit der Prozess der Fehlererkennung aus dem Signal vereinfacht wird, beauftragte das Institut für Eisenbahn- und Verkehrswesen im Sommersemester 2019 an der Universität Stuttgart, über das Studienprojekt der Fakultät Informatik, acht Studenten damit, eine Software zu entwickeln, die diesem Problem abhilft. Das Ergebnis ist die Software PUL-Anfahr, welche aus zwei Prozessabläufen besteht: Aufbereitung und Analyse der Messdaten. In dem Analyseteil geschieht die tatsächliche Fehlererkennung. Jede Gleisinstabilität folgt einem bestimmten Muster im Signal. Jedes dieser Fehlermuster gilt es zu erkennen. Insbesondere hatten Machine Learning Algorithmen, ein Teilbereich der Künstlichen Intelligenz, in den letzten Jahren starke Fortschritte im Themengebiet Mustererkennung zu verzeichnen. Somit bietet es sich an solche Algorithmen in PUL-Anfahr zu integrieren, die in dieser Bachelorarbeit implementiert und erörtert werden.
  • Thumbnail Image
    ItemOpen Access
    Konzeption und Umsetzung der Identifikation abhängiger Elemente in XSTAMPP 4 sowie deren Anwendung bei strukturellen Änderungen des Systems
    (2020) Dietrich, Yannik Florian
    Um den Sicherheitsanforderungen immer komplexer werdender Systeme aus den unterschiedlichsten Bereichen gerecht zu werden, wurde ergänzend zu herkömmlichen Verfahren die Gefährdungsanalyse STPA (System-Theoretic Process Analysis) zur Untersuchung potentieller Unfallursachen vorgestellt. Die STPA ermöglicht umfangreiche Sicherheitsanalysen durch zusammenhängende Kontrollfragen mit vorgegebenen, semantisch abhängigen Elementen, die sich während des iterativen Analyseprozesses bei strukturellen Änderungen des Systems ständig verändern können. Die am Institut für Softwaretechnologie der Universität Stuttgart bereitgestellte Webanwendund XSTAMPP 4.1 zur vereinfsachten Bearbeitung komplexer Systeme mit STPA implementiert die vollständige Erkennung dieser semantischen Elementabhängigkeiten nicht, wodurch einerseits die Benutzerfreundlichkeit der Webanwendung beeinträchtigt wird und andererseits ein internes Datenbankproblem entsteht. Infolgedessen wird eine Konzeption und Implementierung vorgestellt, mit welcher XSTAMPP 4.1 um die Erkennung semantisch abhängiger Elemente und deren Anwendung bei strukturellen Änderungen des Systems während des Analyseprozesses erweitert wurde.
  • Thumbnail Image
    ItemOpen Access
    Implementation of a user interface for the monitoring of a refactoring bot
    (2020) Dam, Hai Duy
    The Refactoring-Bot automatically removes code smells by refactoring the source code and creates pull requests with the changes on GitHub. However, the process of configuring the bot isn’t very user-friendly and it’s not possible to monitor the bot comfortably. In this paper, we introduce the implementation of a Graphical User Interface (GUI) for the Refactoring-Bot in which you can easily manage configurations to start refactorings with the Sonar-Qube Analysis Service and monitor the pull requests of your designated bot user in a specific GitHub repository. The GUI communicates with the Representational State Transfer (REST) Application Programming Interface (API) of the Refactoring-Bot to exchange all the data which are needed to present it to the user. Then we evaluate the usability of the GUI by conducting a usability test, asking the participants to perform specific tasks while we take notes their behaviour and interaction with the service to find possible usability issues. Our findings show that the implemented product is easy-to-use and provides a high usability which results in a satisfying experience.
  • Thumbnail Image
    ItemOpen Access
    Quality attributes in AI-ML-based systems : differences and challenges
    (2020) Damyanova, Beloslava
    Context: There is an increasing need for ubiquitous distribution and deployment of AI-ML-based systems in industry and public sectors. This is driven by advances in machine learning techniques, including deep learning and neural networks. However, there are specifc problems with machine learning applications in terms of their quality, which reduce trust in these systems. This is especially problematic for systems which fnd application in safety-critical domains like self-driving cars and disease diagnosis. Machine learning-enabled systems learn from data for decision-making and are not designed to meet conventional requirements specifcations. Whether existing standards and principles of quality attributes demand adaptation to the new context is an open research question. Objectives: In this bachelor thesis, we have four objectives. First, we aim to identify if any non-functional requirements from ISO 25010 undergo a shift in ML-enabled systems. Then, we examine whether any new quality characteristics, e.g., trainability, generalizability, fairness, have emerged and need to be added to the standard. Lastly, we intend to determine the most critical and most challenging attributes in AI-ML-based systems. Concerning the objectives mentioned above, it is especially diffcult to receive an overview of the perspective of software practitioners. Some knowledge does exist on the topic, however, it is insuffcient. Our primary goal is, therefore, to fnd and understand the state-of-practice on quality attributes in AI-ML-enabled systems based on experts’ opinions and needs. Method: We conducted a grey literature review to accomplish the goals of our study. We use two different search engines and a QA website to identify literature on quality attributes coming from software practitioners. In total, 91 grey literature sources were selected from which we extracted the detailed knowledge necessary for our research. Results: The results of our research show that for software systems with machine learning components, some modifcations and adjustments of the conventional quality attributes have to be undertaken. We also encountered several unique non–functional requirements for machine learning-enabled systems such as explainability, fairness, trainability, and generalizability. Moreover, we identifed 13 quality attributes as important and challenging to assure, based on the perspective of authoritative software practitioners. We propose that the quality of systems with machine learning components should be monitored and improved based on the quality attributes resulted from our study. Conclusion: To support machine learning practitioners with resolving the challenges associated with AI-ML-based systems, we present an analysis on which quality characteristics should be accommodated for the unique nature of these applications. The limited 3research on quality attributes for machine learning makes our study more needed in the industry at the moment. We believe it provides major opportunities for future research, which results would foster the improvement of AI-ML-based systems.