749 research outputs found

    Aufbereitung von Shapeanalyseausgaben zur Visualisierung der abstrakten Programmausführung

    Get PDF
    Diese Arbeit behandelt einen Ansatz zur Algorithmenvisualisierung von zeigerbasierten Programmen. Während traditionell die Programmausführung für konkrete Daten visualisiert wird, stützt sich dieser Ansatz auf die abstrakte Programmausführung. Dazu wird vorab mittels Shapeanalyse, einer auf Logik basierenden parametrischen statischen Programmanalysetechnik, eine Beschreibung der an den Programmpunkten auftretenden abstrakten Heapstrukturen berechnet. Diese Shapegraphenmengen sind jedoch in der Regel für eine direkte Visualisierung zu groß. Ein zentrales Thema dieser Arbeit ist die Entwicklung von Methoden, die Analyseausgabe vor der eigentlichen Visualisierung aufzubereiten. Sie führen sowohl zu einer Reduktion der Komplexität als auch zu einer gesteigerten Wirksamkeit der Visualisierung. Im Vordergrund stehen Methoden zur Strukturierung der Analyseausgabe. Ein Ähnlichkeitskonzept gestattet es, bezüglich verschiedener parametrischer Ähnlichkeitsbegriffe zu abstrahieren. Auf diese Weise werden ähnliche Heapstrukturen und ähnliche Programmausführungen identiziert und zusammengefasst. Mit gleicher Absicht wird ein Konzept zur Ausnutzung von Symmetrie eingeführt. Ergänzend werden Methoden vorgestellt, welche die in einer Menge von Shapegraphen enthaltenen Informationen verdichten. Zu den darüber hinaus behandelten Themen gehören Methoden, die Hilfestellungen bei der Traversierung durch die abstrakte Programmausführung bieten.This work presents an approach to algorithm visualisation of pointer based programs. While traditionally the execution of a program is visualised for concrete data, our approach is based on abstract program execution. Using shape analysis, which is a logic based parametric static program analysis technique, a description of the abstract heap situations that can occur at each program point is computed in advance. However, the resulting sets of shape graphs are generally too large to be visualised directly. A central topic of this work is the development of methods for preparing the analysis output before the actual visualisation. This results in complexity reduction as well as in increased efficiency with respect to visualisation. The focus lies on methods for structuring the analysis output. A similarity concept allows abstraction with respect to various parametric similarity notions. This way similar heap structures and similar execution paths are identied and summarised. With the same purpose in mind, a concept of taking advantage of symmetry is introduced. Additionally, methods are presented that condense the information contained in sets of shape graphs. Further topics include methods that assist in the traversal of the abstract program execution

    Neuere Entwicklungen der deklarativen KI-Programmierung : proceedings

    Get PDF
    The field of declarative AI programming is briefly characterized. Its recent developments in Germany are reflected by a workshop as part of the scientific congress KI-93 at the Berlin Humboldt University. Three tutorials introduce to the state of the art in deductive databases, the programming language Gödel, and the evolution of knowledge bases. Eleven contributed papers treat knowledge revision/program transformation, types, constraints, and type-constraint combinations

    Analytische Maschinen

    Get PDF
    In dieser Arbeit präsentieren wir einige Resultate über analytische Maschinen hinsichtlich des Berechenbarkeitsbegriffs über Q und R, der Lösungen von Differentialgleichungen und des Stabilitätsproblems dynamischer Systeme. Wir erläutern zuerst das Maschinenmodell, das eine Art von BLUM-SHUB-SMALE Maschine darstellt, erweitert um unendliche, konvergente Berechnungen. Danach vergleichen wir die Mächtigkeit dieses Berechnungsmodells über den Körpern Q und R und zeigen z.B., daß endliche Berechnungen mit reellen Zahlen durch unendliche, konvergente Berechnungen mit rationalen Zahlen simuliert werden können, wobei die Genauigkeit der Approximation während des Prozesses nicht bekannt ist. Analytische Berechnungen über R sind echt mächtiger als über Q. Unsere Aufmerksamkeit wendet sich dann gewöhnlichen Differentialgleichungen (DGl) zu, bei denen wir hinreichende Kriterien für die Berechenbarkeit von Lösungen innerhalb unseres Modells angeben. Schließlich untersuchen wir dynamische Systeme, die durch DGl beschrieben werden, und zeigen die Unentscheidbarkeit einer Klasse von Stabilitätsproblemen für dynamische Systeme.In this thesis we present some results about analytic machines regarding computability over Q and R, solutions of differential equations, and the stability problem of dynamical systems. We first explain the machine model, which is a kind of BLUM-SHUB-SMALE machine enhanced by infinite convergent computations. Next, we compare the computational power of such machines over the fields Q and R showing e.g. that finite computations with real numbers can be simulated by infinite converging computations on rational numbers, but the precision of the approximation is not known during the process. Analytic computations over R are strictly more powerful than over Q. Our attention is then shifted to ordinary differential equations (ODEs) where we establish sufficient criteria for the computability of their solutions within our model. We investigate dynamical systems described by ODEs and show the undecidability of a class of stability problems for dynamical systems

    Kompression von DNA Sequenzen

    Get PDF
    Standardkompressionsverfahren erreichen bei Texten, die Programmkode oder menschliche Sprache enthalten, sehr hohe Kompressionsraten. DNA Sequenzen weisen eine lineare Basenabfolge auf und können daher auch als Texte betrachtet werden. Allerdings gelingt es den Standardkompressoren in den meisten Fällen nicht, DNA Sequenzen zu komprimieren. Selbst wenn sich eine DNA Sequenz komprimieren läßt, ist die Kompressionsrate äußerst gering. Es gibt zwei mögliche Erklärungen für diese Beobachtung. Entweder sind DNA Sequenzen generell nicht komprimierbar oder die bisherigen Kompressoren sind dazu nicht in der Lage. In dieser Diplomarbeit soll diese Frage untersucht werden. Dabei wird sich herausstellen, daß sich auch DNA Sequenzen komprimieren lassen, wenn ein Kompressor charakteristische Eigenschaften ausnutzt. Es werden wesentliche Unterschiede von menschlicher Sprache zu DNA Sequenzen erläutert und DNA spezifische Kompressionsverfahren vorgestellt. Kompression läßt sich nicht nur zur Reduktion des benötigten Speichers verwenden, sondern es gibt eine Vielzahl an Anwendungsgebieten, wo Kompressionsverfahren in der Biologie eingesetzt werden können. So lassen sich phylogenetische Bäume mit Hilfe von Kompressionsverfahren aus genetischen Daten rekonstruieren. Auch zur Charakterisierung von unterschiedlichen Regionen im Genom kann ein Kompressor verwendet werden. Im zweiten Teil der Arbeit wird auf diese Gebiete näher eingegangen. Dabei werden praktische Versuche durchgeführt, um Nutzen und Anwendbarkeit genauer zu untersuchen, aber auch um Grenzen der Methoden aufzuzeigen

    Adaptive relaxation for stabilisation and acceleration of partitioned multiphysics analysis

    Get PDF
    Grundlegende Implementierungsansätze partitionierter Multiphysiksimulationen erfordern zumeist aufwändige, iterative Berechnungen, um die Aussagekraft der Analysen zu gewährleisten. In vielen Anwendungsbereichen lassen sich diese Analysen daher nicht rentabel durchführen. In der vorliegenden Arbeit wird ein Prinzip zur adaptiven Relaxation aufbauend auf der klassischen Schwingungslehre entwickelt, um den genannten Aufwand signifikant zu reduzieren. Es werden keine Informationen über die Eigenschaften der Gleichungssysteme benötigt, wodurch das Verfahren auch in der Kopplung von Black-Box-Programmen eingesetzt werden kann, die keine speziellen Schnittstellen außer der Ein- und Ausgabe von Rand- und Ergebniswerten im ASCII-Format bieten. Es ist nicht auf Benutzereinstellungen angewiesen, da es selbstständig problemadaptive Relaxationsparameter bestimmt. In den durchgeführten Untersuchungen zeigten sich analog zu der Auslegung des Relaxationsprinzips keine Einschränkungen auf spezielle Problemstellungen. Durch die geringe Anzahl an durchzuführenden Berechnungsoperationen wird die behandelbare Modellgröße nicht beschränkt. Aufbauend auf dem erarbeiteten Prinzip werden drei unterschiedliche Algorithmen entwickelt. Durch die Durchführung und Auswertung umfassender Parameterstudien an Testmodellen erfolgt deren Kalibrierung und Bewertung. Die Effizienz des Verfahrens wird anhand von praxisrelevanten, gekoppelten Problemstellungen im Bereich der Fluid-Struktur-Interaktion sowie einer Frequenzgang- und Reaktionsmomentanalyse an Modellen eines Wärmetauschers sowie des Abgastraktes eines turboaufgeladenen Verbrennungsmotors verifiziert. Der Berechnungsverlauf zwischen unstabilisierter und stabilisierter Berechnung wird vergleichend gegenüber gestellt. Die Ergebnisse, in denen die erforderlichen Kopplungsiterationen um 50 bis 60% im Vergleich zur unstabilisiert gekoppelten Berechnung gesenkt werden konnten, belegen den erreichbaren Effizienzgewinn. Im praktischen Einsatz lässt sich somit der Aufwand von Multiphysikanalysen deutlich reduzieren. Durch die signifikante Senkung des notwendigen Zeit- und Kostenaufwandes lassen sich diese deutlich wirtschaftlicher durchführen. Auch die Ausweitung der gekoppelten Simulation in Anwendungsbereiche, in denen diese aufgrund der Rentabilität bisher nicht durchgeführt wurden, wird damit möglich.Implementations of partitioned multiphysics simulations require in general expensive, iterative simulations to be able to provide dependable results. This causes this simulation method to be too expensive in many cases. The work carried out in this thesis proposes a method that is based on the classical theory of oscillations to reduce the arising effort significantly by adaptive relaxation. The method doesn't require any information about the involved equations what even allows for application in coupled simulations between black-box-programs which have no special interfaces except reading and writing boundary-conditions in any ASCII format. It does not have the need for user settings as it automatically calculates problem specific relaxation factors. The conducted simulations meet the target of the method's design as they didn't show any limitations on specific types of problems. Furthermore there is no limitation of maximum model sizes as only few calculations have to be carried out for the adaptive relaxation.\\ Three different algorithms are created based on the developed principle. Extensive parameter studies are employed for the calibration and evaluation of the three algorithms. Verification simulations of the vibration behavior of a exhaust tract with build-in turbochargers as well as a thermal fluid-structure interaction in the simulation of a counter flow heat exchanger demonstrate the efficiency of the developed method. The comparison of the simulations with and without use of the developed algorithm reveals a decrease of the numerical cost by 50 to 60%. The developed method reduces the additional effort needed for coupled simulations compared to single physics simulations significantly. Therefore partitioned multiphysics simulation can be extended to fields of application where such analyses have been too expensive before

    Homunkulismus in den Kognitionswissenschaften

    Get PDF
    1. Was ist ein Homunkulus-Fehlschluß? 2. Analyse des Mentalen und Naturalisierung der Intentionalität 3. Homunkulismus in Theorien der visuellen Wahrnehmung 4. Homunkulismus und Repräsentationalismus 5. Der homunkulare Funktionalismus 6. Philosophische Sinnkritik und empirische Wissenschaft Literatu

    Fairneß, Randomisierung und Konspiration in verteilten Algorithmen

    Get PDF
    Fairneß (d.h. faire Konfliktlösung), Randomisierung (d.h. Münzwürfe) und partielle Synchronie sind verschiedene Konzepte, die häufig zur Lösung zentraler Synchronisations- und Koordinationsprobleme in verteilten Systemen verwendet werden. Beispiele für solche Probleme sind das Problem des wechselseitigen Ausschlusses (kurz: Mutex-Problem) sowie das Konsens-Problem. Für einige solcher Probleme wurde bewiesen, daß ohne die oben genannten Konzepte keine Lösung für das betrachtete Problem existiert. Unmöglichkeitsresultate dieser Art verbessern unser Verständnis der Wirkungsweise verteilter Algorithmen sowie das Verständnis des Trade-offs zwischen einem leicht analysierbaren und einem ausdrucksstarken Modell für verteiltes Rechnen. In dieser Arbeit stellen wir zwei neue Unmöglichkeitsresultate vor. Darüberhinaus beleuchten wir ihre Hintergründe. Wir betrachten dabei Modelle, die Randomisierung einbeziehen, da bisher wenig über die Grenzen der Ausdrucksstärke von Randomisierung bekannt ist. Mit einer Lösung eines Problems durch Randomisierung meinen wir, daß das betrachtete Problem mit Wahrscheinlichkeit 1 gelöst wird. Im ersten Teil der Arbeit untersuchen wir die Beziehung von Fairneß und Randomisierung. Einerseits ist bekannt, daß einige Probleme (z.B. das Konsens- Problem) durch Randomisierung nicht aber durch Fairneß lösbar sind. Wir zeigen nun, daß es andererseits auch Probleme gibt (nämlich das Mutex-Problem), die durch Fairneß, nicht aber durch Randomisierung lösbar sind. Daraus folgt, daß Fairneß nicht durch Randomisierung implementiert werden kann. Im zweiten Teil der Arbeit verwenden wir ein Modell, das Fairneß und Randomisierung vereint. Ein solches Modell ist relativ ausdrucksstark: Es erlaubt Lösungen für das Mutex-Problem, das Konsens-Problem, sowie eine Lösung für das allgemeine Mutex-Problem. Beim allgemeinen Mutex-Problem (auch bekannt als Problem der speisenden Philosophen) ist eine Nachbarschaftsrelation auf den Agenten gegeben und ein Algorithmus gesucht, der das Mutex-Problem für jedes Paar von Nachbarn simultan löst. Schließlich betrachten wir das ausfalltolerante allgemeine Mutex-Problem -- eine Variante des allgemeinen Mutex-Problems, bei der Agenten ausfallen können. Wir zeigen, daß sogar die Verbindung von Fairneß und Randomisierung nicht genügt, um eine Lösung für das ausfalltolerante allgemeine Mutex-Problem zu konstruieren. Ein Hintergrund für dieses Unmöglichkeitsresultat ist ein unerwünschtes Phänomen, für das in der Literatur der Begriff Konspiration geprägt wurde. Konspiration wurde bisher nicht adäquat charakterisiert. Wir charakterisieren Konspiration auf der Grundlage nicht-sequentieller Abläufe. Desweiteren zeigen wir, daß Konspiration für eine große Klasse von Systemen durch die zusätzliche Annahme von partieller Synchronie verhindert werden kann, d.h. ein konspirationsbehaftetes System kann zu einem randomisierten System verfeinert werden, das unter Fairneß und partieller Synchronie mit Wahrscheinlichkeit 1 konspirationsfrei ist. Partielle Synchronie fordert, daß alle relativen Geschwindigkeiten im System durch eine Konstante beschränkt sind, die jedoch den Agenten nicht bekannt ist. Die Darstellung der Unmöglichkeitsresultate und die Charakterisierung von Konspiration wird erst durch die Verwendung nicht-sequentieller Abläufe möglich. Ein nicht-sequentieller Ablauf repräsentiert im Gegensatz zu einem sequentiellen Ablauf kausale Ordnung und nicht zeitliche Ordnung von Ereignissen. Wir entwickeln in dieser Arbeit eine nicht-sequentielle Semantik für randomisierte verteilte Algorithmen, da es bisher keine in der Literatur gibt. In dieser Semantik wird kausale Unabhängigkeit durch stochastische Unabhängigkeit widergespiegelt.Concepts such as fairness (i.e., fair conflict resolution), randomization (i.e., coin flips), and partial synchrony are frequently used to solve fundamental synchronization- and coordination-problems in distributed systems such as the mutual exclusion problem (mutex problem for short) and the consensus problem. For some problems it is proven that, without such concepts, no solution to the particular problem exists. Impossibilty results of that kind improve our understanding of the way distributed algorithms work. They also improve our understanding of the trade-off between a tractable model and a powerful model of distributed computation. In this thesis, we prove two new impossibility results and we investigate their reasons. We are in particular concerned with models for randomized distributed algorithms since little is yet known about the limitations of randomization with respect to the solvability of problems in distributed systems. By a solution through randomization we mean that the problem under consideration is solved with probability 1. In the first part of the thesis, we investigate the relationship between fairness and randomization. On the one hand, it is known that to some problems (e.g. to the consensus problem), randomization admits a solution where fairness does not admit a solution. On the other hand, we show that there are problems (viz. the mutex problem) to which randomization does not admit a solution where fairness does admit a solution. These results imply that fairness cannot be implemented by coin flips. In the second part of the thesis, we consider a model which combines fairness and randomization. Such a model is quite powerful, allowing solutions to the mutex problem, the consensus problem, and a solution to the generalized mutex problem. In the generalized mutex problem (a.k.a. the dining philosophers problem), a neighborhood relation is given and mutual exclusion must be achieved for each pair of neighbors. We finally consider the crash-tolerant generalized mutex problem where every hungry agent eventually becomes critical provided that neither itself nor one of its neighbors crashes. We prove that even the combination of fairness and randomization does not admit a solution to the crash-tolerant generalized mutex problem. We argue that the reason for this impossibility is the inherent occurrence of an undesirable phenomenon known as conspiracy. Conspiracy was not yet properly characterized. We characterize conspiracy on the basis of non-sequential runs, and we show that conspiracy can be prevented by help of the additional assumption of partial synchrony, i.e., we show that every conspiracy-prone system can be refined to a randomized system which is, with probability 1, conspiracy-free under the assumptions of partial synchrony and fairness. Partial synchrony means that each event consumes a bounded amount of time where, however, the bound is not known. We use a non-sequential semantics for distributed algorithms which is essential to some parts of the thesis. In particular, we develop a non-sequential semantics for randomized distributed algorithms since there is no such semantics in the literature. In this non-sequential semantics, causal independence is reflected by stochastic independence

    Klassifikation und Bewertung von Frameworks für die Entwicklung von Web-Anwendungen

    Get PDF
    Die Anzahl von Frameworks zur Erstellung von Web-basierten Anwendungen im Umfeld von Java und J2EE ist inzwischen kaum noch zu überschauen. Regelmäßig kommen neue Frameworks hinzu. Dabei unterscheiden sich diese Frameworks nicht nur auf Ebene von Detaileigenschaften, technischen Qualitäten oder Anwendungsschwerpunkten \u96 es werden auch äußerst unterschiedliche Grundkonzepte verwendet. Ziel dieser Arbeit ist es, aufbauend auf diesen unterschiedlichen Grundkonzepten, eine Klassifikation zu entwickeln, in welche sich jedes beliebige Web-Framework einordnen lässt. Danach werden die wichtigsten Frameworks aus dem Open-Source-Bereich vorgestellt und in die zuvor entwickelte Klassifikation eingeordnet. Im anschließenden praktischen Teil wird eine kleine Web-Anwendung prototypisch mit Hilfe ausgewählter Vertreter verschiedener Klassifikationskategorien implementiert, um diese zu vergleichen und zu bewerten. Ziel ist es, Auswahlrichtlinien für die verschiedenen Kategorien von Web-Frameworks abzuleiten und so die Framework-Auswahl zu unterstützen
    corecore