05 Fakultät Informatik, Elektrotechnik und Informationstechnik
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6
Browse
36 results
Search Results
Item Open Access Adaption des Systems XSTAMPP 4 an die Analysemethode STAMP/CAST in der Einzelplatzanwendung(2020) Zimmermann, EvaTä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.Item Open Access Controlled user study : usability and efficiency evaluation of the parallel performance catalogue extension for the Palladio-Bench(2020) Zahariev, DenisFor 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.Item Open Access Continuous performance testing of FaaS and microservices based on TOSCA topology and orchestration specifications(2020) Farley, AndreasWith 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.Item Open Access Konzeption und Implementierung von Schulungsunterlagen für XSTAMPP 4(2020) Ruckh, JoanaTechnische 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.Item Open Access Property-based testing : evaluating its applicability and effectiveness for AUTOSAR basic software(2020) Bose, AparnaPrevious work has shown that Property-based Testing (PBT) can be successfully applied to testing synchronous software. For example, it has been demonstrated that PBT can be applied to testing cloud services, web services and telecoms software. But less research has been carried out to evaluate this approach to testing asynchronous code as in automotive software. In the work presented in this Master thesis, the data generation feature of PBT is exploited to test the functionality of a software module based on the AUTOSAR Adaptive Platform. Properties are defined considering the system as a black-box targeting its functionality on an abstract level. First, we apply stateless properties to test a single functionality and thereby find the communication delay needed to incorporate in our testing at system level. Later, we implement a test infrastructure based on stateful properties using the Python tool Hypothesis for the demonstration of research based on PBT. The testing framework is interfaced with the runtime environment to integrate the former with the system being tested. The test inputs generated in this approach are evaluated for their effectiveness and efficiency in testing the software module under test. Finally, experts in the testing field have been interviewed to draw comparisons between PBT and traditional methods of testing.Item Open Access A meta-approach to guide architectural refactoring from monolithic applications to microservices(2020) Gu, QiwenThe 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 FrameworkItem Open 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, DanielDiese 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.Item Open Access Entwicklung und Implementierung von Analysemethoden zur Einzelfehlerdetektion in Verbindung mit Deep Learning und Machine Learning(2020) Pavlovski, AlexanderIn 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.Item Open Access Tool support for systematic literature reviews : analyzing existing solutions and the potential for automation(2021) Karakan, BurakDie steigende Popularität des evidenz-basierten und empirischen Software-Engineerings hat dazu geführt, dass systematische Reviews sich in diesem Bereich als eine wichtige Forschungsmethode etabliert haben. Der systematische Charakter dieses Forschungsansatzes ermöglicht es, alle relevanten Beweise in Bezug auf ein bestimmtes Forschungsthema zu identifizieren, zu sammeln und zu interpretieren, wobei auch neue Forschungsaktivitäten zur weiteren Untersuchung durchgeführt werden können. Die Entwicklung eines umfassenden und detaillierten Review-Protokolls, das alle relevanten Methoden, Verfahren und Strategien für den Review dokumentiert, muss daher befolgt werden, um eine mögliche Verzerrung in der Bewertung durch den Forscher zu vermeiden und den wissenschaftlichen Wert der Ergebnisse zu erhöhen. Folglich sind die manuellen Tätigkeiten von systematischen Reviews sehr zeitaufwendig und erfordern einen hohen Arbeitsaufwand. Angesichts dieser Herausforderungen gibt es ein großes Potenzial für die Automatisierung mit Tool-Unterstützung, um die Effizienz und Zuverlässigkeit bestimmter Schritte zu erhöhen. Bislang gibt es viele Tools, die zur Unterstützung des systematischen Review-Prozesses entwickelt wurden. Allerdings bieten diese Tools in der Regel nur eine begrenzte Unterstützung für den gesamten Prozess an. Da die Menge der existierenden Tools groß ist, ist es für Forscher schwierig, den Überblick über die existierenden Tools zu behalten um einen passenden Kandidaten auszuwählen. Das Ziel dieser Arbeit ist es, existierende Tools zur Unterstützung des systematischen Review-Prozesses zu identifizieren, zu sammeln und zu analysieren, um einen effizienten Überblick über evaluierte Tools zu erhalten, die bestimmte Features abdecken. Da eine ganzheitliche Tool-Unterstützung für den gesamten Prozess zu fehlen scheint, werden typische Praktiken für systematische Reviews im weiteren Kontext der Softwareentwicklung und Herausforderungen, denen Forscher bei der Durchführung eines systematischen Reviews gegenüberstehen, untersucht, um die wichtigsten Bereiche für die Automatisierung zu identifizieren und einen Vorschlag für ein ganzheitliches Tool-Design aus der Kombination bestehender Werkzeuge zu präsentieren. Um die Ziele zu erreichen, wurden eine Reihe von sinnvollen Forschungsfragen und ein striktes Forschungsprotokoll entwickelt. Um bestehende Tools zu identifizieren und zu sammeln, wurde ein Rapid Review durchgeführt. Die Erfahrungen und Herausforderungen von Software-Engineering- Forschern, die bei der Durchführung von systematischen Übersichtsarbeiten auftreten, wurden durch halbstrukturierte Interviews untersucht. Um eine Reihe von identifizierten Tools zu analysieren, zu vergleichen und zu bewerten, wurde eine Feature Analysis durchgeführt. Die Ergebnisse des Rapid Reviews zeigen eine zunehmende Verbreitung von Tools zur Unterstützung von systematischen Reviews in der Softwareentwicklung und eine begrenzte Evaluierung dieser Tools. Die Beobachtungen, die von den Teilnehmern durch halbstrukturierte Interviews gemacht wurden, zeigen eine Reihe von herausfordernden und problembezogenen Aktivitäten, die während des systematischen Review-Prozesses auftreten. In Bezug auf diese Aktivitäten wurden von den Teilnehmern verschiedene Anforderungen an Werkzeuge identifiziert, die für die Unterstützung von systematischen Literaturreviews wichtig sind. Die Ergebnisse der Feature-Analyse zeigen, dass die Unterstützung durch bestehende Tools noch begrenzt ist. Auch wenn die Unterstützung durch bestehende Tools begrenzt ist, gibt es ein großes Potenzial für die Automatisierung bestimmter Aufgaben. Ein besseres Tool zur Unterstützung der systematischen Literaturrecherche wird immer noch benötigt.Item Open Access Using software-performance-antipatterns and profiling traces to perform code-refactorings(2020) Stadelmaier, NikoToday, usability, user satisfaction, as well as enterprise adoption of a software application, are highly influenced by the performance of the software application. Therefore, it is required to resolve performance issues as early as possible during the development of the software. Many issues can be resolved during the planning and design phase by integrating a model-based antipattern detection. Such approaches can be easily integrated with continuous development and integration pipelines, which are often used in modern software development following an agile development methodology. The focus of this thesis is to develop an approach that can automatically detect performance antipatterns and suggest refactorings for the found problems. In contrast to model-based approaches, the intention is to detect the problems on the code-level. To tackle the problem, we make use of profiling traces that record the execution of an application. After the initial research on antipatterns in Go, we introduce the identified code-based antipatterns. We then present the benchmark application, where we implemented the problems. This benchmark is then used to generate the profile traces. Now, we analyze how the problems can be detected in the profiles. We then extract our novel code- and profile-patterns from the profiling information. These patterns are then used by our detection tool to identify the problems in the profiles and suggest the respective refactorings. Our results show that our approach can automatically detect performance antipatterns in the profiling data. However, more tests need to be conducted to conclude if the approach can detect antipatterns in the data of other systems.