004 Datenverarbeitung; Informatik
Filtern
Dokumenttyp
- Dissertation (19) (entfernen)
Schlagworte
- Software Engineering (3)
- Information Retrieval (2)
- Modellgetriebene Entwicklung (2)
- AUTOSAR (1)
- Abduktion <Logik> (1)
- Adaptation (1)
- Anpassung (1)
- Architektur <Informatik> (1)
- Auditing (1)
- Automotive Systems (1)
Institut
- Institut für Informatik (19) (entfernen)
Folksonomien sind Web 2.0 Plattformen, in denen Benutzer verschiedene Inhalte miteinander teilen können. Die Inhalte können mit Hilfe von Stichwörtern, den sogenannten Tags, kategorisiert und organisiert werden. Die verschiedenen Folksonomien unterstützen unterschiedliche Inhaltstypen wie zum Beispiel Webseiten (Delicious), Bilder (Flickr) oder Videos (YouTube). Aufgrund ihrer einfachen Benutzungsweise haben Folksonomien viele Millionen Benutzer. Die einfache Benutzungsweise führt aber auch zu einigen Problemen. Diese Doktorarbeit beschäftigt sich mit drei der wichtigsten Probleme und beschreibt Methoden, wie sie gelöst werden können. Das erste dieser Probleme tritt auf, wenn Benutzer die Folksonomien nach bestimmten Inhalten durchsuchen wollen. Häufig können dabei nicht alle relevanten Inhalte gefunden werden, da diesen relevante Stichwörter fehlen. Dementsprechend tritt das zweite Problem während der Vergabe von Stichwörtern auf. Manche Folksonomien, wie zum Beispiel Delicious, unterstützen ihre Benutzer dabei, indem sie ihnen mögliche Stichwörter empfehlen. Andere Folksonomien, wie zum Beispiel Flickr, bieten keine solche Unterstützung. Die Empfehlung von Stichwörtern hilft dem Benutzer dabei, Inhalte auf einfache Art und Weise mit den jeweils relevanten Stichwörtern zu versehen. Das dritte Problem besteht darin, dass weder Stichwörter noch Inhalte mit einer festen Semantik versehen sind und mehrdeutig sein können. Das Problem entsteht dadurch, dass die Benutzer die Stichwörter vollkommen frei rnverwenden können. Die automatische Identifizierung der Semantik von Stichwörtern und Inhalten hilft dabei, die dadurch entstehenden Probleme zu reduzieren. Diese Doktorarbeit stellt mehrere Methoden vor, wie verschiedene Quellen für semantische Informationen benutzt werden können, um die vorher genannten drei Probleme zu lösen. In dieser Doktorarbeit benutzen wir als Quellen Internetsuchmaschinen, soziale Netzwerke im Internet und die gemeinsamen Vorkommen von Stichwörtern in Folksonomien. Die Verwendung der verschiedenen Quellen reduziert den Aufwand bei der Erstellung von Systemen, die die vorher genannten Probleme lösen. Die vorgestellten Methoden wurden auf einem großen Datensatz evaluiert. Die erzielten Ergebnisse legen nahe, dass semantische Informationen bei der Lösung der Probleme helfen, die während der Suche von Inhalten, der Empfehlung von Stichwörtern als auch der automatischen Identifizierung der Semantik von Stichwörtern und Inhalten auftreten.
In dieser Dissertation wird eine Verfahrensweise für die formale Spezifikation und Verifikation von Benutzerschnittstellen unter Sicherheitsaspekten vorgestellt. Mit dieser Verfahrensweise können beweisbar sichere Benutzerschnittstellen realisiert werden. Die Arbeit besteht aus drei Teilen. Im ersten Teil wird eine Methodologie für die formale Beschreibung von Mensch-Maschine-Interaktion entwickelt. Im zweiten Teil werden gängige Computersicherheitskonzepte für die Mensch-Maschine-Interaktion angepasst und mit den im ersten Teil entwickelten Methoden formalisiert. Dabei wird ein generisches formales Modell von Mensch-Maschine-Interaktion erstellt. Im dritten Teil wird die Methodologie, die in den ersten beiden Teilen entwickelt wurde, an einem sicheren Email-Client als exemplarischen Anwendungsprogramm demonstriert.
Der immer schnellere technologische Wandel in der Wirtschaft und die damit verbundenen, sich verkürzenden Innovationszyklen machen die Aus- und Weiterbildung der Mitarbeitenden eines Unternehmens zu einem wichtigen Wettbewerbsfaktor. Traditionelle (Weiter-)Bildungsmethoden können jedoch den resultierenden, ständig wachsenden und immer schneller zu befriedigenden Aus- und Weiterbildungsbedarf nur bedingt befriedigen. Deshalb werden in zunehmenden Maße in der Aus- und Weiterbildung Angebote aus dem Bereich des technologiebasierten Lernens eingesetzt, welche ein selbstgesteuertes und -organisiertes Lernen und durch eine Integration in tägliche Arbeitsabläufe einen optimalen Wissenstransfer mit entsprechend hohem Lernerfolg ermöglichen. Um dies aber auch zu realisieren, ist eine entsprechend hohe Angebotsqualität in Bezug auf die Unterstützung der Nutzenden bei der Erreichung ihrer Lernziele erforderlich. Die Entwicklung qualitativ hochwertiger technologiebasierter Lernangebote ist im Allgemeinen aber mit größeren Aufwänden und längeren Entwicklungszeiten verbunden, wodurch eine Verfügbarkeit eines solchen Angebots zeitnah zum entstandenen Bedarf und in der geforderten Qualität oftmals nicht gewährleistet werden kann.
Diese Arbeit beschäftigt sich deshalb mit der Forschungsfrage, wie eine Lernsoftware entwickelt werden muss, um eine qualitativ hochwertige LSW im Sinne der optimalen Ausrichtung auf die Eigenschaften und Lernziele der einzelnen Lernenden sowie auf den von ihnen geplanten Einsatzkontext für das vermittelte Wissen bei gleichzeitiger Reduzierung von Entwicklungsaufwand und -zeit zu produzieren. Die als Antwort auf die Forschungsfrage definierte IntView-Methodik zur systematischen, effizienten und zeitnahen Entwicklung von qualitativ hochwertigen technologiebasierten Lernangeboten wurde konzipiert, um die Wahrscheinlichkeit der Produktion der Angebote ohne Überschreitung von Projektzeitplänen und -budgets bei gleichzeitiger gezielter Ausrichtung des Angebots auf Zielgruppen und Einsatzkontexte zur Gewährleistung der Qualität zu erhöhen.
Hierzu wurden nach einer umfangreichen Untersuchung von bestehenden Ansätzen zur Lernsoftware-Entwicklung, aber auch zur Produktion von verwandten Produkten wie Multimedia-, Web- oder Software-Anwendungen, diejenigen Durchführungsvarianten der Aktivitäten bzw. Aktivitätsschritte zur Lernsoftware-Entwicklung zu einer systematischen Vorgehensweise integriert, welche in ihrem Zusammenspiel den größten Beitrag zu einer effizienten Produktion leisten können. Kern der Methodik ist ein Entwicklungsprozess zur ingenieursmäßigen Erstellung der Angebote, der alle Entwicklungsphasen abdeckt und die Vorgehensweisen und Methoden aller an der Entwicklung beteiligten Fachdisziplinen, inklusive einer kontinuierlichen Qualitätssicherung von Projektbeginn an, in einen gemeinsamen Prozess integriert. Dieser Prozess wird sowohl als Lebenszyklusmodell als auch als daraus abgeleitetes Prozessmodell in Form eines Abhängigkeitsmodells definiert, um eine optimale Unterstützung eines Projektteams bei Koordination und Abstimmung der Arbeiten in der Entwicklung zu ermöglichen. In Ergänzung zu den Modellen wird eine umfassende Arbeitsunterstützung mit Templates bzw. Dokumentvorlagen inklusive Handlungsanweisungen und Beispielen für die direkte Anwendung der Vorgehensweise durch die Nutzenden bereit gestellt.
Im Rahmen der Evaluation der Methodik wird der Nachweis geführt, dass sie im Zusammenspiel mit ihrer umfangreichen Autorenunterstützung eine sowohl effektive als auch effiziente Lernangebot-Entwicklung ermöglichen kann. In den hierfür durchgeführten Beispielprojekten als auch in den durchgeführten drei Fallstudien wird gezeigt, dass die Methodik zum einen an die Erstellung unterschiedlicher Arten von Lernangeboten bzw. an den Einsatz in verschiedenen Projektkontexten einfach anpassbar sowie zum anderen effizient und effektiv nutzbar ist.
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
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.
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.
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.
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.
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.
Die Beschreibung des Verhaltens eines Multi-Agenten-Systems (MAS) ist eine fordernde Aufgabe, besonders dann, wenn es in sicherheitskritischen Umgebungen eingesetzt werden soll. Denn in solchen Umgebungen muss die Beschreibung besonders sorgfältig ausgeführt werden um Seiteneffekte zu vermeiden, die ungewünschte oder sogar zerstörerische Folgen haben könnten. Deshalb sind formale Methoden nützlich, die auf mathematischen Modellen des zu entwerfenden Systems basieren. Sie erlauben es nicht nur das System formal auf verschiedenen Abstraktionsebenen zu spezifizieren, sondern auch seine Konsistenz noch vor der Implementierung zu verifizieren. Das Ziel der formalen Spezifikation ist eine präzise und eindeutige Beschreibung des Verhaltens des Multi-Agenten-Systems, während die Verifikation darauf abzielt, geforderte Eigenschaften dieses Systems zu beweisen. Üblicherweise wird das Verhalten eines Agenten als diskrete Änderung seines Zustands im Bezug auf externe oder interne Aktionen aufgefasst. Jedes mal, wenn eine Aktion auftritt, ändert sich der Zustand des Agenten. Deshalb sind Zustandsübergangsdiagramme bzw. endliche Automaten ein naheliegender Ansatz das Verhalten zu modellieren. Ein weiterer Vorteil einer solchen Beschreibung ist, dass sie sich für das sogenannte Model Checking eignet. Dabei handelt es sich um eine automatische Analysetechnik, die bestimmt, ob das Modell des Systems spezifizierten Eigenschaften genügt. Allerdings muss in realistischen, physikalischen Umgebungen neben dem diskreten auch das kontinuierliche Verhalten des Multi-Agenten-Systems betrachtet werden. Dabei könnte es sich beispielsweise um die Schussbewegung eines Fußballspieler-Agenten, den Prozess des Löschens durch einen Feuerwehr-Agenten oder jedes andere Verhalten handeln, das auf zeitlichen physikalischen Gesetzen basiert. Die üblichen Zustandsübergangsdiagramme sind nicht ausreichend, um diese beiden Verhaltensarten zu kombinieren. Hybride Automaten stellen jedoch eine elegante Lösung dar. Im Wesentlichen erweitern sie die üblichen Zustandsübergangsdiagramme durch Methoden, die sich mit kontinuierlichen Aktionen befassen. Die Zustandsübergänge modellieren weiterhin die diskreten Verhaltenswechsel, während Differentialgleichungen verwendet werden um das kontinuierliche Verhalten zu beschreiben. Besonders geeignet erscheinen Hybride Automaten, weil ihre formale Semantik die Verifikation durch Model Checking erlaubt. Deshalb ist das Hauptziel dieser Arbeit, Hybride Automaten für die Modellierung und die Verifikation des Verhaltens von Multi-Agenten-Systemen einzusetzen. Jedoch bringt ihr Einsatz mehrere Probleme mit sich, die betrachtet werden sollten. Zu diesen Problemfeldern zählen Komplexität, Modularität und die Aussagestärke der Modelle. Diese Arbeit befasst sich mit diesen Problemen und liefert mögliche Lösungen.