004 Datenverarbeitung; Informatik
Filtern
Erscheinungsjahr
Dokumenttyp
- Dissertation (48) (entfernen)
Schlagworte
- Software Engineering (4)
- Information Retrieval (3)
- model-based (3)
- Abduktion <Logik> (2)
- Maschinelles Lernen (2)
- Modellgetriebene Entwicklung (2)
- Petri-Netz (2)
- Visualisierung (2)
- 3D Modell Referenz Bildsynthese (1)
- AUTOSAR (1)
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.
Im Rahmen dieser Arbeit wurden die zeitbewerteten Prädikat/Transitions-Netze (Z-Pr/T-Netze) zur Modellierung, Simulation und Verifikation sicherheitskritischer Echtzeitsysteme entwickelt. Z-Pr/T-Netze integrieren Konzepte zur Modellierung temporärer Zusammenhänge und sind darüber hinaus mittels der Berechnung von S- und T-Invarianten sowie der Identifikation von Traps und Co-Traps strukturell analysierbar. Die Eignung von Z-Pr/T-Netzen zur Modellierung, Simulation und Verifikation komplexer Systeme aus dem Anwendungsbereich sicherheitskritischer Echtzeitsysteme wird anhand des Earliest-Deadline-First-Protokolls (EDF) und des Priority-Inheritance-Protokolls (PIP) belegt. Es erfolgt daher eine Modellierung des EDF und PIP mittels Z-Pr/T-Netzen sowie eine Verifikation für das EDF und PIP basierend auf der strukturellen Analyse der korrespondierenden Z-Pr/T-Netze. Die Anwendbarkeit struktureller Analyseverfahren zur Verifikation des EDF und PIP in Verbindung mit der nicht zu unterschätzenden Komplexität eben dieser belegen die Anwendbarkeit von Z-Pr/T-Netzen zur Modellierung, Simulation und Verifikation komplexer Systeme aus dem Anwendungsbereich sicherheitskritischer Echtzeitsysteme.
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.
Die Raytracing-Beschleunigung durch dedizierte Datenstrukturen ist schon lange ein wichtiges Thema der Computergrafik. Im Allgemeinen werden dafür zwei unterschiedliche Ansätze vorgeschlagen: räumliche und richtungsbezogene Beschleunigungsstrukturen. Die vorliegende Arbeit stellt einen innovativen kombinierten Ansatz dieser beiden Bereiche vor, welcher weitere Beschleunigung der Strahlenverfolgung ermöglicht. Dazu werden moderne räumliche Datenstrukturen als Basisstrukturen verwendet und um vorberechnete gerichtete Sichtbarkeitsinformationen auf Basis von Schächten innerhalb einer originellen Struktur, dem Line Space, ergänzt.
Im Laufe der Arbeit werden neuartige Ansätze für die vorberechneten Sichtbarkeitsinformationen vorgeschlagen: ein binärer Wert, der angibt, ob ein Schacht leer oder gefüllt ist, sowie ein einzelner Vertreter, der als repräsentativer Kandidat die tatsächliche Oberfläche approximiert. Es wird gezeigt, wie der binäre Wert nachweislich in einer einfachen, aber effektiven Leerraumüberspringungs-Technik (Empty Space Skipping) genutzt wird, welche unabhängig von der tatsächlich verwendeten räumlichen Basisdatenstruktur einen Leistungsgewinn beim Raytracing von bis zu 40% ermöglicht. Darüber hinaus wird gezeigt, dass diese binären Sichtbarkeitsinformationen eine schnelle Technik zur Berechnung von weichen Schatten und Umgebungsverdeckung auf der Grundlage von Blockerapproximationen ergeben. Obwohl die Ergebnisse einen gewissen Ungenauigkeitsfehler enthalten, welcher auch dargestellt und diskutiert wird, zeigt sich, dass eine weitere Traversierungsbeschleunigung von bis zu 300% gegenüber der Basisstruktur erreicht wird. Als Erweiterung zu diesem Ansatz wird die repräsentative Kandidatenvorberechnung demonstriert, welche verwendet wird, um die indirekte Lichtberechnung durch die Integration von kaum wahrnehmbaren Bildfehlern signifikant zu beschleunigen. Schließlich werden Techniken vorgeschlagen und bewertet, die auf zweistufigen Strukturen und einer Nutzungsheuristik basieren. Diese reduzieren den Speicherverbrauch und die Approximationsfehler bei Aufrechterhaltung des Geschwindigkeitsgewinns und ermöglichen zusätzlich weitere Möglichkeiten mit Objektinstanziierungen und starren Transformationen.
Alle Beschleunigungs- und Speicherwerte sowie die Näherungsfehler werden gemessen, dargestellt und diskutiert. Insgesamt zeigt sich, dass durch den Line Space eine deutliche Erhöhung der Raytracing Leistung auf Kosten eines höheren Speicherverbrauchs und möglicher Annäherungsfehler erreicht wird. Die vorgestellten Ergebnisse zeigen damit die Leistungsfähigkeit des kombinierten Ansatzes und eröffnen weitere Möglichkeiten für zukünftige Arbeiten.
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.
In dieser Doktorarbeit beschreibe ich das spektrale Verhalten von großen, dynamischen Netzwerken und formuliere das spektrale Evolutionsmodell. Das spektrale Evolutionsmodell beschreibt das Wachstum von Netzwerken, die sich im Laufe der Zeit ändern, und charakterisiert ihre Eigenwert-und Singulärwertzerlegung. Das spektrale Evolutionsmodell sagt aus, dass im Laufe der Zeit die Eigenwerte eines Netzwerks wachsen, und die Eigenvektoren nahezu konstant bleiben. Ich validiere das spektrale Evolutionsmodell empirisch mit Hilfe von über einhundert Netzwerkdatensätzen, und theoretisch indem ich zeige,dass es eine gewisse Anzahl von bekannten Algorithmen zur Kantenvorhersage verallgemeinert, darunter Graph-Kernel, Pfad-Zähl-Methoden, Rangreduktion und Triangle-Closing.
Die Sammlung von Datensätzen, die ich verwende enthält 118 distinkte Datensätze. Ein Datensatz, das soziale Netzwerk mit negativen Kanten des Slashdot-Zoo, wurde speziell während des Verfassens dieser Arbeit extrahiert. Ich zeige auch, dass das spektrale Evolutionsmodell als Generalisierung des Preferential-Attachment-Modells verstanden werden kann, wenn Wachstum in latenten Dimensionen einzeln betrachtet wird. Als Anwendungen des spektralen Evolutionsmodells führe ich zwei neue Algorithmen zur Kantenvorhersage ein, die in Empfehlungssystemen, Suchmaschinen, im Collaborative-Filtering, für die Vorhersage von Bewertungen, für die Vorhersage von Kantenvorzeichen und mehr verwendet werden können. Der erste Kantenvorhersagealgorithmus ergibt ein eindimensionales Curve-Fitting-Problem, aus dem eine spektrale Transformation gelernt wird. Die zweite Methode verwendet Extrapolation von Eigenwerten, um zukünftige Eigenwerte vorherzusagen. Als Spezialfälle zeige ich, dass das spektrale Evolutionsmodell auf gerichtete, ungerichtete, gewichtete, ungewichtete, vorzeichenbehaftete und bipartite Graphen erweitert werden kann. Für vorzeichenbehaftete Graphen führe ich neue Anwendungen der Laplace-Matrix zur Graphzeichnung, zur spektralen Clusteranalyse, und beschreibe neue Laplace-Graph-Kernel, die auf vorzeichenbehaftete Graphen angewendet werden können.
Ich definiere dazu den algebraischen Konflikt, ein Maß für den Konflikt, der in einem vorzeichenbehafteten Graphen vorhanden ist, und das auf der vorzeichenbehafteten Laplace-Matrix begründet ist. Ich beschreibe das Problem der Vorhersage von Kantenvorzeichen spektral, und führe die vorzeichenbehaftete Widerstands-Distanz ein. Für bipartite und gerichtete Graphen führe ich den Sinus-Hyperbolicus-und ungeraden Neumann-Kernel ein, welche den Exponential- und den Neumann-Kernel für ungerichtete unipartite Graphen verallgemeinern. Ich zeige zudem, dass das Problem der gerichteten und bipartiten Kantenvorhersage verwandt sind, dadurch dass beide durch die Evolution der Singulärwertzerlegung gelöst werden können.
Ziel dieser Arbeit ist die Entwicklung von Verfahren zur realistischen augmentierten Bildsynthese auf Basis von 3D-Photo-Collections. 3D-Photo-Collections sind aus Einzelfotos automatisch erzeugte Repräsentationen einer realen Szene und geben diese als Menge von Bildern mit bekannten Kameraposen sowie einer groben punktbasierten Modellierung der Szenengeometrie wieder. Es wird eine fotorealistische augmentierte Bildsynthese von realen und virtuellen Anteilen in Echtzeit angestrebt, wobei die reale Szene durch 3DPhoto-Collections beschrieben wird. Um dieses Ziel zu erreichen, werden drei Problemfelder bearbeitet.
Da die Fotos unter Umständen in verschiedenen geräteabhängigen RGB Farbräumen liegen, ist eine Farbcharakterisierung der 3D-Photo-Collections notwendig, um korrekte, der menschlichen Wahrnehmung entsprechende Farbinformationen zu erhalten. Das hierzu entwickelte Verfahren transformiert alle Bilder automatisch in einen gemeinsamen Farbraum und vereinfacht so die Farbcharakterisierung von 3D-Photo-Collections.
Als Hauptproblem der augmentierten Bildsynthese muss die Umgebungsbeleuchtung der realen Szene bekannt sein, um eingefügte virtuelle Anteile konsistent zu den realen Anteilen zu beleuchten. Hierfür wurden zwei neue Verfahren zur Rekonstruktion der Umgebungsbeleuchtung aus den Bildern der 3D-Photo-Collection entwickelt.
Um eine Bildsynthese für beliebige Ansichten auf die Szene durchzuführen, wurde ein neues Verfahren zur bildbasierten Darstellung entwickelt, welches neue Ansichten auf die 3D-Photo-Collection unter direkter Verwendung der Punktwolke erzeugt. Dieser Ansatz erzeugt neue Ansichten in Echtzeit und erlaubt somit eine freie Navigation.
Insgesamt konnte mit den entwickelten Methoden gezeigt werden, dass 3D-Photo-Collections für Augmented-Reality eine geeignete Repräsentation von realen Anteilen sind und eine realistische Synthese mit virtuellen Anteilen durchgeführt werden kann.
Graph-based data formats are flexible in representing data. In particular semantic data models, where the schema is part of the data, gained traction and commercial success in recent years. Semantic data models are also the basis for the Semantic Web - a Web of data governed by open standards in which computer programs can freely access the provided data. This thesis is concerned with the correctness of programs that access semantic data. While the flexibility of semantic data models is one of their biggest strengths, it can easily lead to programmers accidentally not accounting for unintuitive edge cases. Often, such exceptions surface during program execution as run-time errors or unintended side-effects. Depending on the exact condition, a program may run for a long time before the error occurs and the program crashes.
This thesis defines type systems that can detect and avoid such run-time errors based on schema languages available for the Semantic Web. In particular, this thesis uses the Web Ontology Language (OWL) and its theoretic underpinnings, i.e., description logics, as well as the Shapes Constraint Language (SHACL) to define type systems that provide type-safe data access to semantic data graphs. Providing a safe type system is an established methodology for proving the absence of run-time errors in programs without requiring execution. Both schema languages are based on possible world semantics but differ in the treatment of incomplete knowledge. While OWL allows for modelling incomplete knowledge through an open-world semantics, SHACL relies on a fixed domain and closed-world semantics. We provide the formal underpinnings for type systems based on each of the two schema languages. In particular, we base our notion of types on sets of values which allows us to specify a subtype relation based on subset semantics. In case of description logics, subsumption is a routine problem. For
the type system based on SHACL, we are able to translate it into a description
logic subsumption problem.