Attribut:Kurzfassung

Aus SDQ-Institutsseminar

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 20 Seiten angezeigt, auf denen für dieses Attribut ein Datenwert gespeichert wurde.
(
Performancevorhersage für Container-Anwendungen Abstract: Nowadays distributed applications are often not statically deployed on virtual machines. Instead, a desired state is defined declaratively. A control loop then tries to create the desired state in the cluster. Predicting the impact on the performance of a system using these deployment techniques is difficult. This paper introduces a method to predict the performance impact of the usage of containers and container orchestration in the deployment of a system. Our proposed approach enables system simulation and experimentation with various mechanisms of container orchestration, including autoscaling and container scheduling. We validated this approach using a micro-service reference application across different scenarios. Our findings suggest, that the simulation could effectively mimic most features of container orchestration tools, and the performance prediction of containerized applications in dynamic scenarios could be improved significantly.  +
Gamify Your Learning Experience -- Möglichkeiten von Gamification Lernprozesse und -erfolge zu visualisieren Gamification enhances education by boosting motivation and fostering effective learning. This paper explores the link between game design elements and intrinsic motivation in education. Drawing from 24 scholarly papers, it identifies ten key game design elements: badges, points, leaderboards, virtual currency, progress bars, achievements, avatars, concept maps, storytelling, and feedback. To evaluate their impact, a survey using mockups was conducted. Results highlight the popularity of combinations like concept maps with progress bars and points with feedback. The study also uncovers correlations between preferred elements and learner characteristics. By uncovering these insights, the research advances gamification in education and guides tailored approaches for boosting student motivation.  +
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.  
Dependency estimation is a significant part of knowledge discovery and allows strategic decisions based on this information. Many dependency estimation algorithms require a large amount of data for a good estimation. But data can be expensive, as an example experiments in material sciences, consume material and take time and energy. As we have the challenge of expensive data collection, algorithms need to be data efficient. But there is a trade-off between the amount of data and the quality of the estimation. With a lack of data comes an uncertainty of the estimation. However, the algorithms do not always quantify this uncertainty. As a result, we do not know if we can rely on the estimation or if we need more data for an accurate estimation. In this bachelor’s thesis we compare different state-of-the-art dependency estimation algorithms using a list of criteria addressing the above-mentioned challenges. We partly developed the criteria our self as well as took them from relevant publications. Many of the existing criteria where only formulated qualitative, part of this thesis is to make these criteria measurable quantitative, where possible, and come up with a systematic approach of comparison for the rest. We also conduct a quantitative analysis of the dependency estimation algorithms by experiment on well-established and representative data sets that performed well in the qualitative analysis.  +
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.  +
Vertraulichkeit ist eine wichtige Sicherheitsanforderung an Informationssysteme. Bereits im frühen Entwurf existieren Ungewissheiten, sowohl über das System als auch dessen Umgebung, die sich auf die Vertraulichkeit auswirken können. Es existieren Ansätze, die Softwarearchitektinnen und Softwarearchitekten bei der Untersuchung von Ungewissheiten und deren Auswirkung auf die Vertraulichkeit unterstützen und somit den Aufwand reduzieren. Diese Ansätze wurden jedoch noch nicht umfangreich evaluiert. Bei der Evaluierung ist ein einheitliches Vorgehen wichtig, um konsistente Ergebnisse zu erhalten. Obwohl es allgemein Arbeiten in diesem Bereich gibt, sind diese nicht spezifisch genug, um die Anforderung zu erfüllen. In dieser Ausarbeitung stellen wir ein Rahmenwerk vor, das diese Lücke schließen soll. Dieses Rahmenwerk besteht aus einem Untersuchungsprozess und einem Fallstudienprotokoll, diese sollen Forschenden helfen, weitere Fallstudien zur Validierung der Ungewissheits-Auswirkungs-Analysen strukturiert durchzuführen und damit auch Ungewissheiten und deren Auswirkung auf Vertraulichkeit zu erforschen. Wir evaluieren unseren Ansatz, indem wir eine Mobilitätsfallstudie durchführen.  +
An existing architectural attack propagation analysis considers vulnerability analysis in software architecture. The analysis is using access control policies together with the vulnerabilities and their combinations to propagate through the system. This phenomenon has to be investigated thoroughly in a real-life context to be able to make conclusions about metrics, e.g. accuracy. However, a concrete approach to achieve the investigation of Attack Propagation Analyses in a real-life context is missing. This work aims to close this gap with “A Mobility Case Study for Validating Attack Propagation Analyses”. In order to achieve validity, conventional properties of case studies in software engineering were identified. Afterward, the end result, in form of a software model, was reviewed according to these properties. This review has revealed that all properties were fulfilled, however not in the highest degree of fulfillment. A discussion about this is held in this thesis.  +
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.  +
A ranking is the result of running an experiment, a set of encoders is applied to an experimental condition (dataset, model, tuning, scoring) and are then ranked according to their performance. To draw conclusions about the performance of the encoders for a set of experimental conditions, one can aggregate the rankings into a consensus ranking. (i.e. taking the median rank) The goal of the thesis is to explore the space of consensus rankings and find all possible consensus rankings. However, running an experiment is a very time-consuming task. Therefore we utilize Active Learning, to avoid running unnecessary experiments. In Active Learning, the learner can choose the data it is trained on and achieves greater accuracy with fewer labeled data.  +
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.  +