Frame-Logik Eine Einführung Andreas Glausch.

Slides:



Advertisements
Ähnliche Präsentationen
Temporale Logiken: LTL und CTL
Advertisements

der Universität Oldenburg
Programmierung 1 - Repetitorium
Konzepte objektorientierter Systeme
Objektorientierte Datenbanken
5. Aussagenlogik und Schaltalgebra
Organisatorisches Klausur für Übungsschein (Anfang Januar)
8. Formale Sprachen und Grammatiken
Kapitel 4 Datenstrukturen
Syntax der Aussagenlogik
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Objektorientierung
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
Semantik von Prolog & Unifikation
Was ist ein kognitives System?
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Sebastian Grahn Sebastian Kühn
Imperative Programmierung Funktionen und Parameter
Beispiele für Ausdrucksalgebren
Eine (Gleichungs-)Spezifikation ist ein Paar SPEC = (, E),
Gleichungskalkül und Induktion
Fantasieregel Die Aussagenlogik
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Tutorium
Verknüpfen von Grundschaltungen zu komplexen Schaltungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
10. Vorlesung: Dynamische Konzepte
Einschub: Axiomatische Mengenlehre
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Die Grundterminologie
Geometrische Netze Erstellung.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Hartmut Klauck Universität Frankfurt WS 06/
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Wahrscheinlichkeitsrechnung
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Algorithmen und Datenstrukturen Übungsmodul 8
Objektorientierung.
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Boolesche Algebra Einführung in die Boolesche Algebra George Boole
Unified Modeling Language UML
7. Formale Sprachen und Grammatiken
Tupelkalkül: Notation (1)
1 Syntaktische Grundform selectA 1, A 2, …, A n fromR 1, R 2, …, R m wherebedingung w ;
Funktionale Unifikations-Grammatik (FUG)   Hauptmerkmale der FUG.
Funktionale Unifikations-Grammatik (FUG)  Hauptmerkmale der FUG.
Einführung in die Programmierung mit Java
Modellierung der Wirklichkeit
Unscharfe Anfragen in Multimedia- Datenbanksystemen Seminar Multimedia-Datenbanken WS 2001/2002 Silvana Runow.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
(Wirtschafts-)mathematik I Mathe im Wandel der Zeit Volksschule 1960: Ein Bauer verkauft einen Sack Kartoffeln für 50 DM. Die Erzeugerkosten betragen 40.
Lineare Gleichungen Allgemeine Einführung Äquivalenzumformungen
Abstrakte Klassen und das Interface-Konzept
Objektorientierte (OO) Programmierung
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Java Programme nur ein bisschen objektorientiert.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Logik in der Informatik II
Implementieren von Klassen
 Präsentation transkript:

Frame-Logik Eine Einführung Andreas Glausch

Gliederung Einführung Objekte und Terme Beziehungen zwischen Objekten Methoden, Signaturen F-Formeln Weitere Aspekte

Was ist Objektorientierung? ▶ Einführung Was ist Objektorientierung? Lose Sammlung von Konzepten (Vererbung, Objekt-Identitäten, ...) Exakte Semantik fehlt

▶ Einführung Was ist Frame-Logik? Gibt dem Begriff Objektorientierung eine exakte Semantik Stellt objektorientierte Systeme durch mathematisch definierte F-Strukturen dar Alle Begriffe (Objekte, Methoden, ...) erhalten eine exakte Definition

F-Struktur ▶ Objekte und Terme Eine F-Struktur besteht zunächst aus: Einer Menge von Objekten U, dem Universum Einer Menge von beliebigigstelligen Funktionssymbolen, den Objektkonstruktoren Zu jedem Objektkonstruktor eine Funktion der gleichen Stelligkeit mit Werte- und Definitionsbereich in U, die Interpretation des Objektkonstruktors Beispiele an der Tafel

ID-Terme ▶ Objekte und Terme Aus den Objektkonstruktoren werden ID-Terme gebildet. ID-Terme können mit Hilfe der Interpretationen in Objekte des Universums umgerechnet werden Dereferenzierung des ID-Terms Beispiele an der Tafel ID-Terme können Variablen enthalten.

Element-Klasse-Beziehung ▶ Objektbeziehungen Element-Klasse-Beziehung Klassen sind ebenfalls Objekte des Universums. Klassen können wieder Klassen besitzen Eine F-Struktur enthält deshalb zusätzlich: Eine binäre Relation ∈ über ihrem Universum, die Element-Klasse-Beziehung Dass das Objekt o ein Element der Klasse k ist (o ∈ k) wird syntaktisch durch die Formel O : K ausgedrückt, wobei O und K ID-Terme sind, die o und k referenzieren. Beispiele an der Tafel

Unterklassen-Beziehung ▶ Objektbeziehungen Unterklassen-Beziehung Eine F-Struktur enthält zusätzlich: Eine irreflexive Halbordnung ≺ über ihrem Universum, die Unterklassen-Beziehung Dass die Klasse u eine Unterklasse der Klasse k ist (u ≺ k) wird syntaktisch durch die Formel U :: K ausgedrückt, wobei U und K ID-Terme sind, die u und k referenzieren. Beispiele an der Tafel

▶ Methoden Methoden Methoden sind Funktionen, die als erstes Argument ein Objekt erhalten, ihren Kontext. Weitere Objekte können als Argumente folgen, die Parameter. Methoden berechnen aus ihrem Kontext und ihren Parametern ein Objekt des Universums als Ergebnis. Methoden sind Elemente des Universums, werden also über ID-Terme referenziert. Beispiele an der Tafel

Methoden spezifizieren Das die Methode m im Kontext des Objektes o mit Aufruf der Parameterobjekte p1, ..., pn das Objekt r zurückgibt, wird syntaktisch über die Formel O[M@P1, ..., Pn → R] ausgedrückt, wobei O, P1, ..., Pn, R die Objekte o, p1, ..., pn, r und M die Methode m referenziert. Beispiele an der Tafel

Signaturen von Methoden Schränken Parameter, mit denen eine Methode aufgerufen werden darf, auf Objekte bestimmter Klassen ein Schränken mögliche Ausgaben auf Objekte bestimmter Klassen ein Signaturen werden für eine Klasse definiert und sind Beschränkungen für die Methoden von Objekten der Klasse. Beispiele an der Tafel

Spezifikation von Signaturen ▶ Methoden Spezifikation von Signaturen Das die Methode m im Kontext des Objekten der Klasse k auf Objekte der Klassen p1, ..., pn ein Objekt der Klasse r zurückgibt, wird syntaktisch über die Formel K[M@P1, ..., Pn ⇒ R] ausgedrückt, wobei K, P1, ..., Pn, R die Klassen o, p1, ..., pn, r und M die Methode m referenziert. Beispiele an der Tafel

Molekulare Formeln ▶ F-Formeln Formeln der Form O:K, U::K, O[M@P1, ..., Pn → R], K[M@P1, ..., Pn ⇒ R] werden als molekulare Formeln bezeichnet. Die Gültigkeit einer molekularen Formel innerhalb einer F-Struktur kann bestimmt werden. Molekulare Formeln ergeben Wahrheitswert Beispiele an der Tafel

F-Formeln ▶ F-Formeln Jede molekulare Formel ist eine F-Formel. Die logische Negation einer F-Formeln ¬ ist eine F-Formel. Die logische Verknüpfung zweier F-Formeln durch ∧, ∨ ist eine F-Formel. Die Quantifizierung einer F-Formel durch ∀, ∃ ist eine F-Formel. Beispiele an der Tafel

▶ F-Formeln F-Formeln Die Gültigkeit einer F-Formel innerhalb einer F-Struktur kann bestimmt werden. F-Formeln ergeben Wahrheitswert Mit F-Formeln können komplexeste objektorientierte Systeme logisch spezifiziert werden Beispiele an der Tafel

Weitere Aspekte ▶ Weitere Aspekte Es existiert vollständige und korrekte Beweistheorie für die F-Logik Weitere Molekularformeln zur Methodenspezifikation existieren Kapselung, Modulbildung fehlt noch Dynamik eines objektorientierten Systems Beispiele an der Tafel