Universität Stuttgart
Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1
Browse
Search Results
Item Open Access Code execution reports: visually augmented summaries of executed source code fragments(2016) Siddiqui, Hafiz AmmarUnderstanding a fragment of code is important for developers as it enables them to optimize, debug and extend it. Developers adopt different procedures for understanding a piece of code, which involves going through the source code, documentation, and profilers results. Various code comprehension techniques have suggested code summarization approaches, which generates the intended behavior of code in natural language text. In this thesis, we present an approach to summarize the actual behavior of a method during its execution. For this purpose, we create a framework that facilitates the generation of interactive and web-based natural language reports with small embedded word-size visualizations. Then, we develop a tool that profiles a method for runtime behavior, and then it processes the information. The tool uses our framework to generate a visually augmented natural language summary report that explains the behavior of the code. In the end, we conduct a small user study to evaluate the quality of our code execution reports.Item Open Access Cost optimization for data placement strategies in an analytical cloud service(2016) Saleem, Muhammad UsmanAnalyzing a large amount of business-relevant data in near-realtime in order to assist decision making became a crucial requirement for many businesses in the last years. Therefore, all major database system vendors offer solutions that assist customers in this requirement with systems that are specially tuned for accelerating analytical workloads. Before the decision is made to buy such a huge and expensive solution, customers are interested in getting a detailed workload analysis in order to estimate potential benefits. Therefore, a more agile solution is desirable having lower barriers to entry that allows customers to assess analytical solutions for their workloads and lets data scientists experiment with available data on test systems before rolling out valuable analytical reports on a production system. In such a scenario where separate systems are deployed for handling transactional workloads of daily customers business and conducting business analytics on either a cloud service or a dedicated accelerator appliance, data management and placement strategies are of high importance. Multiple approaches exist for keeping the data set in-sync and guaranteeing data coherence with unique characteristics regarding important metrics that impact query performance, such as the latency when data will be propagated, achievable throughputs for larger data volumes, or the amount of required CPU to detect and deploy data changes. So the important heuristics are analyzed and evolved in order to develop a general model for data placement and maintenance strategies. Based on this theoretical model, a prototype is also implemented that predicts these metrics.Item Open Access Serialization of foreign types with SKilL(2016) Weißer, ConstantinSKilL provides a language independent means to specify serialisable data types. Bindings for these types can be generated automatically for multiple supported languages based on this specification. However, using these bindings is only hassle-free for newly written code, because existing types must be replaced by the controlled generated bindings. This impedes the usefulness of SKilL in old projects. We investigate a new approach. SKilL is to be extended in order to support the reuse of existing Java classes, so-called foreign types. The tool shall be able to analyse classes, associate them with specified SKilL types, verify the type correctness of this association and generate the required code in order to serialise objects of these types. This thesis points out the occurring challenges and discusses potential solutions. We experiment with several alternatives and provide insight into their pros and cons, as well as justification for our design. Functional and performance tests assess our implementation and shortcomings are addressed in detail.Item Open Access Multi-view stereo with inverse depth parameterization(2016) Goroll, OliverEstimating accurate depth maps by solving the stereo problem is an important step in reconstructing real world surfaces. Variational methods that minimize a global energy functional are considered as especially precise throughout the literature. By using the depth as parameterization directly, the approach is easily extended to multiple views, allowing to considerably enhance the quality of the resulting depth maps. Further improvement can be achieved by adapting the depth parameterization to the regularizer used. In this thesis second-order regularization is used with an \textsc{inverse} depth parameterization and compared against the direct depth parameterization to examine its benefits. Several extensions that improve upon the naiive multi-view approach are suggested. The proposed method and its extensions are evaluated by experiments, using artificial as well as real world test scenes.Item Open Access Validierung eines gekoppelten Simulationsmodells schwimmender Windkraftanlagen mit Hilfe von Modellversuchen(2016) Koch, ChristianFür die Konzeptionierung und Konstruktion schwimmender Windenergiesysteme müssen die Belastungen des Gesamtsystems, die aus kombinierten Wind- und Wellenkräften resultieren, genau untersucht und bestimmt werden. Nur bei genauer Kenntnis dieser Belastungen können effiziente, sichere und wirtschaftliche Gesamtkonzepte entwickelt werden. Für eine zuverlässige Bestimmung der kombinierten Wind- und Wellen- sowie Ankerleinenlasten können validierte Simulationsmodelle eingesetzt werden. Um eine Validierung von Simulationsprogrammen vornehmen zu können, muss auf definierte Lastfälle mit realen Datensätzen zurückgegriffen werden. Im INNWIND.EU Projekt wurde für die Validierung bestehender Simulationscodes eine froudeskalierte, auf der „OC4-DeepCwind“ Halbtaucherplattform basierende, schwimmende 10MW Windenergieanlage mit Rotorblättern mit niedriger Reynoldszahl unter verschiedenen definierten Belastungsfällen in einem kombinierten Wind- und Wellentank in Nantes (Frankreich) untersucht. Im Rahmen dieser Arbeit wird ausgehend von den in in Frankreich erhobenen Daten des INNWIND.EU Projekts ein vollständig gekoppeltes Simulationsmodell, auf einem bestehenden SIMPACK Mehrkörpersimulationsmodell aufgebaut und validiert. Für die Modellierung der Ankerleinenkräfte wurde dabei erstmalig das von NREL entwickelte Ankerleinensimulationsprogramm MAP++ eingesetzt. Die Modellierung der Aerodynamik erfolgte mittels AeroDyn unter Verwendung der Blattelementimpulsmethode. Für die Modellierung der Hydrodynamik wurde HydroDyn mit einer vorgeschalteten AQWA Berechnung zur Bestimmung der hydrodynamischen Koeffizienten eingesetzt. Im Rahmen der Untersuchung wurde eine Vielzahl verschiedener Lastfälle, angefangen von Einschwingversuchen, Versuchen mit reiner Wellen- oder reiner Windbelastung sowie mit kombinierter Wind- und Wellenbelastung simuliert und untersucht. Für die kombinierten Belastungsfälle wurden auch Extrembelastungstests untersucht und die Simulationsergebnisse mit den Messdaten verglichen. Vor allem für große Wellenhöhen zeigten sich dabei gute Übereinstimmungen zwischen Simulation und Messung.Item Open Access Exploring cloud-based sharing of community recipes for smart environments(2016) Olp, DominikOur environments have become continuously smarter. With the advancement of technology, devices in our daily lives become controllable via smartphones or configurable to one's demand. Letting users define the behaviour of their devices yields a new type of interaction and creates a smart environment. Once a helpful behaviour was created, sharing such work with others, leads to the benefit of even more users. Therefore, a sharing platform was created that lets users simply create and exchange new solutions for their smart environment. To this date, the sharing of a smart environment's behaviour is a novel approach. The built sharing platform was used to research the implications of sharing behaviour between smart environments. In addition, the study was carried out to gather experience and feedback from real users. Creating such a platform required developing a data format to easily provide and distribute the necessary information to apply behaviour in another environment.Item Open Access Kooperative Vorhersage der minimalen Anwendungsausführungszeit(2016) Kuhn, JulianCode Offloading Frameworks verbessern durch Auslagern von Programmteilen - auch Offloadingkandidaten genannt - auf Server die Leistung oder den Energieverbrauch von Geräten mit limitierten Ressourcen. Offloadingkandidaten werden dann ausgelagert, wenn mit Inbetrachtnahme der Übertragung des Kandidaten eine Einsparung im Vergleich zur rein lokalen Ausführung vorliegt. Die Entscheidung, ob Offloading stattfindet, hängt stark von der Ausführungszeit des Kandidaten ab. Im Fall von Methoden kann die Ausführungszeit je nach aktueller Parameterkonfiguration stark variieren. Da es in vielen Fällen unpraktikabel ist, für jede Parameterkombination Aufzeichnungen durchzuführen, ist die Verwendung von einfachen, historienbasierten Modellen zur Bestimmung der Ausführungszeit ungeeignet. Eine möglichst genaue Angabe der Ausführungszeit wird aber benötigt, um die Offloadingentscheidung korrekt zu treffen. Ziel der Arbeit war, die Vorhersage von Ausführungszeiten mit Hilfe von Machine Learning Modellen anhand verschiedener Testanwendungen- und Szenarien im Kontext des Code Off-loadings zu untersuchen. Außerdem wurde ein kooperativer Systementwurf vorgestellt und implementiert, der zur Verwaltung von Datensätzen, Vorhersagemodellen und deren Erstellung, sowie zur Vorhersage von Ausführungszeiten verwendet werden kann. Der Entwurf erweitert dabei bestehende Offloadingframeworks. Es konnte festgestellt werden, dass sich Machine Learning Algorithmen zur Vorhersage und insbesondere zum Verbessern der Offloadingentscheidung eignen.Item Open Access Konzept und Implementierung einer Komponente zur Kommunikation TOSCA-basierter Anwendungen(2016) Zimmermann, MichaelCloud Computing ist ein häufig eingesetztes Paradigma zur Realisierung moderner IT-Systeme. Es ermöglicht die flexible Nutzung von professioneller IT-Infrastruktur ohne die Verwaltung dieser zwingend selbst übernehmen zu müssen. Jedoch besteht das Problem des Vendor-Lock-Ins, also die Abhängigkeit von einem bestimmten Provider. Die Topology and Orchestration Specification for Cloud Applications (TOSCA) bietet jedoch eine Möglichkeit zur Modellierung von portablen und interoperablen Cloud-Anwendungen. Weiterhin wurde an der Universität Stuttgart eine Open Source Implementierung einer TOSCA-Laufzeitumgebung namens OpenTOSCA für diesen Standard entwickelt. Allerdings bietet diese bisher keine Möglichkeit zur direkten Kommunikation verschiedener, durch OpenTOSCA verwalteter Anwendungen an. Im Rahmen dieser Arbeit wurde aus diesem Grund eine Komponente für Open-TOSCA konzipiert und anschließend implementiert, um eine Kommunikation zwischen verschiedenen durch OpenTOSCA deployten Anwendungen auf eine einheitliche Art und Weise zu ermöglichen. Dafür werden in dieser Arbeit, neben benötigten Erweiterungen des TOSCA-Standards, Anforderungen an die zu entwickelnde Komponente aufgestellt und daraus folgend Entwurfsentscheidungen getroffen. Weiterhin wird ein Konzept zur Problemlösung entworfen und darauf aufbauend eine Architektur erarbeitet, welche die Kommunikationskomponente in OpenTOSCA integriert. Eine prototypische Implementierung der konzipierten Komponente sowie deren Integration in OpenTOSCA ist ebenfalls Teil dieser Arbeit.Item Open Access Automatic splitting in data-parallel complex event processing systems(2016) Sanwald, TimParallel Complex Event Processing (CEP) systems handle today’s heavy loaded event streams from smart homes, network traffic systems or stock trading systems by distributing the incoming event stream to several pattern detection systems. The correct splitting is currently done by CEP experts which ensure the consistent splitting without generating false-positive or false-negative complex events in comparison with centralized CEP systems. In this work an approach is developed which automatically generates a splitting model from the pattern definition which ensures the consistent distribution without generating false positives or false negatives. This approach enables a parallel CEP system to be configured and used the same way as a centralized CEP system. Further, a method which combines window based splitting and key based splitting is presented to reduce the network load and the CPU load on pattern detection operators. The functionality of the automatic splitting and the optimization is validated with common CEP scenarios based on generated and real world data to ensure a wide applicability of the approach.Item Open Access Introducing performance awareness in an integrated specification environment(2016) Keller, FabianWith an increase in software complexity and modularization to create large software systems and software product lines it is increasingly difficult to ensure all requirements are met by the built system. Performance requirements are an important concern to software systems and research has developed approaches being capable of predicting software performance from annotated software architecture descriptions, such as the Palladio tool suite. However, the tooling when moving between specification, implementation and verification phase has a gap as the tools are commonly not linked, leading to inconsistencies and ambiguities in the produced artifacts. This thesis introduces performance awareness into the Integrated Specification Environment for the Specification of Technical Software Systems (IETS3), which is a specification environment aiming to close the tooling gap between the different lifecycle phases. Performance awareness is introduced by integrating existing approaches for software performance prediction from the Palladio tool suite and extending them to cope with variability-aware system models for software product lines. The thesis includes an experimental evaluation showing that the developed approach is able to provide performance predictions to users of the specification environment within 2000 ms for systems of up to 20 components and within 8000 ms for systems of up to 30 components.