Institut für Informatik
Filtern
Erscheinungsjahr
Dokumenttyp
- Dissertation (35) (entfernen)
Schlagworte
- Software Engineering (3)
- Information Retrieval (2)
- Modellgetriebene Entwicklung (2)
- Semantic Web (2)
- AUTOSAR (1)
- Abduktion <Logik> (1)
- Ad-hoc-Netz (1)
- Adaptation (1)
- Algorithmische Geometrie (1)
- Anpassung (1)
Die vorliegende Dissertation untersucht die Entstehung von Dialekten innerhalb des in dieser Arbeit entworfenen Modells einer Multi-Agenten-Simulation, basierend auf neuronalen Netzen. Zunächst werden die linguistischen Grundlagen detailliert dargestellt. Dazu gehört neben der Diskussion einiger Definitionen von Sprache ein Überblick über die sprachlichen Evolutionsstufen, eine Übersicht der Bestandteile menschlicher Hochsprachen mitsamt den bekannten Möglichkeiten ihrer Veränderung und eine Übersicht tierischer Sprachen mit kommunikativer Funktion und ihrer Dialektbildung.
Im Anschluss werden die Grundlagen der Informatik und Mathematik erläutert. Diese umfassen neben den Begriffen Modell und Simulation den Aufbau einer Multi-Agenten-Simulation und die Funktionsweise künstlicher neuronaler Netze. Aus den hier genannten Grundlagen wird daraufhin ausführlich das Simulationsmodell dieser Arbeit hergeleitet und beschrieben.
Die Ergebnisse vieler hundert verschiedener Simulationsdurchläufe werden im Anschluss erläutert. So werden die im Modell definierten Störfaktoren einzeln untersucht und in Werteintervalle mit unterschiedlichen Auswirkungen eingeteilt. Weiterhin werden vorhandene Wechselwirkungen der Faktoren aufgezeigt und der Prozess der Sprachwiedervereinigung nach einer vorherigen Dialektspaltung gezeigt.
Einem Fazit und Ausblick folgen als Anhänge Anforderungsdefinition, Entwurf, Architektur, eine detaillierte Erläuterung der Implementierung und ein englischsprachiges Benutzerhandbuch des Werkzeugs DiaLex. DiaLex ist ein komplett in Java konzipiertes und implementiertes Programm und bietet dem Benutzer die Möglichkeit, den Einfluss verschiedener Störfaktoren auf die Dialektbildung innerhalb einer gemeinsam genutzten Sprache einer oder mehrerer Agentengemeinschaften zu simulieren und zu analysieren.
Die Arbeit entstand im Zeitraum Oktober 2007 bis Juni 2010 an der Universität Koblenz-Landau.
Software is vital for modern society. The efficient development of correct and reliable software is of ever-growing importance. An important technique to achieve this goal is deductive program verification: the construction of logical proofs that programs are correct. In this thesis, we address three important challenges for deductive verification on its way to a wider deployment in the industry: 1. verification of thread-based concurrent programs 2. correctness management of verification systems 3. change management in the verification process. These are consistently brought up by practitioners when applying otherwise mature verification systems. The three challenges correspond to the three parts of this thesis (not counting the introductory first part, providing technical background on the KeY verification approach). In the first part, we define a novel program logic for specifying correctness properties of object-oriented programs with unbounded thread-based concurrency. We also present a calculus for the above logic, which allows verifying actual Java programs. The calculus is based on symbolic execution resulting in its good understandability for the user. We describe the implementation of the calculus in the KeY verification system and present a case study. In the second part, we provide a first systematic survey and appraisal of factors involved in reliability of formal reasoning. We elucidate the potential and limitations of self-application of formal methods in this area and give recommendations based on our experience in design and operation of verification systems. In the third part, we show how the technique of similarity-based proof reuse can be applied to the problems of industrial verification life cycle. We address issues (e.g., coping with changes in the proof system) that are important in verification practice, but have been neglected by research so far.
Confidentiality, integrity, and availability are often listed as the three major requirements for achieving data security and are collectively referred to as the C-I-A triad. Confidentiality of data restricts the data access to authorized parties only, integrity means that the data can only be modified by authorized parties, and availability states that the data must always be accessible when requested. Although these requirements are relevant for any computer system, they are especially important in open and distributed networks. Such networks are able to store large amounts of data without having a single entity in control of ensuring the data's security. The Semantic Web applies to these characteristics as well as it aims at creating a global and decentralized network of machine-readable data. Ensuring the confidentiality, integrity, and availability of this data is therefore also important and must be achieved by corresponding security mechanisms. However, the current reference architecture of the Semantic Web does not define any particular security mechanism yet which implements these requirements. Instead, it only contains a rather abstract representation of security.
This thesis fills this gap by introducing three different security mechanisms for each of the identified security requirements confidentiality, integrity, and availability of Semantic Web data. The mechanisms are not restricted to the very basics of implementing each of the requirements and provide additional features as well. Confidentiality is usually achieved with data encryption. This thesis not only provides an approach for encrypting Semantic Web data, it also allows to search in the resulting ciphertext data without decrypting it first. Integrity of data is typically implemented with digital signatures. Instead of defining a single signature algorithm, this thesis defines a formal framework for signing arbitrary Semantic Web graphs which can be configured with various algorithms to achieve different features. Availability is generally supported by redundant data storage. This thesis expands the classical definition of availability to compliant availability which means that data must only be available as long as the access request complies with a set of predefined policies. This requirement is implemented with a modular and extensible policy language for regulating information flow control. This thesis presents each of these three security mechanisms in detail, evaluates them against a set of requirements, and compares them with the state of the art and related work.
Diese Arbeit bewegt sich im Spannungsfeld dreier Gebiete: Virtualisierung, Echtzeitverarbeitung und Parallelverarbeitung. Jedes dieser Gebiete gilt für sich genommen als weitgehend erforscht, doch ergeben sich bei ihrer gemeinsamen Betrachtung zahlreiche neue Fragestellungen und Möglichkeiten. In dieser Arbeit werden dazu Modelle zur Beschreibung von Echtzeitanwendungen innerhalb der Prozesshierarchie einer Virtualisierungsumgebung entwickelt. Bestehende Schnittstellen zur Virtualisierung werden auf ihre Möglichkeiten zur Echtzeitverarbeitung untersucht, und es werden neue Schnittstellen zur Virtualisierung auf Mehrprozessormaschinen geschaffen und erprobt, die die spezifischen Anforderungen eingebetteter Systeme "insbesondere die Echtzeitfähigkeit" berücksichtigen. Damit wird eine sichere und effiziente Koexistenz von Programmen mit unterschiedlich harten Zeitanforderungen in getrennten virtuellen Maschinen auf einem gemeinsamen Mehrprozessorrechner ermöglicht.
Die Aufmerksamkeit politischer Entscheidungsträger weltweit richtet sich in den letzten 10 Jahren verstärkt auf die Kreativwirtschaft als signifikanter Wachstums- und Beschäftigungsmotor in Städten. Die Literatur zeigt jedoch, dass Kreativschaffende zu den gefährdetsten Arbeitskräften in der heutigen Wirtschaft gehören. Aufgrund des enorm deregulierten und stark individualisierten Umfelds werden Misserfolg oder Erfolg eher individuellen Fähigkeiten und Engagement zugeschrieben und strukturelle oder kollektive Aspekte vernachlässigt. Diese Arbeit widmet sich zeitlichen, räumlichen und sozialen Aspekten digitaler behavioraler Daten, um zu zeigen, dass es tatsächlich strukturelle und historische Faktoren gibt, die sich auf die Karrieren von Individuen und Gruppen auswirken. Zu diesem Zweck bietet die Arbeit einen computergestützten, sozialwissenschaftlichen Forschungsrahmen, der das theoretische und empirisches Wissen aus jahrelanger Forschung zu Ungleichheit mit computergestützten Methoden zum Umgang mit komplexen und umfangreichen digitalen Daten verbindet. Die Arbeit beginnt mit der Darlegung einer neuartigen Methode zur Geschlechtererkennung, welche sich Image Search und Gesichtserkennungsmethoden bedient. Die Analyse der kollaborativen Verhaltensweisen sowie der Zitationsnetzwerke männlicher und weiblicher Computerwissenschaftler*innen verdeutlicht einige der historischen Bias und Nachteile, welchen Frauen in ihren wissenschaftlichen Karrieren begegnen. Zur weiterfuhrenden Elaboration der zeitlichen Aspekte von Ungleichheit, wird der Anteil vertikaler und horizontaler Ungleichheit in unterschiedlichen Kohorten von Wissenschaftler*innen untersucht, die ihre Karriere zu unterschiedlichen Zeitpunkten begonnen haben. Im Weiteren werden einige der zugrunde liegenden Mechanismen und Prozesse von Ungleichheit in kreativen Berufen analysiert, wie der Matthew-Effekt und das Hipster-Paradoxon. Schließlich zeigt diese Arbeit auf, dass Online-Plattformen wie Wikipedia bestehenden Bias reflektieren sowie verstärken können.
Terrainklassifikation mit Markov Zufallsfeldern für autonome Roboter in unstrukturiertem Terrain
(2015)
Diese Doktorarbeit beschäftigt sich mit dem Problem der Terrainklassifikation im unstrukturierten Außengelände. Die Terrainklassifikation umfasst dabei das Erkennen von Hindernissen und flachen Bereichen mit der einhergehenden Analyse der Bodenoberfläche. Ein 3D Laser-Entfernungsmesser wurde als primärer Sensor verwendet, um das Umfeld des Roboters zu vermessen. Zunächst wird eine Gitterstruktur zur Reduktion der Daten eingeführt. Diese Datenrepräsentation ermöglicht die Integration mehrerer Sensoren, z.B. Kameras für Farb- und Texturinformationen oder weitere Laser-Entfernungsmesser, um die Datendichte zu erhöhen. Anschließend werden für alle Terrainzellen des Gitters Merkmale berechnet. Die Klassifikation erfolgt mithilfe eines Markov Zufallsfeldes für Kontextsensitivität um Sensorrauschen und variierender Datendichte entgegenzuwirken. Ein Gibbs-Sampling Ansatz wird zur Optimierung eingesetzt und auf der CPU sowie der auf GPU parallelisiert um Ergebnisse in Echtzeit zu berechnen. Weiterhin werden dynamische Hindernisse unter Verwendung verschiedener State-of-the-Art Techniken erkannt und über die Zeit verfolgt. Die berechneten Informationen, wohin sich andere Verkehrsteilnehmer bewegen und in Zukunft hinbewegen könnten, werden verwendet, um Rückschlüsse auf Bodenoberflächen zu ziehen die teilweise oder vollständig unsichtbar für die Sensoren sind. Die Algorithmen wurden auf unterschiedlichen autonomen Roboter-Plattformen getestet und eine Evaluation gegen von Menschen annotierte Grundwahrheiten von Karten aus mehreren Millionen Messungen wird präsentiert. Der in dieser Arbeit entwickelte Ansatz zur Terrainklassifikation hat sich in allen Anwendungsbereichen bewährt und neue Erkenntnisse geliefert. Kombiniert mit einem Pfadplanungsalgorithmus ermöglicht die Terrainklassifikation die vollständige Autonomie für radgetriebene Roboter in natürlichem Außengelände.
Empirische Studien in der Softwaretechnik verwenden Software Repositories als Datenquellen, um die Softwareentwicklung zu verstehen. Repository-Daten werden entweder verwendet, um Fragen zu beantworten, die die Entscheidungsfindung in der Softwareentwicklung leiten, oder um Werkzeuge bereitzustellen, die bei praktischen Aspekten der Entwicklung helfen. Studien werden in die Bereiche Empirical Software Engineering (ESE) und Mining Software Repositories (MSR) eingeordnet. Häufig konzentrieren sich Studien, die mit Repository-Daten arbeiten, auf deren Ergebnisse. Ergebnisse sind aus den Daten abgeleitete Aussagen oder Werkzeuge, die bei der Softwareentwicklung helfen. Diese Dissertation konzentriert sich hingegen auf die Methoden und High-Order-Methoden, die verwendet werden, um solche Ergebnisse zu erzielen. Insbesondere konzentrieren wir uns auf inkrementelle Methoden, um die Verarbeitung von Repositories zu skalieren, auf deklarative Methoden, um eine heterogene Analyse durchzuführen, und auf High-Order-Methoden, die verwendet werden, um Bedrohungen für Methoden, die auf Repositories arbeiten, zu operationalisieren. Wir fassen dies als technische und methodische Verbesserungen zusammen um zukünftige empirische Ergebnisse effektiver zu produzieren. Wir tragen die folgenden Verbesserungen bei. Wir schlagen eine Methode vor, um die Skalierbarkeit von Funktionen, welche über Repositories mit hoher Revisionszahl abstrahieren, auf theoretisch fundierte Weise zu verbessern. Wir nutzen Erkenntnisse aus abstrakter Algebra und Programminkrementalisierung, um eine Kernschnittstelle von Funktionen höherer Ordnung zu definieren, die skalierbare statische Abstraktionen eines Repositorys mit vielen Revisionen berechnen. Wir bewerten die Skalierbarkeit unserer Methode durch Benchmarks, indem wir einen Prototyp mit MSR/ESE Wettbewerbern vergleichen. Wir schlagen eine Methode vor, um die Definition von Funktionen zu verbessern, die über ein Repository mit einem heterogenen Technologie-Stack abstrahieren, indem Konzepte aus der deklarativen Logikprogrammierung verwendet werden, und mit Ideen zur Megamodellierung und linguistischen Architektur kombiniert werden. Wir reproduzieren bestehende Ideen zur deklarativen Logikprogrammierung mit Datalog-nahen Sprachen, die aus der Architekturwiederherstellung, der Quellcodeabfrage und der statischen Programmanalyse stammen, und übertragen diese aus der Analyse eines homogenen auf einen heterogenen Technologie-Stack. Wir liefern einen Proof-of-Concept einer solchen Methode in einer Fallstudie. Wir schlagen eine High-Order-Methode vor, um die Disambiguierung von Bedrohungen für MSR/ESE Methoden zu verbessern. Wir konzentrieren uns auf eine bessere Disambiguierung von Bedrohungen durch Simulationen, indem wir die Argumentation über Bedrohungen operationalisieren und die Auswirkungen auf eine gültige Datenanalysemethodik explizit machen. Wir ermutigen Forschende, „gefälschte“ Simulationen ihrer MSR/ESE-Szenarien zu erstellen, um relevante Erkenntnisse über alternative plausible Ergebnisse, negative Ergebnisse, potenzielle Bedrohungen und die verwendeten Datenanalysemethoden zu operationalisieren. Wir beweisen, dass eine solche Art des simulationsbasierten Testens zur Disambiguierung von Bedrohungen in der veröffentlichten MSR/ESE-Forschung beiträgt.
Interaktive Visualisierungen für den Linking- und Suchprozess heterogener Informationen im Web
(2013)
Die Informationsmenge im Web nimmt stetig zu und auch die Art und Vielfalt von Informationen wird immer größer. Es stehen die unterschiedlichsten Informationen wie Nachrichten, Artikel, Statistiken, Umfragedaten, Börsendaten, Veranstaltungen, Literaturnachweise usw. zur Verfügung. Die Informationen zeichnen sich durch Heterogenität in Aspekten wie Informationsart, Modalität, Strukturiertheit, Granularität, Qualität und ihre Verteiltheit aus. Die zwei Haupttechniken, mit denen Nutzer im Web nach diesen Informationen suchen, sind die Suche mit Websuchmaschinen und das Browsing über Links zwischen Informationseinheiten. Die vorherrschende Art der Informationsdarstellung ist dabei weitgehend statisch in Form von Text, Bildern und Grafiken. Interaktive Visualisierungen bieten eine Reihe von Vorteilen für die Aufbereitung und Exploration von heterogenen Informationen im Web: (1) Sie bieten verschiedene Darstellungsformen für unterschiedliche, sehr große und auch komplexe Informationsarten und (2) große Datenmengen können interaktiv anhand ihrer Eigenschaften exploriert werden und damit den Denkprozess des Nutzers unterstützen und erweitern. Bisher sind interaktive Visualisierungen aber noch kein integraler Bestandteil des Suchprozesses im Web. Die technischen Standards und Interaktionsparadigmen, um interaktive Visualisierungen als Massentechnik im Web nutzbar zu machen, werden erst langsam durch Standardisierungsgremien eingeführt. Diese Arbeit untersucht, wie interaktive Visualisierungen für den Linking- und Suchprozess heterogener Informationen im Web eingesetzt werden können. Basierend auf Grundlagen in den Bereichen Informationssuche, Informationsvisualisierung und Informationsverarbeitung wird ein Modell gebildet, das bestehende Strukturmodelle der Informationsvisualisierung um zwei neue Prozesse erweitert: (1) das Linking von Informationen in Visualisierungen und (2) das Glyphenbasierte Suchen, Browsen und Filtern. Das Vizgr-Toolkit implementiert das entwickelte Modell in einer Webanwendung. In vier verschiedenen Anwendungsszenarien werden Teilaspekte des Modells instanziiert und in Nutzertests evaluiert oder anhand von Beispielen untersucht.
Softwaresprachen und Technologien zu verstehen, die bei der Entwicklung einer Software verwendet werden, ist eine alltägliche Herausforderung für Software Engineers. Textbasierte Dokumentationen und Codebeispiele sind typische Hilfsmittel, die zu einem besseren Verständnis führen sollen. In dieser Dissertation werden verschiedene Forschungsansätze beschrieben, wie existierende Textpassagen und Codebeispiele identifiziert und miteinander verbunden werden können. Die Entdeckung solcher bereits existierender Ressourcen soll dabei helfen Softwaresprachen und Technologien auf einem konzeptionellen Level zu verstehen und zu vergleichen. Die Forschungsbeiträge fokussieren sich auf die folgenden Fragen, die später präzisiert werden. Welche existierenden Ressourcen lassen sich systematisch identifizieren, um strukturiertes Wissen zu extrahieren? Wie lassen sich die Ressourcen extrahieren? Welches Vokabular wird bereits in der Literatur verwendet, um konzeptionelles Wissen zur Struktur und Verwendung einer Software auszudrücken? Wie lassen sich Beiträge auf Wikipedia wiederverwenden? Wie können Codebeispiele zur Verwendung von ausgewählten Technologien auf GitHub gefunden werden? Wie kann ein Modell, welches Technologieverwendung repräsentiert, reproduzierbar konstruiert werden? Zur Beantwortung der Forschungsfragen werden qualitative Forschungsmethoden verwendet, wie zum Beispiel Literaturstudien. Des Weiteren werden Methoden entwickelt und
evaluiert, um relevante Artikel auf Wikipedia, relevante Textpassagen in der Literatur und Codebeispiele auf GitHub zu verlinken. Die theoretischen Beiträge werden in Fallstudien evaluiert. Die folgenden wissenschaftlichen Beiträge werden dabei erzielt: i.) Eine Referenzsemantik zur Formalisierung von Typen und Relationen in einer sprachfokussierten Beschreibung von Software; ii.) Ein Korpus bestehend aus Wikipedia Artikeln zu einzelnen Softwaresprachen; iii) Ein Katalog mit textuell beschriebenen Verwendungsmustern einer Technologie zusammen mit Messergebnissen zu deren Frequenz auf GitHub; iv.) Technologiemodelle, welche sowohl mit verschiedenen existierenden Codebeispielen als auch mit Textpassagen verknüpft sind.
Die weltweite Vernetzung von semantischen Information schreitet stetig voran und erfährt mit der Linked Data Initiative immer mehr Aufmerksamkeit. Bei Linked Data werden verschiedene Datensätze aus unterschiedlichen Domänen und von diversen Anbietern in einem einheitlichen Format (RDF) zur Verfügung gestellt und miteinander verknüpft. Strukturell ist das schnell wachsende Linked Data Netzwerk sehr ähnlich zum klassischen World Wide Web mit seinen verlinkten HTML Seiten. Bei Linked Data handelt es sich jedoch um URI-referenzierte Entitäten, deren Eigenschaften und Links durch RDF-Triple ausgedrückt werden. Neben dem Dereferenzieren von URIs besteht mit SPARQL auch die Möglichkeit, ähnlich wie bei Datenbanken, komplexe algebraische Anfragen zu formulieren und über sogenannte SPARQL Endpoints auf einer Datenquelle auswerten zu lassen. Eine SPARQL Anfrage über mehrere Linked Data Quellen ist jedoch kompliziert und bedarf einer föderierten Infrastruktur in der mehrere verteilte Datenquellen integriert werden, so dass es nach außen wie eine einzige große Datenquelle erscheint. Die Föderation von Linked Data hat viele Ähnlichkeiten mit verteilten und föderierten Datenbanken. Es gibt aber wichtige Unterschiede, die eine direkte Adpation von bestehenden Datenbanktechnologien schwierig machen. Dazu gehört unter anderem die große Anzahl heterogener Datenquellen in der Linked Data Cloud, Beschränkungen von SPARQL Endpoints, und die teils starke Korrelation in den RDF Daten. Daher befasst sich die vorliegende Arbeit primär mit der Optimierung von verteilten SPARQL Anfragen auf föderierten RDF Datenquellen. Die Grundlage dafür ist SPLENDID, ein effizientes Optimierungverfahren für die Ausführung von verteilten SPARQL Anfragen in einer skalierbaren und flexiblen Linked Data Föderationsinfrastruktur. Zwei Aspekte sind dabei besonders wichtig: die automatische Auswahl von passenden Datenquellen für beliebige SPARQL Anfragen und die Berechnung des optimalen Ausführungsplans (Join Reihenfolge) basierend auf einem Kostenmodell. Die dafür erforderlichen statistischen Information werden mit Hilfe von VOID-basierten Datenquellenbeschreibungen zur Verfügung gestellt. Darüberhinaus wird auch des Management verteilter statistischer Daten untersucht und eine Benchmark-Methodologie