Hauptseite

Aus IPD-Institutsseminar
Version vom 12. August 2019, 10:14 Uhr von Eriq (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Das Institutsseminar des Instituts für Programmstrukturen und Datenorganisation (IPD) ist eine ständige Lehrveranstaltung, die den Zweck hat, über aktuelle Forschungsarbeiten am Institut zu informieren. Insbesondere soll Studierenden am Institut die Gelegenheit gegeben werden, über ihre Bachelor- und Masterarbeiten vor einem größeren Auditorium zu berichten. Schwerpunkte liegen dabei auf der Problemstellung, den Lösungsansätzen und den erzielten Ergebnissen. Das Seminar steht aber allen Studierenden und Mitarbeiter/-innen des KIT sowie sonstigen Interessierten offen.

Ort Gebäude 50.34, Seminarraum 348
Zeit jeweils freitags, 11:30–13:00 Uhr

Die Vorträge müssen den folgenden zeitlichen Rahmen einhalten:

  • Masterarbeit: 30 Minuten Redezeit + 15 Minuten Diskussion
  • Bachelorarbeit: 20 Minuten Redezeit + 10 Minuten Diskussion
  • Proposal: 12 Minuten Redezeit + 8 Minuten Diskussion

Weitere Informationen: https://sdqweb.ipd.kit.edu/wiki/Institutsseminar. Bei Fragen und Anmerkungen können Sie eine E-Mail an das Institutsseminar-Team schreiben.

Nächste Vorträge

Freitag, 18. Oktober 2019, 11:30 Uhr, Raum 348 (Gebäude 50.34)
Vortragende(r) Stefan Elbert
Titel Combination of Model-Based Systems Engineering and Safety Engineering
Vortragstyp Masterarbeit
Betreuer(in) Nico Kopp
Kurzfassung An der Entwicklung komplexer Systeme sind viele Teams aus verschiedenen Disziplinen vertreten. So sind zum Beispiel an der Entwicklung einer sicherheitskritischen Systemarchitektur mindestens ein Systemarchitekt als auch ein Sicherheitsexperte beteiligt. Die Aufgabe des ersteren ist es, eine Systemarchitektur zu entwickeln, welche alle funktionalen und nicht-funktionalen Anforderungen erfüllt. Der Sicherheitsexperte analysiert diese Architektur und trägt so zum Nachweis bei, dass das System die geforderten Sicherheitsanforderungen erfüllt. Sicherheit steht hierbei für die Gefahrlosigkeit des Nutzers und der Umwelt durch das System (Safety).

Um ihr Ziel zu erreichen, folgen sowohl der Systemarchitekt als auch der Sicherheitsexperte einem eigenen Vorgehensmodell. Aufgrund fehlender Interaktionspunkte müssen beide unabhängig voneinander und unkoordiniert durchgeführt werden. Dies kann zu Inkonsistenzen zwischen Architektur- und Sicherheitsartefakten führen und zusätzlichen Aufwand verursachen, was sich wiederum negativ auf die Entwicklungszeit und Qualität auswirkt. In dieser Arbeit kombinieren wir zwei ausgewählte Vorgehensmodelle zu einem neuen, einzelnen Vorgehensmodell. Die Kombination erfolgt auf Basis des identifizierten Informationsflusses innerhalb und zwischen den ursprünglichen zwei Vorgehensmodellen. Durch die Kombination werden die Vorteile beider Ansätze übernommen und die zuvor genannten Probleme angegangen. Bei den zwei ausgewählten Vorgehensmodellen handelt es sich um den Harmony-Ansatz von IBM und die ISO-Norm 26262. Ersterer erlaubt es eine Systemarchitektur systematisch und modellbasiert mit SysML zu entwickeln, während die ISO-Norm dem Sicherheitsexperten bei seiner Arbeit bezüglich der funktionalen Sicherheit in Straßenfahrzeugen unterstützt. Die Evaluation unseres Ansatzes zeigt dessen Anwendbarkeit im Rahmen einer realen Fallstudie. Außerdem werden dessen Vorteile bezüglich Konsistenz zwischen Architektur- und Sicherheitsartefakten und Durchführungszeit diskutiert, basierend auf einem Vergleich mit ähnlichen Ansätzen.

Vortragende(r) Roland Osterrieter
Titel Integration of Reactions and Mappings in Vitruvius
Vortragstyp Masterarbeit
Betreuer(in) Heiko Klare
Kurzfassung Realizing complex software projects is often done by utilizing multiple programming or modelling languages. Separate parts of the software are relevant to certain development tasks or roles and differ in their representation. These separate representations are related and contain redundant information. Such redundancies exist for example with an implementation class for a component description, which has to implement methods with signatures as specified by the component. Whenever redundant information is affected in a development update, other representations that contain redundant information have to be updated as well. This additional development effort is required to keep the redundant information consistent and can be costly.

Consistency preservation languages can be used to describe how consistency of representations can be preserved, so that in use with further development tools the process of updating redundant information is automated. However, such languages vary in their abstraction level and expressiveness. Consistency preservation languages with higher abstraction specify what elements of representations are considered consistent in a declarative manner. A language with less abstraction concerns how consistency is preserved after an update using imperative instructions. A common trade-off in the decision for selecting a fitting language is between expressiveness and abstraction. Higher abstraction on the one hand implies less specification effort, on the other hand it is restricted in expressiveness compared to a more specific language.

In this thesis we present a concept for combining two consistency specification languages of different abstraction levels. Imperative constructs of a less abstract language are derived from declarative consistency expressions of a language of higher abstraction and combined with additional imperative constructs integrated into the combined language. The combined language grants the benefits of the more abstract language and enables realizing parts of the specification without being restricted in expressiveness. As a consequence a developer profits from the advantages of both languages, as previously a specification that can not be completely expressed with the more abstract language has to be realized entirely with the less abstract language.

We realize the concepts by combining the Reactions and Mappings language of the VITRUVIUS project. The imperative Reactions language enables developers to specify triggers for certain model changes and repair logic. As a more abstract language, Mappings specify consistency with a declarative description between elements of two representations and what conditions for the specific elements have to apply. We research the limits of expressiveness of the declarative description and depict, how scenarios are supported that require complex consistency specifications. An evaluation with a case study shows the applicability of the approach, because an existing project, prior using the Reactions language, can be realized with the combination concept. Furthermore, the compactness of the preservation specification is increased.

Freitag, 18. Oktober 2019, 11:30 Uhr, Raum 333 (Gebäude 50.34)
Vortragende(r) Stefanie Fischer
Titel Challenges for Service Integration into Third-Party Application
Vortragstyp Bachelorarbeit
Betreuer(in) Robert Heinrich
Kurzfassung Im Laufe der Zeit hat sich die Softwareentwicklung von der Entwicklung von Komplett-systemen zur Entwicklung von Software Komponenten, die in andere Applikation inte-

griert werden können,verändert.Bei Software Komponenten handelt es sich um Services, die eine andere Applikation erweitern.Die Applikation wird dabeivonDritten entwickelt. In dieser Bachelorthesis werden die Probleme betrachtet, die bei der Integration von Ser- vices auftreten. Mit einer Umfrage wird das Entwicklungsteam von LogMeIn, welches für die Integration von Services zuständig ist, befragt. Aus deren Erfahrungen werden Probleme ausfndig gemacht und Lösungen dafür entwickelt. Die Probleme und Lösungen werden herausgearbeitet und an hand eines fort laufenden Beispiels, des GoToMeeting Add-ons für den Google Kalender,veranschaulicht.Für die Evaluation wird eine Fallstudie durchgeführt, in der eine GoToMeeting Integration für Slack entwickelt wird. Während dieser Entwicklung treten nicht alle ausgearbeiteten Probleme auf. Jedoch können die Probleme, die auftreten mit den entwickelten Lösungen gelöst werden. Zusätzlich tritt ein neues Problem auf, für das eine neue Lösung entwickelt wird. Das Problem und die zugehörige Lösung werden anschließend zu dem bestehenden Set von Problemen und Lösungen hinzugefügt. Das Hinzufügen des gefundenen Problems ist ein perfektes Beispiel dafür, wie das Set in Zukunft bei neuen Problemen, erweitert werden kann.

Vortragende(r) Henning Ballweber
Titel Hierarchische Erklärung von Black-Box-Modellen zur Entscheidungsfindung in Sentimentanalysen
Vortragstyp Bachelorarbeit
Betreuer(in) Clemens Müssener
Kurzfassung Diese Arbeit untersucht die Erklärbarkeit von Sentimentanalyse. Sentimentanalyse ist ein aktuelles Forschungsthema, das sich mit der automatisierten Auswertung der Stimmung von Texten befasst. Dabei klassifiziert ein Entscheider diese als positiv oder negativ. Jedoch sind die meisten hier angewandten Verfahren des maschinellen Lernens Black Boxes, also für Menschen nicht unmittelbar nachvollziehbar. Trotzdem ist es oftmals wünschenswert, ohne Kenntnis des zugrundeliegenden Modells eine Erklärung für die Entscheidung des Klassifikators zu liefern. Der LIME-Algorithmus ist ein gängiger Erklärer für das Problem, der jedoch nur auf Wortebene erklärt. Im Rahmen dieser Arbeit wurde ein Erklärer entwickelt, der auch die größeren Bausteine der Texthierarchie wie Sätze oder Absätze berücksichtigt. Dadurch liefert er einen höheren Informationsgehalt als LIME und er ermöglicht interaktive Erklärungen. Anwendungsfall der Untersuchung sind eine Datenbank aus Filmrezensionen sowie Klassifikatoren in Verbindung mit Word Embeddings.
Vortragende(r) Sebastian Weber
Titel Performanzmodellierung von Apache Cassandra im Palladio-Komponentenmodell
Vortragstyp Bachelorarbeit
Betreuer(in) Dominik Werle
Kurzfassung NoSQL-Datenbankmanagementsysteme werden als Back-End für Software im Big-Data-Bereich verwendet, da sie im Vergleich zu relationalen Datenbankmanagementsystemen besser skalieren, kein festes Datenbankschema benötigen und in virtuellen Systemen einfach eingesetzt werden können. Apache Cassandra wurde aufgrund seiner Verbreitung und seiner Lizensierung als Open-Source-Projekt als Beispiel für NoSQL-Datenbankmanagementsysteme ausgewählt. Existierende Modelle von Apache Cassandra betrachten dabei nur die maximal mögliche Anzahl an Anfragen an Cassandra und deren Durchsatz und Latenz. Diese Anzahl zu reduzieren erhöht die Latenz der einzelnen Anfragen. Das in dieser Bachelorarbeit erstellte Modell soll unter anderem diesen Effekt abbilden.

Die Beiträge der Arbeit sind das Erstellen und Parametrisieren eines Modells von Cassandra im Palladio-Komponentenmodell und das Evaluieren des Modells anhand von Benchmarkergebnissen. Zudem wird für dieses Ziel eine Vorgehensweise entwickelt, die das Erheben der notwendigen Daten sowie deren Auswertung und Evaluierung strukturiert und soweit möglich automatisiert und vereinfacht. Die Evaluation des Modells erfolgt durch automatisierte Simulationen, deren Ergebnisse mit den Benchmarks verglichen werden. Dadurch konnte die Anwendbarkeit des Modells für einen Thread und eine beliebige Anzahl Anfragen bei gleichzeitiger Verwendung von einer oder mehreren verschiedenen Operationen, abgesehen von der Scan-Operation, gezeigt werden.