Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

der Universität Oldenburg
Diskrete Mathematik II Marc Zschiegner
Modellbasierte Software-Entwicklung eingebetteter Systeme
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
On a Buzzword: Hierachical Structure David Parnas.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 12 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Universität zu Köln IT – Zertifikat der Philosophischen Fakultät / Blockseminar Allgemeine Technologien II mit Patrick Sahle M. A. Online-Datenbanken am.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
Technische Informatik II Vorlesung 12bis: Mehr über Security Sommersemester 2001 Prof. Peter B. Ladkin PhD Universität Bielefeld.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5 Interrupts Peter B. Ladkin
1 Vorlesung 14 Mehr über Security Peter B. Ladkin Sommersemester 2001.
Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Seminar: Architekturbeschreibungssprachen
Christian Schindelhauer
Programmierung 1 - Repetitorium
Informationsdarstellung mit Graphikdokumenten
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Handlungsplanung und Allgemeines Spiel „Game Description Language (GDL)“ Peter Kissmann.
Term {abstrakt} alsText(){abstrakt} berechnen(Belegung){abstrakt} Zahl alsText() berechnen(Belegung) double wert Variable alsText() berechnen(Belegung)
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Zeichnen linearer Funktionen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
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.
Wiederholte Programmausführung
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Verteilte Systeme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Verteilte Systeme Entwicklung.
Technische Informatik II
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
2. Kommunikation und Synchronisation von Prozessen 2
(Syntax, Strings/Zahlen, Variablen, Arrays)
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Funktionale Unifikations-Grammatik (FUG)   Hauptmerkmale der FUG.
Funktionale Unifikations-Grammatik (FUG)  Hauptmerkmale der FUG.
1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
6.3 Verteilte Transaktionen
Delphi Chars und Strings
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
X. Übungsblatt – Aufgabe X Die Zahlendarstellung im IEEE Standard 754 (single precision): Allgemein gilt: Z = (-1) V * (1 + M) * 2 (E - BIAS) a)Welche.
Der Foliensatz ist unter einer Creative Commons-Lizenz lizenziert:
 Präsentation transkript:

Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester 2001/2002

Technische Informatik II 2 Beschriebung eines Prozesses Um den Lauf eines Prozesses bzw. einiger nebenläufigen Prozessen darzustellen, braucht man Eine Beschreibung der nacheinanderfolgenden Zuständen Eine Beschreibung der Operationen, die innerhalb eines Prozesses nacheinander folgen oder, die unter den nebenläufigen Prozessen teilweise gleichzeitig, teilweise nacheinander laufen

Wintersemester 2001/2002Technische Informatik II 3

Wintersemester 2001/2002Technische Informatik II 4 Zustände 1. Zustand: = (Bit 0 ist 0; Bit 1 ist 0; Bit 11 ist 0) 2. Zust. = 3. Zust. = 4. Zust. = 5. Zust. = 6 Zust. = 7. Zust. = (B0 ist 1; B1 ist 0; B11 ist 0) 8. Zust. = 9. Zust. = 10. Zust. = (B0 ist 1; B2 ist 0; B11 ist 1)

Wintersemester 2001/2002Technische Informatik II 5 Mehr über Zustände Nicht nur Wert von Bits, sondern auch Position der von P1, P2, P3 ausgeführte Befehle; also das Program Counter (PC1, PC2, PC3)

Wintersemester 2001/2002Technische Informatik II 6 Zustände Also gibt es 6 Programm-Variablen B0, B1, B11 PC1, PC2, PC3 Jeder Zustand unterscheidet sich von den anderen über den gemeinsamen Wert der Reihe von Programm-Variablen Dies muss nicht unbedingt sein; Zustände könnten im allgemein wiederholt werden

Wintersemester 2001/2002Technische Informatik II 7 Wert(en) der Programm-Variablen {,,,,, } Menge von Paaren Funktion mit Argumenten = Variabel-Namen und Werte = die Werte von den Variablen in dem Zustand Array mit Indizien = Variabel-Namen und Werte = die Werte von den Variablen

Wintersemester 2001/2002Technische Informatik II 8 Alles umbenennen Variablen-Namen: Fluents Werte: die Werte Werte sind alle reine Mengen, genau wie in der Mathematik (aber Zahlen schrieben wir sowieso wie in der Mathematik) Also unterscheiden sich mathematischen Variablen (unbestimmte Werte) von Fluents (Programm-Variablen)

Wintersemester 2001/2002Technische Informatik II 9 Programmlauf

Wintersemester 2001/2002Technische Informatik II 10 Programmlauf anders'rum

Wintersemester 2001/2002Technische Informatik II 11 Wie ein Programm laufen kann

Wintersemester 2001/2002Technische Informatik II 12 Wie ein Programm laufen kann Wird exponentiell gross, wenn so bezeichnet wie dargestellt Wir müssen eine Methode benutzen, die die entsprechenden Eigenschaften aller (oder genügender) "nächsten Zustände" gleichzeitig beschreiben kann

Wintersemester 2001/2002Technische Informatik II 13 Dijkstra's Notation Var integer x,y = 0; loop cobegin x <- x+1 [] y <- y+1 coend endloop

Wintersemester 2001/2002Technische Informatik II 14 Zustand-Operation Notation

Wintersemester 2001/2002Technische Informatik II 15 Zustand-Operation Notation Actions (individuelle Zustandsänderungen) sind binäre Relationen zwischen Zuständen Eine Relation ist eine Menge von geordneten Paaren Die Operation x <- x+1 ist die Operation, in der die Wert von x im Nachfogerzustand ist gleich dem Wert von x im Vorgängerzustand + 1 Wir schreiben x' = x+1 statt x <- x+1

Wintersemester 2001/2002Technische Informatik II 16 Übung: Datenstrukturennotation Wie sieht ein Zustand dieses Programmes als Menge aus? Wie sieht die Operation M1 als Menge aus? Wie sieht die Operation M2 als Menge aus? Wie sieht die Operation NoOp als Menge aus?

Wintersemester 2001/2002Technische Informatik II 17 Zustand-Operation Notation Also, var integer x,y = 0; loop cobegin x' = x+1 y' = y [] y' = y+1 x' = x coend endloop

Wintersemester 2001/2002Technische Informatik II 18 Zustand-Operation Notation Oder var integer loop cobegin M1 [] M2 coend endloop

Wintersemester 2001/2002Technische Informatik II 19 Zustand-Operation Notation Oder Auf jedem Programmschritt: M1 M2 wird aufgeführt d.h., immer: M1 M2 d.h., ¿ ( M1 M2)

Wintersemester 2001/2002Technische Informatik II 20 Zustand-Operation Notation

Wintersemester 2001/2002Technische Informatik II 21 Zustand-Operation Notation Allerdings: x = 0 y = 0 ¿ ( x' = x+1 y' = y y' = y+1 x' = x NoOp )

Wintersemester 2001/2002Technische Informatik II 22 Zustand-Operation Notation Beschreibt wie das Programm startet, und Was passiert bei jeder Action (entweder gar nichts, oder x inkrementiert und y bleibt, oder andersherum) Pure Logik- und Mathe-Notation Mit ' und ¿

Wintersemester 2001/2002Technische Informatik II 23 Lösung NichtLesen :== PC1' = PC1 PC2' = PC2 PC1 = B0 PC2 = B0

Wintersemester 2001/2002Technische Informatik II 24 Lösung PC1-Lesen :== PC1'= PC1 B0' = B0 B1' = B1 B11' = B11 PC3 = B0 PC3' = B0

Wintersemester 2001/2002Technische Informatik II 25 Lösung PC2-Lesen :== PC2'= PC2 B0' = B0 B1' = B1 B11' = B11 PC3 = B0 PC3' = B0

Wintersemester 2001/2002Technische Informatik II 26 Lösung NoOp :== B0' = B0 B1' = B1 B11' = B11 PC1' = PC1 PC2' = PC2 PC3' = PC3

Wintersemester 2001/2002Technische Informatik II 27 Lösung Schreiben :== PC3 = B0 PC3' = B1 B1' = B1 B11' = B11 PC3 = B1 PC3' = B11 B0' = B0 B11' = B11 NächsterTeil

Wintersemester 2001/2002Technische Informatik II 28 Lösung NächsterTeil :== PC3 = B11 PC3' = B0 B0' = B0 B1' = B1

Wintersemester 2001/2002Technische Informatik II 29 Lösung: Das Programm MutexSchreiben :== Schreiben NichtLesen Program :== B0 = B1 = B11 = 0 ¿ ( Mutexschreiben P1-Lesen P2-Lesen NoOp )