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.
E
Das Testen von Software über deren graphischen Benutzeroberflächen wird mit zunehmender Komplexität der Software (und damit einhergehender Variabilität in der Benutzeroberfläche) aufwendiger. Rein manuelles Testen durch den Entwickler und das Schreiben von Testfällen sind oft nicht mehr möglich. Daher sind neue Ansätze aus dem Bereich des maschinellen Lernens erforderlich, um diese Arbeiten zu erleichtern. Ein Lösungsansatz kann der Einsatz neuronaler Netze sein, die am Forschungszentrum Informatik (FZI) entwickelt werden. Als Eingabedaten sollen dabei Zustände einer graphischen Benutzeroberfläche als Bild dienen, welche jedoch zu komplex sind, um in Echtzeit von diesen Netzen verarbeitet zu werden. In dieser Masterarbeit wurde untersucht, inwiefern eine Kompression der Daten durch den Encoder-Teil von Autoencodern stattfinden kann. Hierzu wurden vier verschiedene Autoencoder-Architekturen entwickelt und analysiert, inwiefern sie sich für diesen Zweck eignen. Um die Autoencoder zu trainieren, wurde ein Trainingsdatengenerator in Rust unter Verwendung von dort vorhandenen GUI-Toolkits als Mock-Applikation einer realen GUI entwickelt. Der Trainingsdatengenerator eignet sich sehr gut zum Training der Autoencoder, da er sehr passgenau Trainingsdaten generieren kann. Aufgrund des frühen Stadiums der verwendeten Werkzeuge traten jedoch während der Entwicklung Fehler auf, die die Entwicklung hemmten. Für diese wurden Workarounds entwickelt, die teilweise die Handhabung des Generators erschweren. Darüber hinaus lässt sich feststellen, dass der Aufwand zur exakten Nachbildung einer Applikation als Mock sehr hoch ist. Bezüglich der Kompression von Informationen über Benutzeroberflächen durch die Autoencoder waren die Ergebnisse dagegen vielversprechend, da die Testdaten auch in hoher Auflösung von 900 x 935 Pixeln mit hoher Genauigkeit rekonstruiert werden konnten. Erste Experimente ergaben, dass die Autoencoder darüber hinaus Fähigkeiten entwickeln, Applikationen mit ähnlichem Farbschema oder ähnlicher Designsprache zu kodieren und wiederzugeben. Ein erstes Fazit über die Fähigkeiten zur Generalisierung fällt daher ebenso positiv aus. Die Genauigkeit der Reproduktion sinkt, wenn die Eingabe farblich oder designtechnisch stark von den Trainingsdaten abweicht.  
Ein neuartiger Ansatz zum Erlernen von Computerspielen ist die Verwendung von neuronalen Netzen mit Gedächtnis (speziell CTRNNs). Die großen Datenmengen in Form roher Pixel-Daten erschweren jedoch das Training. Auto-Encoder können die diese Pixel-Daten der Spielframes soweit komprimieren, dass sie für solche Netze verfügbar werden. Das Ziel dieser Arbeit ist es eine Auto-Encoder-Architektur zu finden, welche Atari-Frames soweit komprimiert, sodass eine möglichst verlustfreie Rekonstruktion möglich ist. Atari-Spiele können so für CTRNNs zugänglich gemacht werden. Dafür wurden zwei unterschiedliche Atari-Spiele ausgewählt, große Datensätze mit geeigneten Spielframes generiert und verschiedene Auto Encoder Architekturen evaluiert. Im Rahmen dieser Arbeit konnte gezeigt werden, dass eine ausreichende Kompression mit akzeptierbaren Qualitätsverlust möglich ist.  +
Die rapide Zunahme der Rechenleistung heutiger Computer hat die Nutzung von KI in alltäglichen Anwendungen wesentlich erleichtert. Aufgrund der statistischen Natur von KI besteht deshalb eine gewisse Unsicherheit. Diese Unsicherheit kann direkten Einfluss auf die Zuverlässigkeit eines Software-Systems haben. Im Rahmen der Arbeit „Entwicklung zuverlässiger KI-basierter Software-Systeme in Anwesenheit von Unsicherheit“ wird ein Vorgehen präsentiert, das solche Problematiken auf Architekturebene analysieren kann. Das Vorgehen nutzt dafür modellbasierte Qualitätsanalysen, welche im Kontext von Palladio realisiert wurde. Zusätzlich wird ein Vorgehen zur Sensitivitätsanalyse vorgestellt, um ein KI-Netz anhand von veränderten Unsicherheiten abzutasten. Mithilfe dieser Werkzeuge kann eine Zuverlässigkeitsvorhersage auf dem Modell des Software-Systems getätigt werden. Dabei konnte für zwei Unterschiedliche KI-Netze gezeigt werden, dass deren Sensitivitätsmodelle direkten Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben. Durch den Einsatz von Architekturvorlagen konnte auch gezeigt werden, dass die ebenfalls Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben.  +
In dieser Masterarbeit werden Methodiken erarbeitet, welche die Entwicklung von Produktlinien in der Modellbasierten Systementwicklung (MBSE) unterstützen sollen. Für die Verhaltensbeschreibung von Systemen werden unter anderem Aktivitätsdiagramme verwendet, die keine expliziten Konstrukte zur Modellierung von Variabilität anbieten. Deshalb wird in dieser Arbeit ein Ansatz zur Modellierung von Variabilität in Aktivitätsdiagrammen vorgestellt, der Metamodell-unabhängig ist und somit nicht nur für Aktivitätsdiagramme verwendet werden kann. Dieser Ansatz wird mit gängigen Ansätzen der Variabilitätsmodellierung verglichen und es wird unter anderem untersucht, inwieweit dieser Ansatz die Elementredundanz im Vergleich zu den anderen Ansätzen verringert. Anschließend wird erarbeitet, wie Aktivitätsdiagramme und gefärbte Petri-Netze untereinander konsistent gehalten werden können. Dazu werden deren Gemeinsamkeiten und Unterschiede herausgearbeitet, um Konsistenzhaltungsregeln zu definieren und die Grenzen der Konsistenzhaltung zu finden. Zum Abschluss wird skizziert, was notwendig ist, um die beiden Ansätze miteinander zu kombinieren, um eine Verhaltensbeschreibung einer Produktlinie aus Aktivitätsdiagrammen und gefärbten Petri-Netze zu erhalten, bei denen stets die Aktivitätsdiagramme und Petri-Netze der einzelnen Produktkonfigurationen konsistent zueinander sind.  +
Das manuelle Erstellen von Rückverfolgbarkeitsinformationen ist aufwendig. Deshalb ist es das Ziel des Projekts INDIRECT, Rückverfolgbarkeitsinformationen aus Anforderungen und Quelltext automatisch zu generieren. Um dies zu unterstützen wird eine Ontologie benötigt, welche Domäneninformationen aus den Anforderungen enthält. Im Rahmen dieser Arbeit wurde eine Domänenontologie und ein Werkzeug entwickelt, welches die Ontologie mit Informationen aus Anforderungen erweitert. Dabei lag der Fokus darauf, möglichst nur korrekte Informationen in die Ontologie zu übernehmen. Die Struktur der entworfenen Domänenontologie orientiert sich an den verschiedenen Klassen von Anforderungen, indem analysiert wurde, welche Art von Informationen diese jeweils enthalten. Das Werkzeug zu Erweiterung basiert auf manuell gefertigten Mustern, welche Strukturen in Abhängigkeitsbäumen von Sätzen aus Anforderungen darstellen. Mit ihnen werden Instanzen von Klassen und Relationen aus der Domänenontologie identiziert, welche in den Anforderungen vorkommen. Das Werkzeug wurde auf einem Korpus von Anforderungen aus verschiedenen Projekten aus unterschiedlichen Domänen mithilfe eines Goldstandards evaluiert. Das Verfahren zeigte sich als nicht erfolgreich, da nur eine geringe Präzision erreicht wurde. So wurde bei der Extraktion von Klasseninstanzen eine Präzision von 0,21 und ein F1-Maß von 0,09 erreicht, sowie eine Präzision von 0,09 und ein F1-Maß von 0,06 bei der Extraktion von Relationsinstanzen.  +
Die Softwaremigration bezeichnet die Überführung eines Softwaresystems in eine neue technologische Umgebung. Die Gründe für eine Migration sind vielfältig. Häufig sind es veraltete Softwaresysteme, sogenannte Altsysteme, die zu einer Migration führen. Wie auch in der Softwareentwicklung sind die Bemühungen in der Softwaremigration nach Prozesse und Verfahren, die die Ausführung vereinfachen sollen, hoch. So existieren bereits etliche bewährte Prozesse und Verfahren zur Migration von Softwaresystemen. Doch diese sind nicht für alle Arten von Softwaresystemen geeignet. Ein Beispiel stellen Microsoft Access Anwendungen dar, für die geeignete Prozesse und Verfahren bislang fehlen. In dieser Arbeit wird ein Migrationsverfahren entworfen, das sich speziell für die Migration von Microsoft Access Anwendungen eignet. Hierfür wird das entworfene Migrationsverfahren auf eine in der Industrie bestehenden Microsoft Access Anwendung angewandt, und mit dessen Erfolg gezeigt, dass das Migrationsverfahren tatsächlich für die Migration von Microsoft Access Anwendungen geeignet ist.  +
Eine Herausforderung bei der Rückverfolgung von Quelltext zu Anforderungen stellt die Analyse von Quelltext dar. Informationen über semantische Zusammenhänge zwischen Programmelementen sind darin nicht explizit dokumentiert, sondern müssen aus vorhandenen Informationen wie der natürlichen Sprache oder den strukturellen Abhängigkeiten abgeleitet werden. Im Rahmen des Forschungsprojekts INDIRECT wird eine semantische Repräsentation von Quelltext entworfen und umgesetzt, um die darin enthaltenen Informationen bei der Rückverfolgung von Anforderungen nutzen zu können. Die Repräsentation umfasst sowohl syntaktische Informationen als auch semantische Zusammenhänge im Quelltext. Für die Identifikation von semantischen Zusammenhängen wird eine Analyse der Syntax und eine Analyse der lexikalischen Bestandteile im Quelltext durchgeführt. Abschließend erfolgt eine Clusteranalyse auf Basis der gefundenen Zusammenhänge, um Gruppen aus semantisch zusammenhängenden Programmelementen zu identifizieren. Bei der Evaluation wurde eine Abdeckung der gefundenen Programmelementgruppen von bis zu 0,91 erzielt. Die Präzision der gefundenen Cluster betrug bis zu 0,9. Das harmonische Mittel aus der Cluster-Abdeckung und der Cluster-Präzision erreichte einen maximalen Wert von 0,73.  +
Um der steigenden Komplexität technischer Systeme zu begegnen, werden in ihrer Entwicklung sichtenbasierte Entwicklungsprozesse eingesetzt. Die dabei definierten Sichten zeigen nur die für ein bestimmtes Informationsbedürfnis relevanten Daten über das System, wie die Architektur, die Implementierung oder einen Ausschnitt davon und reduzieren so die Menge an Informationen und vereinfachen dadurch die Arbeit mit dem System. Neben dem Zweck der Informationsreduktion kann auch eine Einschränkung des Zugriffs aufgrund fehlender Zugriffsberechtigungen notwendig sein. Die Notwendigkeit ergibt sich beispielsweise bei der organisationsübergreifenden Zusammenarbeit zur Umsetzung vertraglicher Vereinbarungen. Um die Einschränkung des Zugriffs umsetzen zu können, wird eine Zugriffskontrolle benötigt. Bestehende Arbeiten nutzen eine Zugriffskontrolle für die Erzeugung einer Sicht. Die Definition weiterer Sichten darauf ist nicht vorgesehen. Außerdem fehlt eine allgemeine Betrachtung einer Integration einer Zugriffskontrolle in einen sichtenbasierten Entwicklungsprozess. Daher stellen wir in dieser Arbeit das Konzept einer Integration einer rollenbasierten Zugriffskontrolle in einen sichtenbasierten Entwicklungsprozess für beliebige Systeme vor. Mit dem Konzept ermöglichen wir die feingranulare Definition und Auswertung von Zugriffsrechten für einzelne Modellelemente für beliebige Metamodelle. Das Konzept implementieren wir prototypisch in Vitruv, einem Framework für sichtenbasierte Entwicklung. Wir evaluieren diesen Prototypen hinsichtlich seiner Funktionalität mithilfe von Fallstudien. Die Zugriffskontrolle konnten wir dabei für verschiedene Fallstudien erfolgreich einsetzen. Außerdem diskutieren wir die Integrierbarkeit des Prototypen in einen allgemeinen sichtenbasierten Entwicklungsprozess.  +
Fehlerzustände in Software oder Hardware führen zu Abweichungen bezüglich der bereitgestellten Daten und der Verarbeitungszeit oder direkt zu einem kompletten Ausfall eines Service an einer Software-Komponente. Diese Abweichung von dem korrekten Service führt wiederum dazu, dass andere Komponenten, die diesen inkorrekten Service in Anspruch nehmen, ihren Service ebenfalls nicht korrekt bereitstellen können. Der entstandene Fehler propagiert durch das System, kombiniert sich mit anderen Fehlern, transformiert zu anderen Fehlerarten und hat letztendlich mehr oder weniger schwere Auswirkungen auf den System-Kontext, falls die Propagation nicht durch geeignete Maßnahmen unterbunden wird. Besonders bei sicherheitskritischen Systemen ist es deshalb notwendig die Auswirkungen der möglichen Fehler im System zu analysieren. Die in der Arbeit entwickelte Erweiterung des Palladio-Konzeptes ermöglicht es, diese Analyse schon zur Entwurfszeit anhand eines Modells durchzuführen. Mithilfe der Erweiterung kann analysiert werden, wie oft und in welchem Verhältnis ein Fehler aufgetreten ist, welche Fehlervorkommen miteinander korrelieren und wie schwerwiegend die Auswirkungen der aufgetretenen Fehler für den Systemkontext waren. Neben der Analyse der Fehlerpropagation ermöglicht die Erweiterung die Modellierung von Systemen, die auf das Vorkommen eines Fehlers im Sinne einer Rekonfiguration reagieren. Das Konzept wurde anhand eines sicherheitskritischen Systems aus der Domäne der autonomen Fahrzeuge validiert.  +
Viele modellgetriebene Entwicklungsumgebungen verfolgen einen rein sequenziellen Ansatz. Modelltransformationen werden sequenziell ausgeführt und zu einem Zeitpunkt darf stets nur eine Modelltransformation ausgeführt werden. Auf entsprechend großen Datenmengen ergeben sich hierdurch jedoch einige Einschränkungen. So kann es dazu kommen, dass Nutzer mehrere Minuten oder sogar Stunden auf den Abschluss einer Modelltransformation warten müssen und die Software währenddessen nicht für Nutzereingaben zur Verfügung steht, selbst wenn die Modelltransformation nur auf einen Teil des Modells zugreift. Dieser Zustand kann jedoch den Nutzerflow unterbrechen, einen mentalen Zustand des Nutzers, der gleichzeitig produktiv ist und als belohnend wahrgenommen wird. Eine Möglichkeit, um das Risiko zu minimieren, dass der Nutzerflow unterbrochen wird, ist die Wartezeit für den Nutzer zu verkürzen, indem Modelltransformationen asynchron im Hintergrund ausgeführt werden. Der Nutzer kann dann mit eingeschränkt weiterarbeiten, während die Modelltransformation durchgeführt wird. Im Kontext von modellgetriebener Softwareentwicklung findet sich zu Nebenläufigkeit nur wenig Forschung. Zwar gibt es einige Ambitionen, Modelltransformationen zu parallelisieren, jedoch gibt es keine Forschung dazu, Modelltransformationen asynchron auszuführen um weitere Modelltransformationen simultan durchführen zu können. Die vorliegende Arbeit stellt am Beispiel der modellgetrieben entwickelten Software PREEvision der Firma Vector Informatik GmbH, Mechanismen und mögliche Implementierungen vor, mit denen simultane Modelltransformationen realisiert werden können. Für vier Operationen in PREEvision wird außerdem beispielhaft beschrieben, wie die Operationen mit Hilfe der vorgestellten Mechanismen so modifiziert werden können, dass diese asynchron ausgeführt werden. Die Prototypen der beschriebenen Modifikationen werden anschließend im Hinblick auf die Unterbrechung des Nutzerflows und die Korrektheit evaluiert. Abschließend zieht die Arbeit ein Fazit über die Anwendbarkeit der vorgestellten Mechanismen und darüber, ob der Nutzer durch die Prototypen seltener auf Wartedialoge warten muss.  
Die natürliche Sprache befindet sich in ständigem Wandel. Mittels Semantic Change Detection kann eine Änderung der Semantik von Wörtern zwischen Zeitpunkten festgestellt werden. Herkömmliche Semantic Change Detection Systeme arbeiten nur auf statischen Korpora. Durch Social Media ist es möglich, Sprache in Echtzeit zu analysieren. Da bisherige Ansätze jedoch nicht auf Textströmen funktionieren, soll in dieser Masterarbeit ein Echtzeitsystem zur Verarbeitung von Textströmen entworfen werden, welches frühzeitig die Änderung einer Wortbedeutung aufzeigt. Grundlage hierfür sind geeignete Worteinbettungen, die zum einen gute Vektoren liefern und zum anderen trotz Begrenzung des Speichers den Textstrom gut repräsentieren. Zur Evaluation soll ein synthetischer Korpus generiert werden, um die verschiedenen Methoden vergleichen zu können. Anschließend wird eine explorative Untersuchung auf Twitterdaten durchgeführt.  +
Die Rückverfolgbarkeit von Quelltext zu Anforderungen ist ein wichtiger werdendes Problem. Eine Garantie der Implementierung aller Anforderungen kann zur Steigerung von Softwarequalität führen. Für das Erstellen der Rückverfolgbarkeitsinformationen ist ein Verständnis des Quelltextes nötig. In dieser Arbeit wurden anhand von Komponententests semantisch zusammenhängende Methoden erkannt. Semantisch zusammenhängende Methoden erfüllen eine Funktionalität miteinander und verbessern das Verständnis von Quelltext. Für die Erkennung wurde ein heuristisches Verfahren entwickelt, welches aus mehreren Teilverfahren besteht, die sowohl auf den textuellen als auch den strukturellen Bestandteilen des Komponententest- und Quelltextes arbeiten. Für die Teilverfahren wurde eine Zerteilung und Transformation von Quelltextes entwickelt. Es wurden verschiedene Textähnlichkeitsalgorithmen mit einem maschinellem Lernverfahren (fastText) verglichen. Zur Bewertung wurden drei Softwareprojekte verwendet, mit einer höchsten Präzision von 74%, bei einer Ausbeute von 19%. Mit einer anderen Parameterkonfiguration wurde ein F1-Wert von 46% erreicht.  +
Das SAT-Problem ist eines der wohl bekanntesten NP-vollständigen Probleme. Hierbei handelt es sich um die Problemstellung, ob für eine gegebene aussagenlogische Formel G eine Variablenbelegung existiert, sodass G erfüllt ist. Zum Lösen des SAT-Problems gibt es eine Vielzahl an unterschiedlichen Ansätzen, sogenannte SAT-Solver. Wie sich herausgestellt hat, ist die Performance der verschiedenen Solver jedoch stark von den jeweiligen Instanzen abhängig, für die es das SAT-Problem zu lösen gilt. Deshalb interessiert man sich für Mengen von Solvern, die sich möglichst gut ergänzen, sogenannte Portfolios. Auf einem Portfolio wird dann mithilfe von Features der gegebenen Instanz eine Auswahl getroffen, welcher Solver wahrscheinlich der Beste ist. Studien zeigen, dass solche Portfolios in ihrer Performance einzelnen Solvern weit überlegen sind, weshalb diese genauer untersucht werden sollten. Hauptaugenmerk der Arbeit liegt auf der Auswahl an möglichst kleinen Portfolios und auf kleinen Mengen von Instanzfeatures und der daraus resultierenden Performance.  +
Das SAT-Problem ist ein bekanntes NP-vollständiges Problem aus der theoretischen Informatik. Es handelt es sich um die Problemstellung, ob für eine gegebene aussagenlogische Formel G eine Variablenbelegung existiert, sodass G erfüllt ist. Portfolio-basierte Methoden zum Lösen von SAT-Instanzen nutzen die komplementäre Stärke von einer Menge von verschiedenen SAT-Algorithmen aus. Hierbei wird aus einer gegebenen Menge von Algorithmen, dem sogenannten Portfolio, mittels eines Vorhersagemodells derjenige Algorithmus ausgewählt, der die bestmögliche Performance für die betrachtete SAT-Instanz verspricht. In dieser Arbeit interessieren wir uns besonders für erklärbare Portfolios, sprich für Portfolios, für die man nachvollziehen kann, wie die Vorhersage zu ihrem Ergebnis kommt. Gute Erklärbarkeit resultiert einerseits aus einer geringen Größe des Portfolios, andererseits aus einer reduzierten Komplexität des Vorhersagemodells. Im Vordergrund der Arbeit liegt das effiziente Finden von kleinen Portfolios aus einer größeren Menge von Algorithmen, sowie den Einfluss der Portfoliogröße auf die Performance des Portfolios.  +
Untersuchungen innerhalb der Begriffsgeschichte erfahren einen Aufschwung. Anhand neuer technologischer Möglichkeiten ist es möglich große Textmengen maschinengestützt nach wichtigen Belegstellen zu untersuchen. Hierzu wurden die methodischen Arbeitsweisen der Historiker und Linguisten untersucht um bestmöglich deren Informationsbedürfnisse zu befriedigen. Auf dieser Basis wurden neue Anfrageoperatoren entwickelt und diese in Kombination mit bestehenden Operatoren in einem funktionalen Benchmark dargestellt. Insbesondere eine Anfragesprache bietet die nötige Parametrisierbarkeit, um die variable Vorgehensweise der Historiker unterstützen zu können.  +
Diese Arbeit beschäftigt sich mit der Frage, ob und inwieweit das Verständnis natürlichsprachlicher Systeme durch das Erlernen von Synonymen gefördert werden kann. Als Grundlage und Benutzerschnittstelle wurde das Dialogsystem JustLingo, ein System zur natürlichsprachlichen Programmierung, verwendet. In vorangegangenen Arbeiten wurde JustLingo als Excel Add-in umgesetzt, mithilfe dessen man u.a. komplexe Algorithmen beschreiben kann. Darauf aufbauend wird in der vorliegenden Arbeit die Umsetzung eines Synonymmoduls beschrieben. Diesem liegen verschiedene Wortnetze zugrunde, die als Quellen dienen und aus denen anschließend relevante Synonyme extrahiert werden. Hierbei achtet das Modul auf den dem System bekannten Wortschatz. Bestätigt der Nutzer ein im Wortschatz vorkommendes Synonym, wird dieses erlernt und kann im Anschluss verwendet werden. Damit ist das in dieser Arbeit entwickelte Modell dem überwachten Lernen unterzuordnen. Um die Effektivität des Synonym-Lernens abzuschätzen, wurden abschließend sowohl Performanz, als auch die, durch Eingaben einer Nutzerstudie, erfasste Qualität geprüft. Hierbei zeigte sich eine enorme Verbesserung des Systems durch das Synonymmodul. Statt bisherigen 59% konnten 82% der Nutzereingaben interpretiert werden.  +
Die Bestimmung von Qualitätsmerkmalen eines Software-Systems, wird typischerweise erst nach der Entwurfsphase ersichtlich. Diskrete-Event-Simulationen basierend auf Computer-Systemen können hier Aufschluss geben und Entscheidungen schon zu Beginn der Entwurfsphase beeinflussen. Mit verfügbarem Domänen-Wissen kann eine Abstrakte Repräsentation eines Software-Systems dargestellt werden, um bestimmte Aspekte für eine Analyse zu simulieren. Mit der wachsenden Komplexität von Software-Systemen steigt auch der Bedarf der Skalierbarkeit, Wartbarkeit und damit auch die Anwendbarkeit von Simulationen. Dies verlangt das kombinieren von Simulationen aus unterschiedlichen Domänen, eine effiziente Wartbarkeit, so wie eine adäquate Wiederverwendbarkeit, die es dem Simulations-Anwender ermöglicht effektiv Simulationen zu Erstellen. Herkömmliche Simulations-Engines, die eine monolithische Vorgehensweise anwenden, können diesen Anforderungen nicht standhalten. Ein Lösungsansatz ist, ein Konzept zur Modularisierung der komplexe Simulationen, das mit einer Domänenspezifischen Sprache (DSL) umgesetzt wurde. Aus diesem Konzept resultiert die Herausforderung, das Simulations-Engines verschiedener Domänen über einen Kopplungsansatz, auf modularer Ebene kommunizieren zu können. In dieser Arbeit wird der Ansatz hinsichtlich einer Simulations-Engine aus der Domäne der Netzwerk Simulationen analysiert und erweitert. Die Ausdrucksmächtigkeit der DSL hinsichtlich der Kopplung von Netzwerk Simulationen ist nicht bekannt und muss bestimmt werden. Als Grundlage der Untersuchung wird eine Fallstudie mit einem existierenden Kopplungsansatz angewendet, die die Kopplung einer Netzwerk-Simulation mit einer Simulation einer alternativen Simulations-Engine manuell implementiert und analysiert. Die Kopplung, der in der Fallstudie entstandene verteilte Simulation, wird mit der existierenden DSL beschrieben und deren Ausdrucksmächtigkeit bestimmt. Aus den Resultaten wird eine Erweiterung der DSL bestimmt, die nach dem selben Vorgehen auf die Ausdrucksmächtigkeit evaluiert wird. Die Evaluation selbst ist ein Vergleich von Elementen der Fallstudie und den beschriebenen Elementen der DSL. Aus den Ergebnissen der Analyse von Netzwerk Simulationen entsteht ein Kopplungs-Interface was als Annäherung an alle Simulations-Engines aus dem Bereich der Diskreten-Event-Simulationen. Durch Teil-Automatisierung des Kopplungs-Interface wird der Entwicklungsaufwand auf ein annäherndes Niveau von monolithischen Simulationen reduziert. Die Ergebnisse der Arbeit zeigen, dass eine Beschreibung von Netzwerk-Simulationen mit der erweiterten DSL möglich ist. Da aber Elemente aus der Logik beschreibbar sind, diese aber für eine Kopplung irrelevant sind, nur ein Bruchteil der Fähigkeiten der DSL benötigt werden. Ebenfalls ist in Bezug zur manuellen Entwicklung einer verteilten Simulation eine Arbeitserleichterung durch Wiederverwendbarkeit und Abstraktion gegeben. Als Kern-Ergebnis ist, die bei hoch skalierenden verteilten Simulationen gesteigerte Attraktivität gegenüber der Verwendung einer monolithischen Variante.  
Domänenspezifische Sprachen für Software sind individuell an den jeweiligen Zweck angepasst. Die Sprache Modular Simulation Language modelliert die Kopplung zwischen verschiedenen Simulationen. Die Kopplung von Simulationen dient dem besseren Verständnis und der Austauschbarkeit. In dieser Arbeit wird geprüft, ob die Sprache alle nötigen Modelle erhält um universell Kommunikation, Struktur und Kopplung von beliebigen Simulationen darstellen zu können. Dazu wurde die Cloud Simulation Cloud Sim Plus ausgewählt und die Kommunikation von zwei Features dieser Simulation modelliert. Während der Modellierung wurden fehlende Elemente der Sprache identifiziert und Lösungsvorschläge integriert oder diskutiert. Das Ergebnis zeigt, dass sie Modular Simulation Language zum aktuellen Zeitpunkt nicht vollständig ist, das Thema aber weiter untersucht werden muss.  +
In der Softwareentwicklung werden häufig Modelle genutzt. Bei einer Zusammenarbeit an diesen Modellen werden Zugriffskontrollsysteme eingesetzt, um die darin enthaltenen Daten vor unbefugtem Zugriff zu schützen. Aktuell genutzte Ansätze benötigen dafür entweder eine zentrale Zugriffskontrolle, der alle Beteiligten vertrauen müssen, oder sind nur für einen bestimmten Typ Modell nutzbar. Daher befassen wir uns in dieser Arbeit mit der Problemstellung, verschiedene Arten von Modellen ohne eine zentrale Zugriffskontrolle zu teilen. Wir stellen ein Konzept zur Ableitung von Verschlüsselungsregeln aus den Regeln einer Rollenbasierten Zugriffskontrolle, die auf Modellelemente definiert sind, vor. Durch Nutzung von symmetrischer Verschlüsselung und Digitaler Signaturen können Lese- und Schreibrechte ohne einen zentralen Server zur Zugriffskontrolle umgesetzt werden. Modelle werden in unserem Ansatz als Delta Chain und somit als Abfolge von einzelnen Modelländerungen dargestellt, wodurch unser Ansatz für verschiedene Arten von Modellen funktioniert. Die Verschlüsselungsregeln werden auf die einzelnen Modelländerungen angewendet. Zusätzlich haben wir das Konzept prototypisch implementiert. Unsere Implementierung haben wir ausführlich evaluiert. Durch eine funktionale Analyse anhand von Software-Tests konnten wir die Funktionalität unseres Ansatzes zeigen. Eine zusätzlich durchgeführte empirische Evaluation bestätigt diese Aussage, zeigt aber auch Einbußen bei Laufzeit und benötigtem Speicherplatz, die durch die Verschlüsselung in Kauf genommen werden müssen. Die für die empirische Evaluation benötigten realitätsnahen Fallstudien haben wir aus Github-Projekten abgeleitet.  +