Attribut:Kurzfassung

Aus IPD-Institutsseminar
Zur Navigation springen Zur Suche springen

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 20 Seiten angezeigt, auf denen für dieses Attribut ein Datenwert gespeichert wurde.
A
Die Entwicklung moderner Softwaresysteme basiert oft auf mehreren Artefakten. Diese Artefakte teilen sich oft redundante oder abhängige Informationen, welche während der Entwicklung des Softwaresystems konsistent gehalten werden müssen. Die manuelle Durchführung dieses Prozesses ist arbeitsaufwendig und fehleranfällig. Konsistenzerhaltungsmechanismen ermöglichen diese Artefakte automatisch konsistent zu halten. Konsistenzerhaltung basiert oftmals auf bidirektionalen Transformationen, welche ein Zielmodell aktualisieren, wenn ein Quellmodell modifiziert wird. Während das Gebiet der bidirektionale Transformationen stark erforscht ist, hat Konsistenzerhaltung von mehr als zwei Modellen bisher weniger Aufmerksamkeit erhalten.Allerdings umfasst die Entwicklung von Softwaresystemen jedoch oft mehr als zwei Modelle. Folglich benötigt man Konsistenzerhaltung zwischen mehr als zwei Modellen, welche durch Netzwerke bidirektionaler Transformationen erreicht werden kann. Solche Transformationsnetzwerke kombinieren mehrere Transformationen, wobei jede einzelne für die Konsistenzerhaltung zweier Modelle verantwortlich ist. Da die Entwicklung jeder Transformation individuelles Domänenwissen erfordert, werden sie in der Regel von mehreren Domänenexperten unabhängig voneinander entwickelt. Zusätzlich können einzelne Transformationen in anderen Netzwerken wiederverwendet werden. Dies wird jedoch in bisherigen Arbeiten nicht berücksichtigt, macht aber die Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen anfällig für Probleme. In einem Netzwerk von Transformationen kann es beispielsweise zwei oder mehr Verkettungen von Transformationen geben, die dieselben Metamodelle mit verschiedenen anderen Metamodellen in Beziehung setzen. Jedoch können sie die Elemente unterschiedlich miteinander in Beziehung setzen. Dies kann zum Beispiel zu einer doppelten Erstellung derselben Elemente über die verschiedenen Transformationsketten führen. Es gibt jedoch kein systematisches Wissen über die Problemarten, die in solchen Netzwerken auftreten können oder ob und wie derartige Probleme systematisch verhindert werden können. Diese Thesis führt eine Fallstudie durch, die ermitteln soll, welche Arten von Problemen bei der Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen auftreten können. Für diese Probleme leiten wir eine Klassifizierung hinsichtlich des erforderlichen Wissens für ihre Vermeidung ab. Wir unterscheiden zwischen dem Wissen, dass die Transformation in einem Netzwerk genutzt werden kann und dem Wissen über die Inhalte der anderen Transformationen. Für Probleme, die Transformationsentwickler verhindern können, schlagen wir Strategien zur systematischen Vermeidung während ihrer Konstruktion vor. In unserer Fallstudie sind 90 % der gefundenen Probleme verhinderbar. Die übrigen Probleme lassen sich während der Entwicklung einer einzelnen Transformation nicht ohne das Wissen über weitere Transformationen im Netzwerk vermeiden. Folglich hilft diese Thesis Transformationsentwicklern Fehler bei der Erstellung von Transformationen systematisch zu vermeiden und ermöglicht es Netzwerkentwicklern Fehler zu erkennen, die bei der Konstruktion der Transformation nicht verhindert werden können.  
Although modularity is a well established concept, it has not received much attention when it comes to model-driven software development. Over time, metamodels tend to evolve and grow in complexity to encompass new aspects and features. If modularization steps are not taken and metamodels are extended intrusively, they can become difficult to maintain and to extend. With the increased complexity, the modularization can become even more challenging. We present a novel approach to assist the modeler in the task of modularization. Our approach addresses the problem from a graphical perspective. The proposed tool support displays a layered structure, where each layer has certain level of abstraction, and allows the modeler to organize metamodels inside the layers. The tool provides the modeler with full control over the modularization process and full knowledge about the relations between the metamodels, thus facilitating the modularization task greatly.  +
Parallelisierende Compiler und Auto-Tuner sind zwei der vielen Technologien, die Entwick- lern das Schreiben von leistungsfähigen Anwendungen für moderne heterogene Systeme erleichtern können. In dieser Arbeit stellen wir einen parallelisierenden Compiler vor, der Parallelität in Programmen erkennen und parallelen Code für heterogene Systeme erzeu- gen kann. Außerdem verwendet der vorgestellte Compiler Auto-Tuning, um eine optimale Partitionierung der parallelisierten Codeabschnitte auf mehrere Plattformen zur Laufzeit zu finden, welche die Ausführungszeit minimiert. Anstatt jedoch die Parallelisierung ein- mal für jeden parallelen Abschnitt zu optimieren und die gefundenen Konfigurationen so lange zu behalten wie das Programm ausgeführt wird, sind Programme, die von unserem Compiler generiert wurden, in der Lage zwischen verschiedenen Anwendungskontexten zu unterscheiden, sodass Kontextänderungen erkannt und die aktuelle Konfiguration für je- den vorkommenden Kontext individuell angepasst werden kann. Zur Beschreibung von Kontexten verwenden wir sogenannte Indikatoren, die bestimmte Laufzeiteigenschaften des Codes ausdrücken und in den Programmcode eingefügt werden, damit sie bei der Aus- führung ausgewertet und vom Auto-Tuner verwendet werden können. Darüber hinaus speichern wir gefundene Konfigurationen und die zugehörigen Kontexte in einer Daten- bank, sodass wir Konfigurationen aus früheren Läufen wiederverwenden können, wenn die Anwendung erneut ausgeführt wird. Wir evaluieren unseren Ansatz mit der Polybench Benchmark-Sammlung. Die Ergeb- nisse zeigen, dass wir in der Lage sind, Kontextänderungen zur Laufzeit zu erkennen und die Konfiguration dem neuen Kontext entsprechend anzupassen, was im Allgemeinen zu niedrigeren Ausführungszeiten führt.  +
A model-based catalog for security solutions and an architecture-based security analysis tool that helps developers without security expertise is in development at the FZI. The more the catalog grows, the harder it gets for its users to browse it manually. A query language for the security catalog would offer users an easy way to browse it and, in addition, it would support the development of the security analysis tool. During the work on this thesis, this query language was developed. Afterwards, it was evaluated on the case study CoCoME.  +
Subgroup discovery is a data mining technique that is used to extract interesting relationships in a dataset related to to a target variable. These relationships are described in the form of rules. Multiple SD techniques have been developed over the years. This thesis establishes a comparative study between a number of these techniques in order to identify the state-of-the-art methods. It also analyses the effects discretization has on them as a preprocessing step . Furthermore, it investigates the effect of hyperparameter optimization on these methods. Our analysis showed that PRIM, DSSD, Best Interval and FSSD outperformed the other subgroup discovery methods evaluated in this study and are to be considered state-of-the-art . It also shows that discretization offers an efficiency improvement on methods that do not employ internal discretization. It has a negative impact on the quality of subgroups generated by methods that perform it internally. The results finally demonstrates that Apriori-SD and SD-Algorithm were the most positively affected by the hyperparameter optimization.  +
Die sichere Behandlung von sensitiven Daten stellt eine zentrale Qualitätseigenschaft eines Softwaresystems dar und muss bereits während des Architekturentwurfs beachtet werden. Ein Ansatz zur Modellierung von Sicherheitseigenschaften auf der Architekturebene ist Data-Centric Palladio (DCP). DCP reichert das Architekturmodell um ein Datenflussmodell an, um Analysen der Vertraulichkeitseigenschaften von Daten zu ermöglichen. Es ist jedoch unklar, ob der in DCP gewählte Ansatz bezüglich der Ausdrucksmächtigkeit äquivalent zu etablierten Ansätzen der Modellierung und Analyse von Sicherheitseigenschaften ist. Daher wird in dieser Arbeit die Ausdrucksmächtigkeit von DCP mit der Ausdrucksmächtigkeit von UMLsec verglichen. Dazu werden für ausgewählte UMLsec-Analysen äquivalente Analysen in DCP definiert und implementiert. Zudem werden Modelltransformationen zwischen den Eingabemodellen der UMLsec-Analyse und der DCP-Analyse spezifiziert, mit derer Hilfe die Genauigkeit der erstellten DCP-Analyse überprüft wird. Aus den Erkenntnissen, die aus der Definition und Evaluation der erstellten DCP-Analysen gewonnen werden, wird eine Aussage über die Ausdrucksmächtigkeit von DCP im Vergleich zu UMLsec getroffen.  +
Im Forschungsprojekt QuartrBack wurden Menschen mit Demenz GPS-Tracker mitgegeben, um deren Position zu jeder Zeit bestimmen zu können. Die Herausforderung dieser Bachelorarbeit war es, aus den erhaltenen (sehr dünnen) Daten ein möglichst genaues Quartier (also jene Wege, die oft von einer Person gelaufen werden) zu erstellen. Dies wurde mithilfe der OpenStreetMaps Daten realisiert.  +
Software-Systeme können sensible Informationen verarbeiten. Um ihre Vertraulichkeit zu gewährleisten, können sowohl das Architekturmodell, als auch seine Implementierung hinsichtlich des Informationsflusses untersucht werden. Dazu wird eine Vertraulichkeitsspezifikation definiert. Beide Modellebenen besitzen eine Repräsentation der gleichen Spezifikation. Wird das System weiterentwickelt, kann sie sich auf beiden Ebenen verändern und dementsprechend widersprüchliche Aussagen enthalten. Möchte man die Vertraulichkeit der Informationen verifizieren, müssen die Spezifikationselemente im Quellcode in einem zusätzlichen Schritt in eine weitere Sprache übersetzt werden. Die Bachelorarbeit beschäftigt sich mit der Transformation der unterschiedlichen Repräsentationen der Vertraulichkeitsspezifikation eines Software-Systems. Das beinhaltet ein Abbildungskonzept zur Konsistenzhaltung der Vertraulichkeitsspezifikation und die Übersetzung in eine Sprache, die zur Verifikation benutzt werden kann.  +
Performance Models (PMs) can be used to predict software performance and evaluate the alternatives at the design stage. Building such models manually is a time consuming and not suitable for agile development process where quick releases have to be generated in short cycles. To benefit from model-based performance prediction during agile software development the developers tend to extract PMs automatically. Existing approaches that extract PMs based on reverse-engineering and/or measurement techniques require to monitor and analyze the whole system after each iteration, which will cause a high monitoring overhead. The Continuous Integration of Performance Models (CIPM) approach address this problem by updating the PMs and calibrate it incrementally based on the adaptive monitoring of the changed parts of the code. In this work, we introduced an adaptive monitoring approach for performance model integration, which instruments automatically only the changed parts of the source code using specific pre-defined probes types. Then it monitors the system adaptively. The resulting measurements are used by CIPM to estimate PM parameters incrementally. The evaluation confirmed that our approach can reduce the monitoring overhead to 50%.  +
Outlier detection targets the discovery of abnormal data patterns. Typical scenarios, such as are fraud detection and predictive maintenance are particularly challenging, since the data is available as an infinite and ever evolving stream. In this thesis, we propose Adaptive Variational Autoencoders (AVA), a novel approach for unsupervised outlier detection in data streams. Our contribution is two-fold: (1) we introduce a general streaming framework for training arbitrary generative models on data streams. Here, generative models are useful to capture the history of the stream. (2) We instantiate this framework with a Variational Autoencoder, which adapts its network architecture to the dimensionality of incoming data. Our experiments against several benchmark outlier data sets show that AVA outperforms the state of the art and successfully adapts to streams with concept drift.  +
Raytracing ist ein rechenintensives Verfahren zur Erzeugung photorealistischer Bilder. Durch die automatische Optimierung von Parametern, die Einfluss auf die Rechenzeit haben, kann die Erzeugung von Bildern beschleunigt werden. Im Rahmen der vorliegenden Arbeit wurde der Auto-Tuner libtuning um ein generalisiertes Reinforcement Learning-Verfahren erweitert, das in der Lage ist, bestimmte Charakteristika der zu zeichnenden Frames bei der Auswahl geeigneter Parameterkonfigurationen zu berücksichtigen. Die hierfür eingesetzte Strategie ist eine ε-gierige Strategie, die für die Exploration das Nelder-Mead-Verfahren zur Funktionsminimierung aus libtuning verwendet. Es konnte gezeigt werden, dass ein Beschleunigung von bis zu 7,7 % in Bezug auf die gesamte Rechenzeit eines Raytracing-Anwendungsszenarios dieser Implementierung gegenüber der Verwendung von libtuning erzielt werden konnte.  +
Diese Arbeit behandelt die Beschreibung des Verhalten von Simulationen, welche von Modellen der Domänen Geschäftsprozessen und Informationsystem beschriebene Abläufe simulieren. Das beschreiben des Verhalten von Simulation visiert dabei das schaffen weiterer Vergleichsmöglichkeiten für selbige an. Dafür werden Formalismen hinsichtlich ihrer Beschreibungsmöglichkeiten für solche Simulationen evaluiert, mit dem Ziel einen Formalismus zu finden, welcher das Verhalten der Simulationen beschreiben kann. In der Literatur ist das Vergleichen von Simulationen mit dem Vergleichen des Simulationsergebnisses verknüpft. Das Erzeugen des Ergebnisses wird nicht zum Vergleich herangezogen. Das Einbeziehen des Verhaltens von Simulationen bietet weitere Kriterien für das Vergleichen von Simulationen. In einem ersten Schritt, werden innerhalb einer Studie Formslismen hinsichtlich ihrer Modelliergungsmöglichkeiten für das Beschreiben des genannten Verhaltens evaluiert. Im zweiten Schritt wird mithilfe der Studienergebnissen ein Formalismus entworfen, welcher auf die Anforderungen für das Beschreiben des Verhaltens der Simulationen angepasst ist. Das Ergebnis dieser Arbeit bildet ein Formalismus, welcher dahingehend evaluiert wurde, das Verhalten von Simulationen im genannten Kontext zu beschreiben.  +
Im Rahmen dieser Bachelorarbeit wurde die Relation zwischen Dokumentationen der Softwarearchitektur in natürlicher Sprache und formellen Modellen untersucht. Dabei wurde versucht herauszufinden, wie sich die Entwurfsentscheidungen in der Dokumentation auf das Modell auswirken. Zu diesem Zweck wurden zwei Fallstudien durchgeführt. Zunächst wurde ein Modell der Implementierung erstellt, das auf dem Palladio-Komponentenmodell basiert. Danach wurden die Aussagen in der Dokumentation klassifiziert und anschließend wurde untersucht, welche Entwurfsentscheidungen im Modell wiederzufinden sind und welche nicht dargestellt werden. Die Ergebnisse wurden genutzt, um eine Aussage über die Relation zwischen den Artefakten zu treffen.  +
Bei Disfluenzen handelt es sich um Unterbrechungen des normalen Sprechflusses, die durch Fehler, Wortwiederholungen, Füllwörter oder ähnliche andere Wörter entstanden sind. Sie sind ein wesentlicher Bestandteil von spontan gesprochenen Äußerungen. Sie erschweren jedoch eine nachfolgende Bearbeitung dieser Äußerungen und müssen daher korrigiert werden. Eine automatisierte Korrektur erweist sich aufgrund des unregelmäßigen Aufbaus der Disfluenzen als schwierig. Deshalb wird in dieser Bachelorarbeit die Erkennung und Korrektur von Disfluenzen in natürlichsprachlichen Äußerungen untersucht. Hierzu wird mit Hilfe eines maschinellen Lernverfahrens ein Klassifikator entwickelt, der Disfluenzen erkennt und korrigiert. Der Klassifikator wird dabei als Agent für die Rahmenarchitektur PARSE umgesetzt. Die Funktionalität des entworfenen Werkzeugs wird anhand von händischen Transkriptionen sowie einem Testdatensatz des Switchboard-Korpus evaluiert. Auf diesen beiden Datensätzen wird entsprechend ein F1-Wert von 0,710 beziehungsweise 0,792 erreicht.  +
Die Klassifikation von Entwurfsentscheidungen in natürlichsprachiger Softwaredokumentation ermöglichen bessere Implementierungs- und Wartungsprozesse und die Erstellung konsistenter Dokumentationsartefakte. Das in dieser Arbeit entwickelte Klassifikationsschema für Entwurfsentscheidungen erweitert bestehende Ansätze, um klar umrissene Klassen festzulegen und Entwurfsentscheidungen vollständig abzubilden. Das Schema wurde in einem iterativen Prozess die Passform des Klassifikationsschemas durch die Anwendung auf die reale Softwarearchitekturdokumentation von 17 Fallstudien verbessert und validiert. In einem zweiten Teil wird eine Anwendungsmöglichkeit des entwickelten Klassifikationsschemas eröffnet, indem in einer Proof-of-Concept-Implementierung untersucht wird, mit welchen Ansätzen Entwurfsentscheidungen identifiziert und klassifiziert werden können. Durch die Evaluation mit statistischen Maßen wird gezeigt, welche Methoden zur Textvorverarbeitung, zur Überführung in Vektorrepräsentationen und welche Lernalgorithmen besonders für diese Klassifikation geeignet sind.  +
In dieser Arbeit werden mehrere rekurrente neuronale Netze verglichen. Es werden LSTMs, GRUs, CTRNNs und Elman Netze untersucht. Die Netze werden dabei untersucht sich einen Punkt zu merken und anschließend nach dem Punkt mit einem virtuellen Roboterarm zu greifen. Bei LSTM, GRU und Elman Netzen wird auch untersucht wie die Netze die Aufgabe lösen, wenn jedes Neuron nur auf den eigenen Speicher zugreifen kann. Dabei hat sich herausgestellt, dass LSTMs und GRUs deutlich besser bei den Experimenten bewertet werden als CTRNNs und Elman Netze. Außerdem werden die Rechenzeit und der Zusammenhang zwischen der Anzahl der zu trainierenden Parameter und der Ergebnisse der Experimente verglichen.  +
Temporal text corpora like the Google Ngram Data Set usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the data set, as transformations and queries are resource and time intensive. However, many use cases do not require the whole corpus to have a sufficient data set and achieve acceptable query results. We propose various compression methods to reduce the total number of ngrams in the corpus. Specially, we propose compression methods that, given an input dictionary of target words, find a compression tailored for queries on a specific topic. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram Data Set.  +
Temporal text corpora like the Google Ngram dataset usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the dataset, as transformations and queries are resource and time intensive. However, many use-cases do not require the whole corpus to have a sufficient dataset and achieve acceptable results. We propose various compression methods to reduce the absolute number of ngrams in the corpus. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram dataset. The goal is to find compression methods that reduce the complexity of queries on the corpus while still maintaining good results.  +