Anomalien und andere folk lores

Ähnliche Dokumente
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Wie kann man die Korrektheit reaktiver Systeme gewährleisten?

Protokoll-Spezifikationen

Techniken der Projektentwicklungen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Endlicher Automat (EA)

Einführung in die Logik

Alphabet, formale Sprache

Interaktionsdiagramme in UML

Kapitel 2: Mathematische Grundlagen

Überblick. Modellbildung in der Entwicklung mit Schwerpunkt Architekturen Schnittstellen. Schnittstelle. Schnittstelle

Kapitel 2 Mathematische Grundlagen

Teil 7. Grundlagen Logik

Einführung in die Informatik I (autip)

Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen in SAL

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Mathematik für Ökonomen 1

WS 2009/10. Diskrete Strukturen

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Topologische Aspekte: Eine kurze Zusammenfassung

Ereignisdiskrete Systeme

4. Alternative Temporallogiken

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko

Konstruktion der reellen Zahlen

Einführung Grundbegriffe

Algorithmen und Datenstrukturen

Unified Modeling Language (UML )

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Vorlesung. Funktionen/Abbildungen

Kapitel 1. Grundlagen Mengen

Was bisher geschah: Formale Sprachen

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

19 Folgen. Grenzwerte. Stetigkeit

Kapitel 1. Grundlagen

Formale Sprachen und endliche Automaten

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Berichte aus der Medizinischen Informatik und Bioinformatik. Günther Schadow. Krankenhauskommunikation mit HL7

Künstliche Intelligenz

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Intuitionistische Lineare Logik

Logic in a Nutshell. Christian Liguda

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

Analysis I - Stetige Funktionen

Mengen, Funktionen und Logik

Herzlich willkommen!!!

Die Logik der Sprache PL

Kapitel 1. Aussagenlogik

3. Relationen Erläuterungen und Schreibweisen

Programmieren für Fortgeschrittene

Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln

Vorsemesterkurs Informatik

17 Lineare Abbildungen

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Theoretische Informatik Testvorbereitung Moritz Resl

Mengen. Eigenschaften. Spezielle Mengen (1) Prominente Mengen. ! Mengenzugehörigkeit

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Der probabilistische Ansatz

4 Messbare Funktionen

Induktive Definition

Grundbegriffe der Informatik

ANALYSIS I FÜR TPH WS 2016/17 1. Übung Übersicht

Sudoku. Warum 6? Warum 6?

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

A N A L Y S I S I F Ü R T P H, U E ( ) 1. Übungstest (FR, ) (mit Lösung )

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

1. Alphabete, Wörter, Sprachen

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

GTI. Hannes Diener. 18. Juni. ENC B-0123,

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

GÜNTHER ÖLSCHLÄGER 3.3 MEHRDEUTIGKEIT SPRACHLICHER AUSDRÜCKE

Übungen Softwaretechnik I

Zahlen und metrische Räume

Gliederung. Nebenläufigkeit und Fairness. 1. Nebenläufigkeit Lokalitätsprinzip. 2. Betrachtungsweisen von Nebenläufigkeit. 3.

Teil II. Wahrscheinlichkeitsrechnung

Einführung in die Informatik Turing Machines

Unternehmensmodellierung

Semantik von Programmiersprachen

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Die Spezifikationssprachen Z und VDM (cont.) Michael Hildebrandt

mathematische Grundlagen der Modelltheorie: Mengen, Relationen, Funktionen

Sprachen und Programmiersprachen

Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017

Kapitel L:II. II. Aussagenlogik

2. Algorithmenbegriff

Wima-Praktikum 2: Bildsynthese-Phong

Einführung in die mathematische Logik

Theorie der Informatik

4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik

Kapitel 4: Syntaxdiagramme und Grammatikregeln

Abschluss unter Operationen

Binäre Suchbäume (binary search trees, kurz: bst)

Formale Sprachen. Script, Kapitel 4. Grammatiken

Logik für Informatiker

Einführung in die Informatik 1

Lexikalische Analyse, Tokenizer, Scanner

Unified Modeling Language (UML)

Transkript:

Anomalien und andere folk lores Perlen der Weisheit Bernhard Schätz

Denotationelle Semantiken Grundlagen: Scott sche Bereichstheorie zur LCF Ansatz: System als mathematisches Objekt (Ein/Ausgabe) Definierte Schnittstelle (Funktion) : Werte Ohne Umgebungseinschränkung Komposition über Schnittstellen: Applikation Reaktive Systeme Mathematisches Objekt (Historien/Interaktionen) Definierte Schnittstelle: Interaktionen Ohne Umgebungseinschränkung (Enabled, Blocking) Komposition über Schnittstelle: Projektion Perlen der Weisheit - Kompositionalität 2

Asynchrone Systeme A A A A A A A Semantisches Paradigma: Kommunikation: Gerichtete Kanäle (Ein/Ausgabe unterscheidbar) Eingabevollständig (Eingabe nicht blockierbar) Modellierung: Atomare Interaktionen (Alphabet) Verhalten = Sequenzen von Interaktionen Klassische Modelle Spurmodelle (z.b. Dill) Funktionsmodelle (z.b. Kahn) Automatenmodelle (z.b. Lynch/Tuttle) Perlen der Weisheit - Kompositionalität 3

Synchrone Systeme a b c d a Semantisches Paradigma: Kommunikation: Über gemeinsame Ereignisse Zusätzlich: Blockierende Kommunikation Modellierung: Atomare Interaktionen (Alphabet) Verhalten = Sequenzen von Interaktionen Klassische Modelle Failuresets (z.b. Hoare) Readinesssets (z.b. Olderog) e b Perlen der Weisheit - Kompositionalität 4

Ausdrucksmächtigkeit Denotationelle Semantik: Beschreibung System durch math. Objekt Semantik = Abbildung Problem: Formal: Abbildung partiell? Intuitiv: Modell ausreichend mächtig? Konkret: Interessantes Objekt nicht im Modell (Modellaxiome) Kein Objekt für syntaktisches Konstrukt Perlen der Weisheit - Kompositionalität 5

Kompositionalität C C E C sat P C sat P? Sinn: Modularisierung des Entwurfs: Realisierung einer Komponente C mit Eigenschaft P Einbettung in beliebige Umgebung E Einbettung erhält Eigenschaft P Freedom of Interference: Eingebaut in Modell Perlen der Weisheit - Kompositionalität 6

Anomalie der Spursemantik Aufgabenstellung: Modellierung blockierender Systeme mittels vollständiger Spuren Konstruktion einer kompositionalen Semantik Definitionen: Vollständige Spuren: System = Menge aller Spuren des Systems Vollständig = keine weitere Aktion mehr möglich Kompositional: Systemverhalten aus Komponentenverhalten ableiten Komposition von Spurmengen Perlen der Weisheit - Kompositionalität 7

Anomalie der Spursemantik 2 Formale Modellierung Basisprozesse: STOP = { ε } P = a STOP: {a} Q = b STOP: {b} Modellierung Or-Nichtdeterminismus Informell: Auswahl eines Zweigs Formal: P Q = { a, b } Modellierung Choice-Nichtdeterminismus Informell: Auswahl eines inder Umgebung möglichst nichtblockierenden Zweigs Informell: P [] Q = { a, b } Perlen der Weisheit - Kompositionalität 8

Anomalie der Spursemantik 3 Parallelkomposition von Komponenten : X Y Informell: X und Y snchronisieren sich auf gemeinsamen Ereignissen Formal (gewünscht): (P Q) P = {a, ε} = P STOP (P [] Q) P = {a} = P Beobachtung: P Q und P [] Q im Modell nicht unterscheidbar P Q und P [] Q parallelkomponiert mit P im Modell unterscheidbar Perlen der Weisheit - Kompositionalität 9

Anomalie der Spursemantik Fazit Resultat: Es gibt keine kompositionale Semantik synchroner Systeme basierend auf vollständigen Spuren Interpretation: Problem: Unterscheidung Nichtdeterminismus Blockierung abhängig vom Umgebungsverhalten Blockierung abhängig von partiellen Ablauf Lösung: Verwendung operationeller Semantiken Verwendung Failure/Readiness Semantik Perlen der Weisheit - Kompositionalität 10

Anomalie der Failuresemantik Aufgabenstellung: Modellierung unbeschränkter interner synchroner Kommunikation Verwendung Failuresemantik Definition: Interne Kommunikation: Nach aussen hin nicht sichtbar Interne Kommunikation vor externer Failuresemantik Verhalten = Menge von Paaren Paar = partieller Ablauf + Menge blockierter Aktionen Perlen der Weisheit - Kompositionalität 11

Anomalie der Failuresemantik 2 Formalisierung Syntax: P = a P [] b P mit Alphabet {a,b,c} Semantik P: {({a,b}*, ), ({a,b}*,{c}) } Syntax Q = a Q mit Alphabet {a,c} Semantik Q: {({a}*, ), ({a}*,{c}) } Semantik P Q = {({a,b}*, ), ({a,b}*,{c}) } Verbergen {a,b} Syntax: P Q\{a,b} Bedeutung: Interne Aktionen {a,b} finden sofort statt Semantik P Q\{a,b} : {({c} t,r\{a,b}) (t,r {a,b}) im Modell von P Q} Damit: Modell von P Q\{a,b} = Perlen der Weisheit - Kompositionalität 12

Anomalie der Failuresemantik Fazit Resultat: Failuresemantik ist partiell Interpretation: Problem: Modell behandelt unendliche Abläufe nicht Keine Fairnessaussagen im Modell möglich Immer wieder blockierend Immer wieder eingabebereit Lösung: Komplexere Semantik (Divergence) Modellierung unendlicher Abläufe Perlen der Weisheit - Kompositionalität 13

Fair Merge Anomalie Aufgabenstellung: Modellierung einer Fair Merge-Komponente Verwendung stromverarbeitender Funktionen Definitionen: Fair Merge: Mischen zweier Datenströme Fairness: Jeder nichtleere Datensstrom wird bedient Stromverarbeitende Funktion: Abbildung von Strömen auf Ströme Stetige Funktionen (monotone Funktionen) Perlen der Weisheit - Kompositionalität 14

Fair Merge Anomalie 2 Formale Modellierung Fair Merge: Basisfall 1: Merge (ε,y) = y Basisfall 2: Merge(x, ε) = x Ind.fall 1: Merge(a ο x, b ο y) = a ο Merge(x, b ο y) Ind.fall 1: Merge(a ο x, b ο y) = b ο Merge(a ο x, y ) Formale Definition Monotonie: Allgemein: x1 x2 f(x1) f(x2) Hier: x1 x2 y1 y2 Merge(x1,y1) Merge(x2,y2) Perlen der Weisheit - Kompositionalität 15

Fair Merge Anomalie 3 Anwendung Fair Merge: (_,_) (ε, ε) (a, ε) (ε,b) (a,b) Merge(_,_) ε a b a ο b b ο a Überprüfung Monotonie (a,b) aοb bοa (a, ε) (ε,b) a b a b (ε,ε) ε ε Perlen der Weisheit - Kompositionalität 16

Fair Merge Anomalie Fazit Resultat: Fair Merge nicht mit monotonen/stetige stromverarbeitenden Funktionen darstellbar Interpretation: Problem: Interpretation leerer Strom Monotonie: Zeichenketteninterpretation Basisfall: keine Nachrichten kommen mehr Lösung: Verwendung nichtfunktionaler Semantiken Verwendung gezeiteter Semantiken Verwendung von expliziten Terminatoren Perlen der Weisheit - Kompositionalität 17

Hmm.? Warum nicht: Verzichten auf die Monotonie Denn dann: Modellierung Fair Merge möglich Leichte Erweiterung auf Relationen möglich Aber.. Perlen der Weisheit - Kompositionalität 18

Brock/Ackermann Anomalie Aufgabenstellung: Modellierung nichtdeterministischer Komponenten Verwendung stromverarbeitender Relationen Definitionen: Stromverarbeitende Relation: Abbildung von Strömen auf Strommengen Operational/Kausal: Alle Nachrichten haben eine zugehörige auslösende Nachricht Perlen der Weisheit - Kompositionalität 19

Brock/Ackermann Anomalie 2 Formale Modellierung Merge Basisfall 1: Merge (ε,y) = { y } Basisfall 2: Merge(x, ε) = { x } Ind.fall: Merge(a ο x, b ο y) = {a ο Merge(x, b ο y), b ο Merge(a ο x, y) } Formale Modellierung Partitionierer P1/P2 Basisfall 1: P1 (ε) = P2 (ε) = {ε } Basisfall 2: P1(a) = { a } vs. P2(a) = ε Basisfall 3: P1(a ο b ο x) = P2(a ο b ο x) = {a ο b } Perlen der Weisheit - Kompositionalität 20

Brock/Ackermann Anomalie 3 Einbettung in ein Netzwerk S: D D Merge P (_,_) (ε, ε) (a ο x, ε) (ε,b ο y) (a ο x,b ο y) S(_,_) { ε } { a ο a } { b ο b } {a ο a, a ο b, b ο a, b ο b} Perlen der Weisheit - Kompositionalität 21

Brock/Ackermann Anomalie 4 Relationales Modell: Gleiches Modell unabhängig von Verwendung P1/P2 Aber: Operationeller Unterschied: Bei P1: Wahl 1. Output unabhängig von 2. Output Bei P2: Wahl 1. und 2. Output gleichzeitg D.h. Modell bzgl. Kausalität zu grob Konzequenz: Bei Einbettung in System gleiches Ergebnis Aber: Kausal sind Ergebnisse unterscheidbar Perlen der Weisheit - Kompositionalität 22

Brock/Ackermann Anomalie 5 6 6 Ink 5 D D 5 5 Merge 5 5 P2 5 5 6 7 Ink 5 D D 6 5 6 5 Merge 6 5 P1 6 5 Perlen der Weisheit - Kompositionalität 23

Brock/Ackermann Fazit Resultat: Gute asynchrone Semantiken respektieren Kausalordnung Relationen über (ungezeitete) Ströme nicht kompositional Interpretation: Relationen zu abstrakt bzgl. Kausalordnung: Ein/Ausgaben enthalten keine zeitliche Information Relationen benötigen Zeit zur Festlegung der Kausalität Lösung: Partialordnungssemantiken Einsatz gezeiteter Ströme Perlen der Weisheit - Kompositionalität 24

Stichworte Ausdrucksmächtigkeit Kompositionalität Prüfstein: Nichtdeterminismus Synchrone Systeme: Verhindern von Ereignissen: Blockieren Spuren und Kausalität Divergenz und Blockieren Asynchrone Systeme: Erzeugen von Ereignissen: Kausalität Monotonie und Kausalität Relationen und Kausalität Perlen der Weisheit - Kompositionalität 25

Fazit Synchrone Systeme: Blockieren Asynchrone Systeme: Kasalität Monotonie induziert Kaualordnung: Zukünftige Ereignisse ändern vergangene Entscheidungen nicht Abschwächung Monotonie: Zuordnung von Ein-/Ausgabekausalitäten durch Zeitmodellierung Perlen der Weisheit - Kompositionalität 26