Institut für Informatik
Filtern
Erscheinungsjahr
Dokumenttyp
- Ausgabe (Heft) zu einer Zeitschrift (38)
- Dissertation (33)
- Diplomarbeit (24)
- Studienarbeit (19)
- Bachelorarbeit (14)
- Masterarbeit (14)
- Bericht (1)
Schlagworte
- Routing (5)
- Bluetooth (4)
- Knowledge Compilation (4)
- Netzwerk (4)
- Semantic Web (4)
- Software Engineering (4)
- VNUML (4)
- E-KRHyper (3)
- Netzwerksimulation (3)
- RIP-MTI (3)
Institut
The model evolution calculus
(2004)
The DPLL procedure is the basis of some of the most successful propositional satisfiability solvers to date. Although originally devised as a proof procedure for first-order logic, it has been used almost exclusively for propositional logic so far because of its highly inefficient treatment of quantifiers, based on instantiation into ground formulas. The recent FDPLL calculus by Baumgartner was the first successful attempt to lift the procedure to the first-order level without resorting to ground instantiations. FDPLL lifts to the first-order case the core of the DPLL procedure, the splitting rule, but ignores other aspects of the procedure that, although not necessary for completeness, are crucial for its effectiveness in practice. In this paper, we present a new calculus loosely based on FDPLL that lifts these aspects as well. In addition to being a more faithful litfing of the DPLL procedure, the new calculus contains a more systematic treatment of universal literals, one of FDPLL's optimizations, and so has the potential of leading to much faster implementations.
This volume contains those research papers presented at the Second International Conference on Tests and Proofs (TAP 2008) that were not included in the main conference proceedings. TAP was the second conference devoted to the convergence of proofs and tests. It combines ideas from both areas for the advancement of software quality. To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs; to test a program is to run it with the expectation of discovering bugs. On the surface, the two techniques seem contradictory: if you have proved your program, it is fruitless to comb it for bugs; and if you are testing it, that is surely a sign that you have given up on any hope of proving its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using rather different techniques and tools. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking has been one of the first signs that contradiction may yield to complementarity, but in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of their incompatibility and taking instead the best of what each of these software engineering domains has to offer. The first TAP conference (held at ETH Zurich in February 2007) was an attempt to provide a forum for the cross-fertilization of ideas and approaches from the testing and proving communities. For the 2008 edition we found the Monash University Prato Centre near Florence to be an ideal place providing a stimulating environment. We wish to sincerely thank all the authors who submitted their work for consideration. And we would like to thank the Program Committee members as well as additional referees for their great effort and professional work in the review and selection process. Their names are listed on the following pages. In addition to the contributed papers, the program included three excellent keynote talks. We are grateful to Michael Hennell (LDRA Ltd., Cheshire, UK), Orna Kupferman (Hebrew University, Israel), and Elaine Weyuker (AT&T Labs Inc., USA) for accepting the invitation to address the conference. Two very interesting tutorials were part of TAP 2008: "Parameterized Unit Testing with Pex" (J. de Halleux, N. Tillmann) and "Integrating Verification and Testing of Object-Oriented Software" (C. Engel, C. Gladisch, V. Klebanov, and P. Rümmer). We would like to express our thanks to the tutorial presenters for their contribution. It was a team effort that made the conference so successful. We are grateful to the Conference Chair and the Steering Committee members for their support. And we particularly thank Christoph Gladisch, Beate Körner, and Philipp Rümmer for their hard work and help in making the conference a success. In addition, we gratefully acknowledge the generous support of Microsoft Research Redmond, who financed an invited speaker.
One of the main goals of the artificial intelligence community is to create machines able to reason with dynamically changing knowledge. To achieve this goal, a multitude of different problems have to be solved, of which many have been addressed in the various sub-disciplines of artificial intelligence, like automated reasoning and machine learning. The thesis at hand focuses on the automated reasoning aspects of these problems and address two of the problems which have to be overcome to reach the afore-mentioned goal, namely 1. the fact that reasoning in logical knowledge bases is intractable and 2. the fact that applying changes to formalized knowledge can easily introduce inconsistencies, which leads to unwanted results in most scenarios.
To ease the intractability of logical reasoning, I suggest to adapt a technique called knowledge compilation, known from propositional logic, to description logic knowledge bases. The basic idea of this technique is to compile the given knowledge base into a normal form which allows to answer queries efficiently. This compilation step is very expensive but has to be performed only once and as soon as the result of this step is used to answer many queries, the expensive compilation step gets worthwhile. In the thesis at hand, I develop a normal form, called linkless normal form, suitable for knowledge compilation for description logic knowledge bases. From a computational point of view, the linkless normal form has very nice properties which are introduced in this thesis.
For the second problem, I focus on changes occurring on the instance level of description logic knowledge bases. I introduce three change operators interesting for these knowledge bases, namely deletion and insertion of assertions as well as repair of inconsistent instance bases. These change operators are defined such that in all three cases, the resulting knowledge base is ensured to be consistent and changes performed to the knowledge base are minimal. This allows us to preserve as much of the original knowledge base as possible. Furthermore, I show how these changes can be applied by using a transformation of the knowledge base.
For both issues I suggest to adapt techniques successfully used in other logics to get promising methods for description logic knowledge bases.
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.
Generalized methods for automated theorem proving can be used to compute formula transformations such as projection elimination and knowledge compilation. We present a framework based on clausal tableaux suited for such tasks. These tableaux are characterized independently of particular construction methods, but important features of empirically successful methods are taken into account, especially dependency directed backjumping and branch local operation. As an instance of that framework an adaption of DPLL is described. We show that knowledge compilation methods can be essentially improved by weaving projection elimination partially into the compilation phase.
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.
The E-KRHyper system is a model generator and theorem prover for first-order logic with equality. It implements the new E-hyper tableau calculus, which integrates a superposition-based handling of equality into the hyper tableau calculus. E-KRHyper extends our previous KRHyper system, which has been used in a number of applications in the field of knowledge representation. In contrast to most first order theorem provers, it supports features important for such applications, for example queries with predicate extensions as answers, handling of large sets of uniformly structured input facts, arithmetic evaluation and stratified negation as failure. It is our goal to extend the range of application possibilities of KRHyper by adding equality reasoning.
Ein Netzwerk, wie beispielsweise das Internet, ist eine Menge von Netzen, die durch Router miteinander verbunden sind. Ein Router ist ein Computer, der mit mehreren Netzwerkschnittstellen ausgerüstet und an mehrere Netze angeschlossen ist, um zwischen diesen Pakete zu vermitteln. Man kann ein Netzwerk auch als Graph repräsentieren, wobei Router als Knoten und Netze als Kanten angesehen werden können. Diesen Graph nennt man die Topologie des Netzwerks. Soll ein Paket in ein anderes Netz als das eigene gesendet werden, so wird es normalerweise dem sogenannten Default-Router gesendet. Dieser besitzt (wie jeder Router) eine Tabelle (die sogenannte Forwardingtabelle), die alle Netze enthält. Zusätzlich ist in der Tabelle der jeweilige Router eingetragen, über den das Netz am besten erreicht werden kann. So wird das Paket von einem Router zum nächsten geleitet, bis es das Zielnetz erreicht. Dabei schlägt jeder Router in seiner Tabelle nach, welches der nächste Router auf dem günstigsten Weg zum Zielnetz ist. Ein Routingprotokoll kümmert sich um den automatischen Austausch von Informationen zwischen den Routern, um die Forwardingtabelle aufzubauen und auf dem aktuellen Stand zu halten. Sind die Tabellen aller Router auf dem aktuellen Stand, so befindet sich das Netzwerk in einem konvergenten Zustand. Die Zeit, die benötigt wird, um die Forwardingtabelle aufzubauen beziehungsweise sie nach einer Änderung der Topologie zu aktualisieren, wird Konvergenzzeit genannt. Das Routingprotokoll RIP ist ein bekanntes und gut erforschtes Distanzvektor-Protokoll. Jedoch gibt es bisher nur wenige Untersuchungen der Konvergenzeigenschaften (wie z.B. benötigte Zeit, um in einen konvergenten Zustand zu gelangen, oder das dabei erzeugte Trafficvolumen) dieses Protokolls. Ziel der Arbeit ist es einen Zusammenhang zwischen den Topologieeigenschaften eines Netzwerks und den Konvergenzeigenschaften bei Verwendung des RIP-Routingprotokills experimentell zu ermitteln. Hierfür wurden über 5000 Einzelmessungen mit verschiedenen Topologien durchgeführt und statistisch ausgewertet. Aus den Ergebnissen wurden Formeln abgeleitet, mit deren Hilfe sich für ein beliebiges Netzwerk die Konvergenzeigenschaften anhand seiner Topologieeigenschaften approximieren lassen.
The term “Software Chrestomaty” is defined as a collection of software systems meant to be useful in learning about or gaining insight into software languages, software technologies, software concepts, programming, and software engineering. 101companies software chrestomathy is a community project with the attributes of a Research 2.0 infrastructure for various stakeholders in software languages and technology communities. The core of 101companies combines a semantic wiki and confederated open source repositories. We designed and developed an integrated ontology-based knowledge base about software languages and technologies. The knowledge is created by the community of contributors and supported with a running example and structured documentation. The complete ecosystem is exposed by using Linked Data principles and equipped with the additional metadata about individual artifacts. Within the context of software chrestomathy we explored a new type of software architecture – linguistic architecture that is targeted on the language and technology relationships within a software product and based on the megamodels. Our approach to documentation of the software systems is highly structured and makes use of the concepts of the newly developed megamodeling language MegaL. We “connect” an emerging ontology with the megamodeling artifacts to raise the cognitive value of the linguistic architecture.