314 research outputs found

    Eine Basis für effiziente Konsistenzprüfung

    Get PDF
    In diesem Bericht wird eine Uebersetzungstechnik fuer effiziente Konsistenztests in Datenbanken vorgestellt. Waehrend die meisten Arbeiten auf dem Gebiet der Konsistenzpruefung eine Interpretation der vereinfachten Konsistenzbedingungen zur Laufzeit durchfuehren, wird hier eine Uebersetzungstechnik verwendet, welche deklarativ beschriebene Konsistenzbedingungen in eine erweiterte relationale Algebra uebersetzt. Da fuer die Uebersetzung der Konsistenzbedingungen in eine algebraische Darstellung zahlreiche Moeglichkeiten existieren, ist eine Optimierung, beispielsweise durch Ausnutzung statistischen Wissens, moeglich. Ein weiterer Vorteil des Ansatzes ergibt sich aus den Erweiterungen der Algebra. Typische algebraische Operatoren haben zwei Eingabemengen und nur eine Ausgabemenge. Werden dagegen mehr als eine Ausgabemenge und mehr als zwei Eingabemengen zugelassen, verbessern sich die Kommunikations- und Ausdrucksfaehigkeiten der Operatoren.Die Verwendung dieser als Bypass-Technik bezeichneten Methode ermoeglicht einerseits schnelle Konsistenztests zur Laufzeit und bildet andererseits die Basis fuer eine weitere Effizienzsteigerung durch bessere grobkoernige Parallelisierung der resultierenden algebraischen Ausdruecke. Anhand eines Kostenmodells und mittels Messungen auf einer Hauptspeicherdatenbank werden die Vorteile der Bypass-Technik gezeigt

    Grundlagen für die formale Spezifikation modularer zustandsbasierter Systeme

    Get PDF
    Diese Arbeit stellt Konzepte vor, die im Kontext zustands- oder objektbasierter Systeme die gemeinsame Behandlung von Implementierungssprachen und Spezifikationssprachen gestatten. Sie befaßt sich zum einen mit der formalen Definition einer Programmiersprache und zum anderen mit dem Entwurf einer Spezifikationssprache, die auf die Programmiersprache ausgerichtet ist. Abhängigkeiten zwischen diesen beiden Aspekten werden herausgearbeitet. Die Definition beider Sprachen erfolgt auf einem eigenständigen Berechnungsmodell, einer formal definierten abstrakten Maschine, zur Modellierung des Verhaltens von Objekten. Erweiterungen des Berechnungsmodells, die Rekursion, Verschachtelung von Programmeinheiten oder Typfragen betreffen, werden vorgestellt. Zur Spezifikation zustandsbasierter Systeme wird dynamische Logik, eine Erweiterung einer Prädikatenlogik erster Stufe, die Zustände explizit macht, eingesetzt. Mit Hilfe der dynamischen Logik kann das Verhalten von Objekten abstrakt beschrieben werden. Ein Beweissystem für die Logik wird definiert, mit dem auch die Verifikation einer Implementierung bezüglich einer Spezifikation möglich ist. Hierzu wird ein Korrektheitsbegriff definiert, der durch das Beweissystem operationalisiert wird. Zur Beschreibung von modularen Software-Systemen werden formale Parametrisierungs- und Schnittstellenkonzepte erarbeitet. Eine Reihe von Relationen wird definiert, die es ermöglichen, verschiedene Beziehungen zwischen Systemkomponenten zu modellieren. Horizontale und vertikale Entwicklung wird betrachtet

    Algebraische Spezifikation und Modellierung in Höheren Petri-Netzen mit zustandsabhängiger Schaltregel

    Get PDF

    Test-sets und Termersetzungen für die Generierung rekursiv definierter Algorithmen aus Existenzaussagen

    Get PDF
    In dieser Arbeit wurde ein Verfahren vorgestellt, mit dem man rekursiv definierte Algorithmen aus Gueltigkeitsbeweisen von Existenzformeln extrahieren kann.Das Verfahren beschränkt sich auf einen einfachen Formalismus und basiert auf Test-sets und einem Vereinfachungsmechanismus.Termersetzungen und logische Simplifikationen bilden den Kern dieses Vereinfachungsmechanismus, waehrend Test-sets eine Beschreibung des initialen Modells einer Axiommenge darstellen.In this thesis we presented a method for extracting recursive defined algorithms from existentially quantified formulas, being based on a simple formalism, test sets and a simplification strategy.Term rewriting and logical simplification represent the core of that simplification strategy and test sets the description of the initial model of a set of axioms

    Test-sets und Termersetzungen für die Generierung rekursiv definierter Algorithmen aus Existenzaussagen

    Get PDF
    In dieser Arbeit wurde ein Verfahren vorgestellt, mit dem man rekursiv definierte Algorithmen aus Gueltigkeitsbeweisen von Existenzformeln extrahieren kann.Das Verfahren beschränkt sich auf einen einfachen Formalismus und basiert auf Test-sets und einem Vereinfachungsmechanismus.Termersetzungen und logische Simplifikationen bilden den Kern dieses Vereinfachungsmechanismus, waehrend Test-sets eine Beschreibung des initialen Modells einer Axiommenge darstellen.In this thesis we presented a method for extracting recursive defined algorithms from existentially quantified formulas, being based on a simple formalism, test sets and a simplification strategy.Term rewriting and logical simplification represent the core of that simplification strategy and test sets the description of the initial model of a set of axioms

    Ein Konzept auf der Basis von Ontologien und Petri-Netzen

    Get PDF
    In der Dissertation wird das Themenfeld der Modellierung kooperativer Informationssysteme behandelt. Zu diesem Zweck wird ein Ansatz für die Modellierung kooperativer Informationssysteme entwickelt, der zum einen auf Ontologien und zum anderen auf Petri-Netzen basiert. Beide Konzepte werden vom Verfasser zu so genannten „Ontologie-Netzen“ zusammengeführt. Seit einigen Jahren werden Ontologien in unterschiedlichsten Wissenschaftsdisziplinen untersucht. Das Interesse an Ontologie ist nicht zuletzt auf die jüngsten Entwicklungen im Bereich des Semantic Web zurückzuführen. Auch über webbasierte Applikationen hinaus werden Ontologien in Szenarien untersucht, in denen Akteure mit unterschiedlichen Sprach- und Wissenshintergründen in Kommunikation miteinander treten. Während nämlich traditionelle Modellierungsmethoden lediglich die Ex-Ante Vorgabe eines Begriffsystems unterstützen, können mit Ontologien darüber hinaus auch Ex-Post Harmonisierungen unterschiedlicher Begriffswelten angestrebt werden. Darüber hinaus verfügen Ontologien in der Regel über eine Inferenzkomponente, die die Erschließung von „implizitem“ Wissen erlaubt. Die abstrakte Spezifikation regelartiger Zusammenhänge in einer Ontologie kann somit bei konkreter Anwendung in einer Domäne zur Explikation von Fakten führen, die ansonsten nicht berücksichtigt werden könnten. Aus dem Blickwinkel der Wirtschaftswissenschaften haben Ontologien eine besondere Bedeutung aufgrund ihres Leistungspotenzials für Zwecke der Unternehmensmodellierung. Insbesondere für Organisationsformen, die unter das Spektrum zwischenbetrieblicher Kooperationen fallen, könnten sich Ontologien als effektivitäts- und effizienzsteigernde Methoden der Unternehmensmodellierung erweisen. Es sind nämlich gerade Organisationsformen, an denen Akteure aus unterschiedlichen Hintergründen für Zwecke der gemeinschaftlichen Leistungserstellung zusammenkommen, bei denen sich bestehende Sprachbarrieren negativ auf die Geschäftsprozesse auswirken. Darüber hinaus erlauben Ontologien mit ihrer Inferenzkomponente die formale Spezifikation von „Business Rules“ die bei der gemeinschaftlichen Leistungserstellung zu gelten haben. Ontologien beschränken sich allerdings auf die rein statischen Aspekte, da sie nur für die Repräsentation deklarativen Wissens verwendet werden können. Daher haben Ontologien auch nur eine deklarative Semantik. Sie äußert sich z.B. darin, dass die Reihenfolge der (Teil-)Spezifikationen für ihre Bedeutung irrelevant ist. Dadurch kann immer nur ein bestimmter Zustand der Realität modelliert werden. Von Methoden zur Modellierung zwischenbetrieblicher Kooperationen wird allerdings vermehrt gefordert, sowohl statische als auch dynamische Aspekte erfassen zu können. Unter dem Paradigma der „Geschäftsprozessorientierung“ haben sich daher vermehrt solche Methoden durchgesetzt, die sowohl statische als auch dynamische Aspekte der Realität zu Erfassen in der Lage sind. Mit dem integrativen Modellierungskonzept wird in der vorliegenden Arbeit ein Ansatz vorgestellt, der es erlaubt, Ontologien um dynamische Aspekte zu erweitern. Hierzu werden Ontologien in eine Klasse höherer Petri-Netze eingebunden. Letztgenannte haben sich nämlich in der Vergangenheit bei der Ausweitung formaler Spezifikationen um dynamische Aspekte als äußerst fruchtbar erwiesen. Dabei wird die Kompatibilität der beiden Ansätze über ihre gemeinsame prädikatenlogische Basis gewährleistet. Darüber hinaus erfreuen sich Petri-Netze sowohl in theoretischen Ausarbeitungen als auch in praktischen Umsetzungen einer hohen Beliebtheit. Die noch relativ jungen Forschungsarbeiten zu Ontologien könnten durch einen solchen Ansatz in ihrer Akzeptanzrate erhöht werden

    Primitive recursion on the partial continuous functionals

    Get PDF

    Primitive recursion on the partial continuous functionals

    Get PDF

    Analysing equivalence of expressions in a non-strict functional programming language

    Get PDF
    Gegenstand der Arbeit ist ein Gleichheitskalkül für den Kern einer nicht-strikten funktionalen Programmiersprache. Funktionale Programmiersprachen unterstützen bestens die Prinzipien Abstraktion, Einkapselung, Hierarchiesierung und Modularisierung, die gemeinhin als Grundelemente des Software-Engineering betrachtet werden. Darüber hinaus bieten funktionale Programmiersprachen aufgrund ihrer Entwicklung aus dem Lambda-Kalkül eine große Nähe zu mathematischen Modellen. Daher besitzen sie im Bereich der Programmverifikation ausgeprägte Vorteile gegenüber imperativen oder objekt-orientierten Programmiersprachen. In der Arbeit wird nun ein Gleichheitsbegriff für Ausdrücke in funktionalen Programmiersprachen entwickelt und dessen Praktikabilität durch die Implementierung eines Beweisers untermauert. Dieser Gleichheitsbegriff ist die kontextuelle Gleichheit, die Ausdrücke aufgrund ihres Terminierungsverhaltens als Unterprogramme in allen möglichen Kontexten einordnet. Kontextuelle Gleichheit wird in Kapitel 2 vorgestellt, nachdem der klassische und der sogenannte "lazy" Lambda-Kalkül eingeführt wurden. Kapitel 3 enthält einen Überblick über die funktionale Programmierung, da auch die Implementierung des o.g. Beweisers in einer funktionalen Programmiersprache, nämlich Haskell, durchgeführt wird. In Kapitel 4 wird die funktionale Kernsprache, die Gegenstand der Untersuchung sein wird, beschrieben. Sie enthält alle wesentlichen Elemente wie z.B. Funktionsdefinition und -anwendung sowie Datentypen. Im selben Kapitel wird auch der Gleichheitsbegriff für diese Kernsprache definiert. Kapitel 5 schließlich entwickelt auf Basis der zuvor erfolgten Definitionen einen Kalkül für den Gleichheitsbeweis. Außerdem wird in diesem Kapitel auch die Umsetzung dieses Gleichheitskalküls präsentiert. Aus der Dissertation von Marko Schütz werden hierbei Erkenntnisse über die Kontextanalyse verwendet, um erfüllende Belegungen von freien Variablen zu berechnen. Die Arbeit schließt mit Beispielanalysen und Meßwerten sowie einer Diskussion der Ergebnisse und möglicher Erweiterungen
    corecore