Ja, schönen guten Morgen, nochmal ein bisschen lauter.
Hört man da was im Mikro, jetzt hört man,
was hört es auch im Mikrofon, so, okay?
Gut. Ja, wir wiederholen nochmal von der letzten Stunde,
hatten wir ja die Büchi-Automaten betrachtet,
zur Erkennung, zum Akzeptieren von unendlichen Wörtern,
da dies beim Modelchecking die Standardsemantik ist.
Wir hatten die verschiedenen Punkte zum Büchi-Automat in Analogie zum endlichen,
akzeptierenden Automat betrachtet.
Dann hatten wir
die Omega-Sprachen behandelt
Die also im Gegensatz zu endlichen Sequenzen auch unendliche Wörter, unendliche Folgen betrachtet.
Dann werden ganz entsprechend die Omega-Sprachen definiert und die Automaten,
die diese akzeptieren. Und wir hatten betrachtet, wie dies geht.
Und dazu den Begriff, der unendlich wiederholten des unendlich wiederholten Zeichens eingeführt.
Denn im Gegensatz zum endlichen Automaten, der ein endliches Wort akzeptiert,
dachten wir jetzt, die Situation, dass ein unendliches Wort akzeptiert wird,
wenn es unendlich oft die Endzustandsmenge durchläuft.
Und dazu der Begriff, dass in Feinheit von W,
das ist die Menge der Zeichen aus dem Alphabet,
die in dem betreffenden unendlichen Wort W unendlich oft vorkommen.
Dazu betrachten wir dann aber jetzt die Pfade,
da ja die Akzeptierung in Hinblick auf die Zustände und nicht auf die Buchstaben,
auf die Zeichen gegeben ist und definieren jetzt den das akzeptierte Wort der Gestalt,
dass das genau die Wörter sind, die unendlichen Wörter,
die entlang von Faden vorkommen,
bei denen unendlich oft ein Endzustand besucht wird,
was jetzt dieser Ausdruck,
dieser Durchschnitt hier ausdrückt und die entsprechende akzeptierte Omega-Sprache wird dann bezeichnet,
die vorher mit L von A,
aber zusätzlich mit einem Exponenten Omega
Ja, dann hatten wir dieses Beispiel betrachtet,
was in gewisser Ähnlichkeit zu den endlichen Automaten konstruiert wird,
aber trotzdem mit Unterschieden. Nicht in diesem einfachen Beispiel können wir
diese beiden Alternativen hier in Rot und in Grün dargestellt unterscheiden,
die sich dann hier durch das Plus,
was ein Vorgriff auf die Omega-regulären Ausdrücke war, darstellen.
Dann hatten wir den großen Unterschied gesehen,
dass die deterministischen Büchi-Automaten echt schwächer sind
als die deterministischen
Und hatten das an diesem Beispiel illustriert, nicht,
dass jetzt, was ja ein nicht deterministischer Büschi-Automat ist,
der diese Sprache L aus dem Lämmer akzeptiert und der nachfolgende Beweis hat ja gezeigt,
dass diese Sprache nicht von einem deterministischen Automaten akzeptiert werden kann.
Nicht, das war Dieter Widerspruchsbeweis,
der auf dieser Konstruktion beruhte und aufgrund der Tatsache,
dass wir hier in allen diesen Zuständen Oder dass alle dieser Zustände
aus einer endlichen Menge gewählt werden, es Wiederholungen geben muss.
Und wenn diese Wiederholung zufällig an dieser Stelle hier ist,
würden wir eine Schleife konstruieren können. Und das akzeptierte Wort würde so aussehen,
was dann eben aufgrund dieses Akzeptierungsvorgangs in der Sprache wäre,
was aber ein Widerspruch ist,
da es hier nicht in der hier oben definierten Sprache enthalten ist,
weil ja doch immer nur endlich viele As vorkommen dürfen,
hier aber unendlich viele As drin wären
Ja, dann nochmal der Satz dazu.
Und dann sind wir zu den Operatoren gekommen.
Das heißt, hier haben wir erstmal diesen Omega-Abschluss definiert,
zunächst einmal die Konkardination von einem endlichen Wort und einem unendlichen Wort.
Dann, dass die entsprechende Erweiterung auf das Komplexprodukt und hier der Omega-Abschluss,
als die unendliche Aneinanderkettung von Wörtern aus weh,
wobei wir das Verewort eben ausschließen
Ja, dann hatten wir jetzt hier die Abschlusseigenschaften,
dass eben der Omega-Aubschluss beispielsweise auch wieder eine Omega-reguläre Menge ist.
Also der Omega-Abschluss eines normalen, einer normalen regulären Menge.
Und genauso für die Vereinigung und diese Con-Katennation
Ja, die Beweise sind im Prinzip ähnlich wie bei den regulären Mengen,
aber ich hatte jetzt ja gerade nach einer Nachfrage,
will ich sagen, der Allgemeinheit auch nochmal zugute kommen lassen.
Nicht, wenn wir einen solchen Automaten hier haben und dass hier die beiden Endzustände sind,
dann könnten wir auf die Idee kommen, einfach hier die Endzustände,
zum Beispiel durch ein Y-Wort mit den Anfangszuständen zu verbinden.
Ich will jetzt nicht extra Licht machen und hoffe,
dass ich das vielleicht trotzdem durchsehen. Was wäre an dieser Konstruktion
nicht in Ordnung? Ich bin da auch erst nach der Nachfrage,
hatte ich sowas im Hinterkopf, eine Erinnerung und mir ist es dann eingefallen.
Warum wäre, wenn dieser Fotomat als endliche akzeptierende Automat 11 von A akzeptiert.
Warum akzeptiert der so konstruierte Automat nicht L. Omega von A?
Nicht, das ist suggestiv. Das liegt da dran,
weil wir zum Beispiel den Fall haben könnten,
wenn wir hier zum Beispiel eine unendliche Schleife hätten,
dann würde dieses Wort,
was hier unendlich oft durchläuft und nie diese Epsilon-Kanten besucht,
ja auch zu der Sprache gehören, wäre aber nicht im Omega-Abschluss.
Denn Omega-Abschluss heißt ja, wir haben eine Folge W1,
W2, W3 und so weiter,
wo alle diese WIs in L von A sind
Das bedeutet, wir besuchen unendlich oft den oder einen Anfangszustand,
was in dem beschriebenen Wort ja nicht tun.
Ja, was hat jemand eine Idee,
wie ich dem begegnen kann, dem Problem? Ja,
nicht, ich führe einfach,
was ist die Standard Standardkonstruktion hier mit Epcelon,
noch ein extra Zustand ein und nehme den als Endzustand und diese nicht mehr.
Das bedeutet, wenn ich den unendlich oft einnehme,
dann muss ich unendlich oft auch hier an den Anfang
gesprungen sein
Nicht, ich habe diese Frage jetzt nochmal aufgegriffen wegen dieser Konstruktion mit den Epsilons.
Ist Ihnen Ihnen vielleicht aufgefallen, dass wir bei den Büchi-Automaten
des Epsilon eigentlich in der Definition nicht vorgesehen haben.
Und da steckt dahinter, dass die Epsilon-Konstruktion bei Büchi-Automaten auch mit Problemen verbunden ist.
Zum Beispiel deswegen, weil wir unendliche Aneinanderkettungen von Epsilons vermeiden,
müssen wir hier bei dem Omega-Abschluss und noch manches mehr. Nicht,
das heißt also, die korrekte Konstruktion müsste so aussehen,
dass immer, wenn wir hier mit einem A in einen Endzustand gehen,
nicht deterministisch auch von dort aus dann wieder zum Anfang Zustand
zurückgehen und dann praktisch gleich in der Konstruktion das Epsilon eliminieren
Gut. Also das war jetzt die Ergänzung zu dem ähnlich. Ja,
ein First-Kompliment gilt es auch und der große Unterschied ist,
dass da sehr viel aufwendiger ist als bei normalen, endlichen, akzeptierenden Automaten.
Ja, dann kommen wir zu den Omega-regulären Ausdrücken,
die also standardmäßig diese Firmen haben, was eine Art Normalform ist,
weil wir ja auch Omega-Ausdrücke bilden könnten mit mehreren geschachtelten Omega-Anwenden,
Hochomega-Anwendungen,
brauchen wir aber nicht,
das genügt
Nicht, und der beschreibt dann diese Menge und dann hätten wir hier ein Beispiel dazu,
nicht was sich so gestaltet, dass wir hier,
nachdem wir züchtern AB sind,
hier im Endzustand haben und dann zwei Möglichkeiten für die Schleife hier mit B plus und mit B-C-Stern AB.
Nicht die eine Alternative ist jetzt, oder das Anfangsstück ist
hier rot dargestellt und dann kommen die beiden Alternativen.
Ja, und der Satz dazu ist,
dass die so definierten Omega-regulären Ausdrücke genau die Sprachen definieren oder erzeugen,
die von Büschi-Automaten akzeptiert werden
Dann sind wir zu dem Begriff des Produktautomaten gekommen,
der eben für uns für die Synchronisation später wichtig ist,
wie wir heute bei dem Synchronisation von Transitionssystemen noch sehen werden und hatten gesehen,
dass die Produktkonstruktion,
die wir für die endlichen akzeptierenden Automaten gewählt hatten,
nur teilweise erfolgreich ist.
Sie gilt nur für diese Inklusion in der Einrichtung.
Dazu hatten wir diese Begründung gesehen und auch dieses Gegenbeispiel
Und hatten dann die Lösung für das Problem, darin gesehen,
dass wir eben immer abwechselnd die verschiedenen Endzustände in den beiden Ausgangsautomaten einnehmen müssen,
weil wir nicht davon ausgehen können, dass wir die immer gleichzeitig einnehmen.
Und mit dieser Konstruktion kriegen wir dann anstatt der Inklusion hier
die Gleichheit und die Konstruktion sieht dann also tatsächlich so aus,
dass wir ein Fleck eins und zwei einsätzen,
der immer dafür steht,
in welchem Automaten wir gerade auf den Endzustand eben warten,
was dann jetzt hier im Text
nochmal so ausgedrückt wird
Ja, und das ist die formale Definition für den Übergang,
die jetzt hier also das Setzen des Flex beschreibt,
in Abhängigkeit von der jeweiligen Einnahme des Endzustandes,
dann hier den Anfangszustand,
da fangen wir mit eins an,
könnt ihr natürlich auch mit zwei sein und als Endzüchteinsmenge nehmen wir jetzt auch diejenigen,
wo unendlich oft eine Eins auftritt und nach der Konstruktion muss dann auch unendlich offene zwei aufgetreten sein,
sodass wir also in beiden Automaten unendlich oft einen Endzustand besucht haben.
Nicht auch dieser Endzustand, hätten wir mit der zwei natürlich
genauso definieren können
So, der hat dann nur nur eine kleine,
ein kleiner Exkurs zu den verallgemeinerten Büchi-Automaten, der nur darin besteht,
dass wir statt einer Endzüchtanzmenge mehrere haben und die Definition so geändert wird,
dass alle unendlich oft besucht werden müssen.
Nicht, was dann in gewissermaßen ein Durchschnitt der verschiedenen Bedingungen bedeutet.
Wir erhalten aber dadurch kein allgemeineres Konstrukt und die Entscheidungserfragen für
Bücherautomaten sind auch wieder analog wie vorher Lehrheitsproblem, Universalitätsproblem,
Äquivalenzproblem,
sind alle entscheidbar
Ja, und damit haben wir alle diese Fragen bearbeitet,
die vorher angekündigt wurden und die ähnlich waren wie bei den Büchi-Automaten,
wenn auch mit teilweise anderen Ausgang.
So, und dann hatten wir mit dem Transitionssystemen angefangen und
dazu habe ich hier nochmal eine neue Folien eingeblendet,
die klar darstellen soll, wo solche Transitionen ein Transtransitionssystem überall auftreten.
Nicht, das ist ja ein sehr allgemeines Konstrukt,
wir haben nur Zustände und Transitionen und haben keine Einschränkungen, endlichen Zustandsmenge und dergleichen.
Und wir können zum Beispiel nehmen, eine Turing-Maschine.
Wir wissen ja alle, eine Turing-Maschine besteht aus einem endlichen Automaten,
deren die Operationen auf einem potenziell,
unendlich oder bliebig groß erweiterbaren Speicher in Form eines Bandes erarbeitet.
So, dann könnte man auf die Idee kommen,
ja, das Zugehörige Transitionssystem zur Beschreibung des Verhaltens wäre dieser
steuernde endliche Automat.
Ist das in Ordnung
oder hat da jemand was gegen
Also dieses Transitionssystem, was das Verhalten darstellen soll,
soll ja die gesamte Konfiguration beschreiben, das Verhalten.
Und wenn ich nur den Zustand der Steuereinheit kenne,
weiß ich nicht, wie es weitergeht,
weil ja der Bandinhalt von Bedeutung ist.
Deswegen müsste man als Transitionssystem für die Semantik nehmen.
Das habe ich hier mal Konfigurationsgraf der Thuring-Maschine genannt,
der also aus dem jeweiligen Endzustand der endlichen Steuereinheit
und dem Inhalt des Bandes
bestehen würde
Ich finde, da dieses Band immer wieder erweiterbar ist,
hätten wir hier auch ein Beispiel eines unendlichen oder potenziell unendlichen Transitionssystems.
Das Transitionssystem kann also unendlich sein, aber nur eben in manchen Fällen. Ja,
ein anderes Beispiel könnten wir irgendwie ein Programm nehmen und
der Zustand Raum würde dann oder die Zustände würden dann aus
dem Befehlszähler des jeweiligen Programmstandes bestehen und aus dem Speicherinhalt oder
was sonst noch zur Kenntlichmachung des aktuellen Zustandes dieses Java-Programmes gehört
Oder ganz am Ende werden wir ja da die Prozessallgebhaben kennenlernen.
Da haben wir dann auch Transaktionssysteme zur Beschreibung der Seemantik.
Und gleich im Anschluss an in diesem Bereich haben wir die Petrinetze.
Da heißt dieser Zustandsgraf dann Erreichbarkeitsebene Graf, nur aus traditionellen Gründen.
Nicht nur dieses Konstrukt ist universell einwendbar. Überall,
wo ich zustände und Übergänge habe,
kann ich das als Transitionssystem formulieren
Wir hatten aber, sind Winter aber zunächst zu unserem einfachen Beispiel zurückgekommen,
dem Getränkeautomat und hatten hier die neue Definition des Transitionssystems,
dem NFA gegenüber gestellt,
wo wir zunächst nur andere Bezeichnungen haben und eben auch,
aber umgekehrt, die Endlichkeitsbedingungen für der nicht-diterministischen,
endlichen Automaten fallen lassen.
Und die Beispiele sahen dann ganz analog aus.
Und wir haben jetzt die Menge der erreichbaren Zuständen definiert
In Abhängigkeit einer beliebigen Menge. Und wenn wir dort eben
die Standardmäßig gegebenen Anfangszustandsmenge nehmen, dann lassen wir dieses S1 dann auch weg.
Und hier war das Beispiel einer erreichbaren Menge,
die kleiner ist als die gesamte Zustandsmenge. Ja,
das Entsprechende dann für die Aktionsfolgen, wo wir beliebige Aktionsfolgen unterschieden haben,
von denen, die also in Endzustände führen,
die wir dann entsprechend dieser Tradition oder Beziehung zu den endlichen zipierenden Automaten Auch akzeptierte Sprache nennen.
Da haben wir hier solche Beispiele. Wichtig ist also,
dass sie lernen, wir unterscheiden hier die Aktionssequenzen von den finalen Aktionssequenzen,
nicht was sich hier an den Buchstaben A und F dann auch deutlich macht, als Merkhilfe.
Ja, dann das letzte Thema war ja die Äquivalenz von Systemen,
wo wir zunächst die Folgenäquivalenz haben, was also der Äquivalenz von Automaten entspricht,
nämlich die gleiche, die gleiche Menge von Aktionserfolgen,
wobei dann hier jetzt aber alle Zustände, Endzustände sind.
Und wir hatten dann dieses Beispiel als Kernbeispiel,
wo wir überlegt hatten, dass jetzt hier unter bestimmten Gesichtspunkten,
dass ein zu schwacher Äquivalenzbegriff ist,
weil wir zum Beispiel in diesem Zustand die Entscheidung der beiden Alternativen schon einmal gewählt hatten und einmal nicht,
was dann insbesondere problematisch ist,
wenn die eine Entscheidung wegfällt und dadurch dann in dem
rechten Automat hier eine Verklemmung,
einen Deadlock
Erhalten würden. Und da eben auch die Prozessalgereprat zum Beispiel,
insbesondere eben auch für nebenläufige Systeme,
als Anwendung von dauerhaft arbeiteten Systemen wie zum Beispiel Betriebssystemen eingesetzt wird,
ist doch eben auch das Verklemmungs- oder Deadlock-Problem ein zentrales,
das also eine Teilmotivation für diesen Begriff.
Ja, und dazu wurde also die Bi-Simulation eingeführt,
was eine Relation ist zwischen den Zustandsmengen der beiden Transaktionssysteme
Also diese Relation, eine binäre Relation bringt also in Beziehung jeweils einen Zustand das ein.
Mit einem Zustand des anderen. Nicht und die Anfangsbedingung ist,
dass die alle Paare von Anfangszuständen in Relation stehen müssen.
Mich und Entsprechendes gibt es dann auch für die Endzustände,
nicht wenn, also so eine Beziehung,
so eine Relation besteht und der eine ein Endzustand ist,
muss es der andere eben auch sein. Ja,
wichtiger, jetzt ist aber der allgemeine Fall zwischendurch,
der dann eben als grafisch so dargestellt wurde,
wenn wir ein solches paar In der Relation betrachten wir hier
S1 und R1 und wir von dem S1 einen Übergang haben,
dann muss eben auch hier bei dem anderen Partner ein deutscher Übergang bestehen und das Ergebnis der geforderte Zustand muss auch wieder in der Bisim oder SPI-Simulationsrelation eben stehen.
Wenn schon das Ganze heißt, eben B-Simulation,
weil das Symmetrisch auch in der anderen Richtung geht,
das heißt also, wenn ich bei dem zweiten Automat anfange,
muss das entsprechende auch für den ersten gelten,
nicht,
aber zum Lernen genügt eine Zeile,
weil die andere dann sinngemäß ist
Vergessen, darf man das natürlich nicht,
wie wir an dem Beispiel dann auch gesehen haben.
Also an diesem Beispiel ist es ja so,
wenn ich hier von hier ausgehe und Kaffee wähle,
habe ich hier drüben den Übergang nicht.
Wenn ich von hier ausgehe,
hätte ich den Übergang Tee in der anderen Seite,
also das Problem kann möglicherweise nur auf einer Seite auftreten,
also muss man von beiden Seiten
das eben betrachten
Ja, und die beiden Traditionssysteme heißen dann,
Bisimila und unser Beispiel können wir dann so ergänzen,
indem wir hier einfach noch weitere Kanten einführen und kommen dann zu zwei B-Seminaren Transitionssystemen.
Und um zu überprüfen, ob das gilt,
fangen wir dann mit der Anfangs-, mit den Anfangszuständen an.
Hier haben wir ja dann nur ein Paar und betrachten immer jeweils die Übergänge.
Also wenn wir von links nach rechts anfangen,
hätten wir hier jetzt den einen Euro-Übergang und dann finden wir hier auch einen.
Und dann den Tee-Übergang finden wir auch einen,
dann Tee kochen auch so und dann gibt es ja auch noch hier den wenn die Möglichkeit,
wenn wir zum Beispiel hier anfangen,
müssen wir hier drüben einen Zustand finden.
Das ist jetzt auch gegeben. Und dann kommen wir auch
hier unten zu R3 und S3 und zu R5 und S5.
Und wenn wir aufgrund dieser Konstruktion zu einem Ende kommen und
auf keinen Widerspruch treten und das Transaktionssystem endlich ist,
dann können wir auf diese Art und Weise
diese Bisomüller-Simulation eben entscheiden
Gut. Ja, und dann sind wir ganz am Schluss zu dem Satz gekommen,
dass also diese Bi-Simulation echt stärker ist als die Folgenäquivalenz.
Das heißt also, wenn Zeitransitionssysteme Bi-Similar sind,
da erinnere ich nochmal an das Zeichen,
dass wir dafür erwählen, dieser Doppelfall mit dem Unterstrich,
dann impliziert das, dass die Folgenäquivalenz sind,
wo wir hier diese Tilde haben und diesen Index L,
der sprach an Language,
erinnert.
Also nochmal,
die Bi-Similarität impliziert die Folgenäquivalenz
Ja, und den Beweis führen wir durch vollständige Induktion über die Wortlänge,
was eine Erweiterung des klassischen Beweissystems durch vollständige Induktion über die nicht-negativen ganzen Zahlen ist.
Nicht, wo wir hier ja eine total geordnete Menge haben,
bei der wir dann zum Beispiel eine Behauptung Alpha zunächst
als Induktionsanfang für die Null oder für die 1 beweisen.
Und dann der allgemeine Schritt ist,
wie er die Behauptung für N annehmen und daraus
die Induktionsbehauptung Alpha von N
plus 1 beweisen
Nämlich von der Unterschied, wenn wir hier von dieser Totalgeordnetenmenge
zu dieser partiell geordneten Menge Sternen übergehen, ist ja der,
dass wir dann jetzt statt über dieser Totalgeordnetenmenge jetzt im Grunde über einen Baum argumentieren,
weil ja jeder Knoten im Falle eines zwei elementigen Alphapedes zwei Nachfolger hat.
Aber ansonsten ist das sehr ähnlich. Wir fangen dann auch wieder an,
diese Behauptung für das leere Wort oder manchmal auch für Worte der Länge eins zu beweisen. Und die Induktionsvoraussetzung ist,
dass Vibra hier beweisen, Wir haben die Annahme,
unter der Annahme, dass es für ein beliebiges Wort weh gilt,
dann gilt es auch für die Nachfolger, die so gestaltet sind,
dass Andersweh dann noch jeweils ein Zeichen aus dem Alphabet angehängt wird,
wobei wir dann hier zwei Fälle hallhärten,
die wir dann aber,
wenn wir sozusagen den Beweis allgemein führen, gemeinsam erledigen.
Ja, in unserem Falle, so ja,
und die Behauptung setzt sich dann durch den ganzen Baum dann durch.
Ja, in unserem Fall, um dieses hier zu beweisen,
gehen wir also davon aus,
dass die beiden Transitionssysteme eben Seminar sind und wollen beweisen, dass die Folgen Äquivalent sind.
Das heißt, wenn wir eine Folge aus dem ersten Transaktionssystem nehmen,
dann muss die auch in dem anderen eben möglich sein.
Die fangen ja immer im Anfangszustand an und ausgrund der B-Simulation folgt ja,
dass es einen zu dem S0 hier, zu dem Anfangszustand, einen Partner in dem anderen gibt. So,
die Induktionsvoraussetzung besteht jetzt da drin,
wenn wir hier also einen endlichen Schritt gemacht haben,
also ein endliches Wort W,
abgearbeitet haben und in einem Zustand sind,
der B-Similar ist und wir hier oben das Wort verlängern und da haben wir jetzt einen Induktionsschritt,
also das A ist jetzt hier ein konkretes oder können wir eben auch als Stellvertreter für alle möglichen As aus Großa nehmen,
dann sagt uns die Definition der B-Simulation,
dass wir dann hier in einen Zustand kommen,
zu dem es hier unten auch einen Übergang gibt und wieder einen B-Similaren Partner,
sodass dann also auch hier unten das Wort V verlängert um
A eben zu der Aktionsfolge eben gehört
Ja, das wäre dann, also der Beweis in der Richtung
und über die umgekehrte Richtung hatten wir ja schon gesprochen,
wo wir ja dieses Gegenbeispiel Zweier, nicht Bi-Similaren,
Transaktionssysteme hatten.
Ja, das war soweit jetzt die Wiederholung vom letzten Mal.
Gibt es da noch eine Frage dazu?
Sieht nicht so aus. So,
dann kommen wir zu dem langen versprochenen synchronen Produkt für Transaktionssysteme
als ein Übungsbeispiel für Synchronisation von Systemen
Ich weiß nicht, ob Ihnen das schon mal systematisch nahegebracht
worden ist, was für Arten von Synchronisationen es gibt.
Ich habe also hier zwei Systeme, TS1 und TS2 dargestellt als Transitionssystem.
Dann könnte man die zum Beispiel durch Rande-Wus-Synchronisation synchronisieren,
nicht Englisch oft Handshake-Synchronisation genannt, die darin besteht,
dass also eine Aktion eng gebunden wird an eine andere Aktion in einem,
in dem anderen System, was bedeutet,
nur Wenn beide Zustände diese Aktion ausführen können,
dann wird die Aktion ausgeführt, und zwar gleichzeitig.
Nicht, dass es ähnlich wie eben der englische Wort oder auch der schönen Grundsation sagt,
nicht bei einem Ron de Vu müssen beide anwesend sein und beide eine gemeinsame Aktion durchführen. Nicht,
dass es zu unterscheiden von der Speichersynchronisation, die darin besteht,
dass beide Systeme irgendwie den Speicher verändern können,
Werte speichern und dergleiche, nicht,
dann kann man da irgendwie einen Wert x gleich 3 oder so hinterlassen und irgendwann mal später kommt das andere Transitionssystem,
wenn das andere System, schaut danach und sagt,
aha, da steht x gleich 3,
also mache ich dieses oder jenes
Auch eine Form der Synchronisation, aber eben nicht so eng gekoppelt, wie bei der Randovou-Synchronisation.
Sie können diese Speichersynchronisation eben auch vergleichen mit einer Synchronisation durch einen schwarzen Briefkasten,
ein Spion oder einen Geheimdienstagent hinterlegt in einem geheimen,
an einem geheimen Ort,
eine Nachricht und zu irgendeinem späteren Zeit kommt,
kommt einer nach und guckt dieses eben nach,
während bei der Randovou-Synchronisation die beiden sich mehr oder weniger
konspirativ treffen müssen und ihre Informationen direkt eben austauschen müssen
Ja, dann haben wir aber noch ein C,
was sie vielleicht als erstes erwartet hatten.
Das ist die Nachrichten-Synchronisation. Durch die Nachrichtensynchronisation besteht darin,
dass das eine System eine Nachricht abschickt,
die Nachricht eine Zeit lang unterwegs ist und irgendwann mal ankommt
und dann der Inhalt empfangen und gelesen werden kann.
Und im allgemeinen Fall ist diese Nachrichtensynchronisation so gestaltet,
dass man keine festen Annahmen machen kann über die Laufzeit dieser Nachricht,
woraus dann die entsprechenden Probleme dann also gestalten
Ja, aber man kann eben,
diese anderen beiden Synchronisationsformen B und C auf die erste Form zurückführen,
nämlich Speichersynchronisation zum Beispiel, indem man ein weiteres System oder Transitionssystem einführt,
was nur dazu da ist,
die entsprechenden Variablen zu führen und zu aktualisieren.
Und immer dann,
wenn TS1 zum Beispiel auf ein Datum hier schreiben will,
führt es eine raune Wusel-Grensation durch und schreibt das Datum und irgendwann mal später kann TS2
eine raune Wusel-Inkonsulation mit diesem Zwischentransitionssystem eingehen und dann
das Datum lesen oder auch in umgekehrter Richtung
Wenn ich während Nachrichtensynchronisation dann wieder eine Form der Spezialisierung ist,
wo wir auch wieder, so sagen wir,
für den Nachrichtenkanal ein Transitionssystem einführen können,
dann aber die Übertragungsrichtung eben in der Einrichtung ist,
nicht was sich dadurch ausdrückt,
dass im allgemeinen Fall eine abgesandte Nachricht nicht mehr modifiziert oder zurückgenommen werden kann.
Nicht, weil er hier oben bei der Speichersynchronisation,
wenn der erste sich vertan hat und seine Nachricht korrigieren will
und der zweite noch nicht so schnell war,
kann er das ja auch wieder korrigieren,
was unten im allgemeinen Fall nicht gegeben ist.
Gibt es vielleicht noch andere Formen oder Varianten,
aber das scheinen mir die hauptsächlichen Formen von Synchronisation von Systemen
zu sein
So, wir wollen jetzt mal ein Beispiel für diese Nachrichtensynchronisation betrachten,
wo wir dann also entsprechend einen Sender, einen Empfänger haben und dazwischen ein Transaktionssystem,
was Kanal heißt und entsprechend eben arbeiten soll.
Nicht, das Ganze ist jetzt gedacht, als Beispiel für die Synchronisation von Transaktionssystemen. Ja,
nicht, der Sender könnte zum Beispiel so aussehen,
dass er hier in einem Anfangszustand ist,
dann hier eine Nachricht absetzt und dann intern wieder in den Anfangszustand zurückgeht,
was zum Beispiel auch bedeuten kann,
dass er hier mit einem externen Benutzer kommuniziert,
der die nächste abzusendende Nachricht empfängt,
was wir hier aber nicht darstellen.
Ja, der Kanal, achso, entsprechend der Empfänger,
der würde dann hier diese Nachricht aufnehmen und dann unter dem
diese Nachricht an einen Benutzer abgeben.
Nicht, und der Kanal ist also der Mittler,
der hat dann also beides,
der könnte dann hier mit dem A2 eine Nachricht aufnehmen und
vielleicht noch eine und dann über das C2 wieder mit dem Empfänger kommunizieren.
Das heißt, wir müssten eine Synchronisation zwischen A1A2 hier in Rot
dargestellt und zwischen C1 und C2 hier Blaue dargestellt haben.
Wir haben hier einen Kanal der Füllung 2. Das heißt also
, wir haben die Zustände Lehrfüllung 1, Füllung 2.
Es gibt ja die Varianten beliebiger Füllung,
also beliebig endlicher Füllung oder auch unbeschränkter Erfüllung im theoretischen Fall.
Und wir stellen jetzt diese Synchronisation durch eine Synchronisationsrelation Sync genannt dar.
Das heißt also A1 und A2 sollen gemeinsam ausgeführt werden und
genauso C1 und
Nicht, dass es auf die Dauer etwas lästig, immer diese A1 und A2 mitzuführen.
Und deswegen macht man das manchmal auch so,
dass man da noch zulässt, dass man dieses Paar umbenennt,
dass man sagt, wir haben hier eine Abbildung, Gamma,
sodass Gamma von A1 und A2 gleich A ist und Gamma von C1,
C2 gleich C und abkürzend könnten wir dann hier also auch gleich A in Rot darstellen und C in Blau.
Nicht was in manchen Systemen auch per am Anfang schon der Fall ist,
wo das Sync dann gar nicht drin vorkommt und das Gamma auch nicht.
Und die Synchronisation immer über gleiche App Bezeichner
eben agiert
Ja, wenn wir das Ganze jetzt animieren,
dann können wir jetzt ja hier irgendwie so einen Anfangszustand mal
annehmen und dann könnt ihr zum Beispiel am Anfang hier die Synchronisation von A1 und A2 stattfinden,
die also wie gesagt nur gleichzeitig in einem Schritt eben möglich ist.
Ja, als nächstes haben wir dann vielleicht,
geht er als Sender wieder zurück,
indem er ein neues Datum aufnimmt und wir nehmen jetzt mal den Fall,
dass wir tatsächlich hier diese Füllung zweites Kanals eben ausschöpfen.
Und jetzt könnte zum Beispiel der Empfänger das übernehmen,
hätte er eben auch schon beim erstmaligen Senden gemacht,
aber unser Beispiel geht so, dass jetzt der Empfänger das einmal übernimmt.
Jetzt haben wir nur noch die Erfüllung 1 und dann vielleicht
hat er mit D das Datum einen Benutzer abgegeben und dann übernimmt er das Nächste.
Ja, und dann haben wir am Schluss im Grunde nur nochmal das Rücksetzen in den Anfangszustand,
wo ein neues B entnommen wird und das letzte D dann abgegeben wird,
was dann eben so aussehen würde, dann zur Übergabe wieder dieses Ergebnis.
Ich hoffe, das ist soweit klar. Und wir kommen jetzt zur Formalisierung. Nicht,
das würden wir dann jetzt so darstellen, dass wir hier,
diese Synch ist eine Teilmenge von A-Kreuz, A1, A2,
wobei A1, A2 jetzt die Aktion von TS1 und TS2 sind.
Und die Zustandsmenge dieses Synchronisierten, Transitionssystem ist also wie beim Produkt Automaten,
deswegen nennt man das auch Produkt, Transaktionssystem,
Lieder,
das kathesische Produkt der ursprünglichen Zustandsmengen
Ja, das neue Alphabet wird aber jetzt erweitert,
noch durch dieses Sync,
weil wir ja nach wie vor jetzt die Einzelaktionen haben können,
wie man im Beispiel gesehen haben und die synchronisierten Paare.
Dann haben wir in diesem Produkttransitionssystem dann natürlich eine Transaktionsrelation,
die dann durch diese Synchronisationsrelation gesteuert wird, zu deren Definition kommen wir dann gleich.
Wobei wir dann auch besagte Abbildung,
Gamma haben und wenn wir uns so etwas einfacher darstellen wollen,
könnten wir statt dem Zynk hier auch dieses neue Alphabet für die Umbenennung gleich hier oben reinschreiben.
Nicht diese Kommunikationsabbildung ist jetzt hier optimal, mal will man das,
mal will man das nicht und wird hier angedeutet,
hier haben wir zu sagen,
das Zeichen für das Produkttransaktionssystem und dem Index können wir dann
entweder Synk oder das Gamma darstellen,
je nachdem,
wie wir
das benutzen wollten
Ja, Anfangszustand ist wieder das kathesische Produkt der Anfangszustände und
entsprechend bei den Endzuständen, falls wir welche haben.
Nicht, was wir jetzt eben noch nicht definiert haben,
ist die Semantik, wie jetzt ein Übergang funktioniert, definiert wird.
Ja, und das machen wir jetzt,
wie man das häufig macht in den letzten Jahren in Volk,
durch eine solche Schlussregel, dass man hier also einen Strich hat.
Über dem Strich steht die Vorbedingung und unterm Strich steht die Behauptung.
Und wir haben jetzt hier den Fall der Regel Systrei für die Kommunikation,
nicht, was zu sagen der Interessanteste ist,
die anderen beiden kommen und dann hinterher.
Wenn wir nämlich die Situation haben,
dass das eine Transitionssystem im Zustand S1 ist.
Das zweite in R1 ist. Und beide haben jeweils die Aktionen,
können die Aktionen A1 und A2 ausführen.
Und wenn diese beiden in der Synchronisationsrelation stehen,
dann ist die gemeinsame Aktion möglich.
Und was passiert? Wir haben den Übergang von dem Paar
S1 R1 nach S2 R2 und die Aktion ist dann
dieses Paar oder entsprechend ersetzt das Bild unter dem Gamma
Wie Sie sehen, das ist also ganz ähnlich wie beim Produktautomaten,
wo wir dann hier nur gleich dasselbe Zeichen A1,
gleich A2 stehen hätten.
Nicht und wir unterscheiden das hier, weil wir hier bei
der Synchronisation von Transaktionssystemen auch noch in den anderen Verhalten haben,
wo nur einer der beiden eine Aktion durchführt.
So, ich habe das Ganze auch noch mal bildlich dargestellt.
Ausgangspunkt wäre jetzt eben, dass das die beiden Transaktionssysteme,
diese Aktionen A1 und A2 ausführen können.
Die sind also in den beiden Ausgangszuständen,
es 1 und
Und die Behauptung ist jetzt die, wir haben in dem
zu definierenden Produkttransaktionssystem TS3 den neuen Übergang von den Paaren,
wobei die Aktion dann eben entweder auch durch dieses Paar
dargestellt wird oder durch das Bild unter dem Gamma.
Ja, das ist sozusagen das Neue.
Und dazu gehören jetzt noch die beiden anderen Regeln,
wenn wir also nur das Verhalten eines dieser Partner haben, ohne Synchronisation.
Nicht, das würde dann bedeuten, in dem einen Fall,
dass jetzt das eine Transaktion die Aktion A1 ausführen kann,
wie hier dargestellt, aber dieses A1 nicht erste Komponente der Synchronisationsrelation ist.
Nicht dieses PR1 ist eine mathematische Schreibweise, die sich auf kartäsische Produkte,
also Paare anwenden lässt und der Index sagt dann immer,
welche Komponente gemeint ist.
Und PR1 schnappt mir dann die erste Komponente eines solchen Paares heraus. Und ja,
und dieses Erden ist dann hier ein beliebiger anderer Zustand,
der sich aber dann natürlich nicht verändert,
weil das Transaktionssystem TS2 nicht teilnimmt.
Das heißt, dieses R ist vorher und hinterher dasselbe,
während der Übergang A1 nur in der ersten Komponente stattfindet,
wie hier unten bildlich dargestellt
Das heißt, hier gehen wir wieder von RNAR über und von S1 nach S2,
weil wir im einen Transitionssystem diesen Übergang von S1 nach S2 haben.
Und hier unten ist jetzt auch wieder diese Bedingung mit dieser Projektion da.
So, das war die Regel Synchronisation 1 und dann haben wir
noch die Synchronisationsregel 2, die also ganz entsprechend ist,
dann nur für die andere Komponente.
Ja, das kann so auf den ersten Blick aufwendig aussehen an formaler Definition,
ist aber vom Konzept sehr einfach und naheliegend und eigentlich mir
nur eine Gewöhnungsfrage
Ja, bei deren Gelegenheit können wir jetzt auch noch mal einen anderen Begriff anschneiden,
das sogenannte Inter-Leaving von Systemen, also die Semantik durch Inter-Leaving.
Sagt das jemand was, was das bedeutet? Nicht Inter-Leaving,
das bedeutet, wenn sie zwei Systeme haben,
die miteinander nicht synchronisiert werden,
dann kann ich das Ganze so darstellen,
dass die irgendwie miteinander verschränken,
mal das eine,
mal das andere darstelle und die entsprechende,
das gemeinsame Verhalten durch das Verschränken dieser beiden Folgen darstelle
Nicht? Und das sieht man zum Beispiel an diesem Beispiel
hier. Hier hätten wir also zwei rudimentäre Transitionssysteme,
die jetzt durch das Kathes, das Produkt,
den Produktoperator miteinander verbunden werden.
Aber ohne, dass wir synchronisieren. Und was ist das
Verhalten dann? Das Verhalten ist, dass dann erst A
und ein B oder erst B und ein A stattfindet.
Und wir können das, wenn wir sozusagen die Inter-Living-Semantik nehmen,
das als die Menge der Folgen AB oder BA beschreiben
So, und die Problemarkte dieser ganzen Geschichte sehen wir da
dran, wenn wir jetzt noch ein drittes hinzunehmen.
Also da haben wir noch eine dritte Operation und wir hätten
dann oben das entsprechende dreifache Produkt.
Und wie wir das Ganze auch wieder synchronisiert lassen.
Und ich weiß nicht, ob Sie jetzt eine Vorstellung da haben,
wie jetzt das Produkttransitionssystem aussieht. Sie müssen sich ja vorstellen,
am Anfang ist es sowohl A, B und C möglich.
Das heißt, aus dem Anfangszustand habe ich drei mögliche Aktionen,
wie hier im Bildlicht dargestellt, nicht.
Das heißt, von dem Zustand XYZ ist A,
B und C möglich
Ja, und wie geht es dann weiter? Weiter geht es dann so und vor,
dass wir so gewissermaßen mit der geometrischen Vorstellung eines Würfels erarbeiten können.
Denn wenn wir nämlich hier zum Beispiel A gemacht haben,
kann danach B und C kommen. Oder wenn der Arm
die Aktion A hatten, kann dann C und B kommen. Das heißt,
wir haben alle Kombinationen in der Reihe nur mit der Bedingung,
dass die einzelnen Systeme, die Reihenfolge, na,
hier haben wir gar keine Reihenfolge dann,
dass die einzelnen Systeme ihrer Aktionen eben ausführen.
Das heißt, wenn wir hier mehrere hätten, A,
B, A, 1, A, 2,
dann müssen die ihre Reihenfolge einführen,
sonst sind alle Möglichkeiten
Gegeben. Und an diesem PI-Spiel sehen Sie auch sehr schön,
die sogenannte Zustandsexplosion bei Transitionssystemen. Nicht, das ist jetzt eine Explosion,
die nicht der Explosion der Ariane-Rakete entspricht, sondern nur beschreibt,
dass eben die Zustandsmänninge exponentiell oder wie wir sehen werden,
sogar überexponentiell eben steigt.
Und das der Grund ist für die Problematik bei der Verifikation
So, ich habe jetzt aber noch ein konkretes Beispiel.
Und zwar haben wir hier ein einfaches Sender-Empfängersystem.
Und ich habe dieses Beispiel jetzt so erweitert,
dass wir am Schluss zu dem berühmten Alternierbit-Protokoll kommen werden.
Das Alternierbit-Protokoll ist dazu da, bei einem Kommunikationsprotokoll einen Fehler zu maskieren.
Nicht das, wie wir sehen werden, ist dieses Beispiel
ja relativ komplex. Naja, und man könnte kritisieren,
warum in so einer Vorlesung so ein relativ komplexes Beispiel,
andere, je nach Meinung könnte man sagen,
ist ja auch gar nicht so komplex, ist ja einfach.
Aber ich finde eben bei diesen Beispielen ist immer folgende Problematik.
Entweder man macht sie sehr klein und einfach,
dann sind sie klar, aber man hat das Problem,
das Ganze in einen größeren Kontext eines realen Systems zu übersetzen.
Oder man macht sie sehr kompliziert. Dann kommt man mit
der Zeit hier nicht aus, um das entsprechend zu erklären.
Also es ist immer die Problematik, Einen Mittelweg zu finden,
dieses Beispiel hinreichend komplex zu haben und trotzdem noch erklären zu können.
Ja, und das machen wir hier, indem wir hier schrittweise vorgehen.
Das heißt, wir haben zunächst einmal unser einfaches Sender-Empfänger-Problem.
Wir haben hier wieder einen Sender und einen Empfänger und wir haben hier drei Kanäle,
A, B und C, wobei A, C,
externe Kanäle und B, ein interner Kanal ist.
So, und das Transitionssystem, was dazugehört,
ist jetzt, hat zwei Zustände.
Das heißt, am Anfang kann jetzt hier ein Datum D
über den Kanal aufgenommen werden.
Nicht das R kommt von Reading
Oder Receiving. Und der Index ergibt also den Kanal ab.
Und das S heißt so viel wie Sending.
Und wir haben den Index B. Das heißt also,
dieses Transitionssystem übernimmt das Datum Klin D über den Kanal A
und im nächsten Schritt gibt es das auf den Kanal B ab,
in Richtung zum Empfänger R.
So, ganze Metric ist jetzt der Empfänger,
der übernimmt jetzt hier das Datum vom Kanal B und gebt das
dann über den Kanal C dann an den Benutzer dann eben ab.
So, und unsere Synchronisationsrelation ist jetzt nun so,
dass wir Dieses synchronisierende Paar von S- und R jetzt-Szenen. Das heißt,
wenn diese beiden Aktionen hier SB von D und RB von D zusammen ausgeführt werden,
heißen sie dann hinterher C-B. Also zu sagen, C,
wie Kommunikation oder Communication und der Index B ist auf dem Kanal.
So, wenn wir jetzt das Produkttransitionssystem konstruieren,
dann haben wir jetzt, wie gesagt, diese Paare.
Am Anfang S-0 Rnull und wir haben hier den Übergang RA
von D, dass Rnull bleibt immer noch dasselbe,
weil hier der erste Schritt ja ein unsynchronisierter ist
Dann würde der erste synchronisierte einen Schritt kommen mit dem CB-Von D,
wo also die beiden rot markierten Übergänge jetzt gemeinsam stattfinden.
Und dann hätten wir dann noch das abschließende ECDD-Abgabe. Ja,
und nicht in Wirklichkeit haben wir hier,
ist das noch nicht das gesamte Produktsystem,
denn es ist ja auch möglich,
dass bevor jetzt hier das Datum über C abgegeben wird,
das nächste Datum in A schon wieder ankommt,
in unserem späteren Alternierbild-Protokoll wird es so sein,
dass das nicht möglich ist, sodass diese Komplikation,
dass wir schon das nächste Datum mit einbeziehen,
hier nur hier haben und dann später eben auch nicht mehr betrachten zu müssen.
Nicht und das hängt damit zusammen,
dass jetzt hier diese beiden Aktionen auf den Kanälen A und B
jetzt unabhängige oder nebenläufige Aktionen sind und entsprechend der Interliering-Semantik,
wie wir das eben gesehen haben,
können wir die immer als so eine Art Parallelogramm darstellen.
Das heißt, es ist immer möglich, erst A und dann B,
also erst grün und dann blau oder erst blau und dann grün.
Und die Situation haben wir hier auch, wo hier
dieses Parallelogramm hier unten in diesem Produkt Produkttransitionssystem dargestellt ist.
Ja, und dass es sich hier und das nächste Datum handelt,
habe ich hier angedeutet, dass ich hier so einen Strich dran gemacht habe.
Aber wie gesagt, das ist nur eine Problematik hier bei
der Einführung des Beispiels. Ja, und in der Simulation
würde das dann so aussehen, wie eben erwartet.
Dann haben wir hier also die Kommunikation und hier,
jetzt sind wir wieder im Anfangszustand.
Und als nächstes betrachten wir jetzt dann auch noch die externe Sicht.
Externe Sicht bedeutet, wir gucken auf das System,
aber sind nicht in der Lage zu sehen,
was im Inneren passiert
Den Sinn, dass wir zum Beispiel die Spezifikation,
für die Korrektheit des Systems natürlich nur aus der Sicht der Benutzer beschreiben.
Das heißt, das, was auf dem Kanal A und C eben passiert.
Das heißt also, die externe Sicht würde sozusagen das Innere unsichtbar machen.
Ich habe das nur ein bisschen blasser dargestellt. Das heißt,
der Übergang zwischen diesen beiden Zuständen hier unten wäre extern eben nicht sichtbar.
Und das würde dann nur zu allem Zustand führen.
Und die Externe, sich dieses Produkt,
Transitionssystems würde dann so aussehen,
dass ich diese beiden Zustände verschmelze und
die anderen dann übernehme
Und wir sehen, das System verhält sich wie gewünscht.
Ich übernehme hier vom Kanal A, das D und gebe
an den Kanal C, das D auch wieder ab.
Das heißt, das würde sich jetzt also korrekt eben verhalten. So,
und das Altanierbit-Protokoll, zu dem ich ja jetzt kommen möchte,
behandelt jetzt nun die Situation, dass dieser interne Kanal fehlerhaft ist.
Das ist interessant, nochmal ganz interessant, dass Original,
die Originalarbeit zu betrachten,
die jetzt hier von 1969 und Communications auf die ACN drin war.
Und das nannte sich A Note on reliable full deplex,
Transumation over half to blex links.
Weiß jemand, was ein Halbduplex-Kanal ist?
Ja, bitte
Man kann es in eine Richtung, aber auch doppelt,
das wäre deshalb, ja, und ja, sie?
So ist es, ich sage es nochmal leicht,
man kann in beiden Richtungen übertragen, aber nur in eine Richtung zurzeit.
Genau, das ist es. Und das beginnt also so,
dass sie also schreiben in einem Papier,
was also kurz vorher in der Zeitschrift erschienen ist,
hätten sie ein solches Protokoll für ein Halb-Duplex-System betrachtet,
wo ein Fultoplex-Operation in Dargen gestellt wird und die Ähm,
Kanäle wären also fehlerhaft behaftet.
Und das Interessante war, dass sie das angenommen wird,
dass wir also mindestens zwei Steuerbits dazu benötigt würden.
Aber in der Zeit hat man wenig Beweise gemacht und
die Autoren hatten auch keinen Beweis dazu.
Sich von der Clou dieses Papiers jetzt hier von den Autoren,
von den drei Autoren besteht, darin zu zeigen,
dass es mit einem Bit sogar funktioniert.
Und deswegen heißt das Ganze heute, Alternierbit, Protokoll,
denn wir haben also nur ein Bild, was,
also wie es sich für einen Pit gehört,
dann alterniert
Ja, interessant ist auch, dass wir damals diese Automaten-Darstellung schon hatten.
Nicht die haben also hier diese Anfangs-, Anfangszustände hier mit
diesem Pfeil bezeichnet. Und diese unterstrichenen Aktionen sind solche,
die jetzt eine solche Rondo-Wus-Synchronisation mit dem Partner eben beschreiben.
Und ich will das Ganze jetzt in unserem Formalismus oder in
unseren grafischen Darstellungen jetzt eben vorstellen.
Das heißt, wir haben jetzt die Situation,
dass der Kanal B
gestört ist
Was bedeutet das für das Transaktionssystem?
Ja, wir haben jetzt hier noch einen weiteren Übergang.
Nicht statt das korrekte Datum von dem Kanal B zu lesen,
kann eben auch ein gestörtes Signal gelesen werden,
was wir jetzt hier durch das Symbol Beuton darstellen.
Ja, woher weiß denn der Empfänger,
ob das jetzt nun ein korrektes oder ein gestörtes Signal ist?
Also wenn es irgendwie ein Text ist und man kann
den Text nicht lesen, dann könnte das annehmen,
aber im allgemeinen Falle sind solche semantischen Überlegungen nicht möglich
Wer kann sich denken, welche Vorstellung dahinter steht?
Wie kann der der Empfänger R erkennen, dass es sich um ein gestörtes Signal handelt?
Ja, Entschuldigung, bitte. Bitte? Ja, nicht,
das heißt, Prüfsumme waren jetzt, war jetzt die Antwort,
die allgemeine Annahme ist, man schiebt das,
man schiebt das Ganze auf eine andere Ebene.
Sie kennen ja vielleicht das Isoosi-Referenzmodell, was ganz viele Schichten für diese Kommunikationsprotokolle annehmen.
Da gibt es zum Beispiel eine physikalische Schicht,
auf der also Nachrichten übertragen werden und ist eben ein Fehlererkennungsmechanismus gibt,
so wie sie ihn beschrieben haben, der also nur prüft,
ob eben das Signal korrekt übermittelt wurde.
Und in dieser Darstellung wird davon abstrahiert und gesagt,
das geht irgendwie nicht, dass der Empfänger überprüfen kann,
dass diese Nachricht gestört oder ungestört ist.
Und diese beiden Fälle werden jetzt hier durch diese beiden Übergänge
Ja, jetzt zur Eingewöhnung in das Alternierbitt-Protokoll
betrachten wir jetzt dann auch wieder erst nochmal den Empfänger.
Der kann natürlich dann hier auch das gestörte Signal übernehmen.
Er kann das ungestörte Signal hier in R1 jetzt übernehmen und
das gestörte Signal dann hier an der Stelle und würde dann
das gestörte Signal dann auch an den Empfänger dann eben wieder abgeben.
Und wir haben dann diese Synchronisationsrelation entsprechend zu erweitern und
das Produkttransitionssystem würde dann eben so aussehen
Ja, wenn wir wieder die externe Sicht betrachten,
würden wir jetzt diese drei Zustände zusammenschmelzen zu einem Zustand.
Und der Rest würde so aussehen. Und wir haben dann
jetzt hier aus der externen Sicht hier das korrekte Verhalten,
nicht in RA oder im Kanal A,
würde das Datum D gelesen und den Kanal C das korrekte übergeben oder auch der Fehler.
Nicht ist das, was wir erwarten.
Und das Alternierbit-Protokoll versucht jetzt diesen Fehler zu maskieren.
Ja, und das geht jetzt folgendermaßen. Das geht dadurch,
dass wir noch eine Antwort zur Verfügung stellen,
eine Antwortmöglichkeit in Form eines Kanals D,
sodass dann der Empfänger reagieren kann,
wenn er ein gestörtes Signal empfängt, dass er sagt,
ja, war nicht okay.
Und die Reaktion besteht dann darin, dass es einen zweiten Versuch hat.
Und das kann sich wiederholen, bis er tatsächlich das Signal ungestört eben empfängt. Ja,
das würde jetzt also bedeuten, dass jetzt der Empfänger,
im Gegensatz zu vorher, dann hier die Möglichkeit hat,
wenn das Signal gestört ist, gibt er I not okay zurück.
Und wenn es ungestört ist,
gibt er ein okay eben zurück
Und der Sender würde dann reagieren bei Not, okay,
geht ihr also nicht wieder in Anfangszustand,
sondern wieder zurück, sondern schickt das Ganze nochmal.
Und bei einem, okay, geht er in den Anfangszustand
zurück und nimmt das nächste Datum auf. Ja,
das würde dann in Produkttransaktionssystemen eben so aussehen,
dass wir dann hier diese vier Aktionen haben und dieser Zyklus,
wo wir den Fehler haben,
ist hier erkennbar,
nicht wo hier der Fehler auftritt und das not okay
Und wenn wir das Ganze jetzt gewissermaßen als Püchi-Automat auffassen,
der jetzt unendlich oft weiterläuft,
wie das bei den Kommunikationsprotokollen ja gemacht wird,
nicht auch betrachtet man,
es gibt immer theoretisch ein unendliches Verhalten und man betrachtet nicht den Abbruch beispielsweise durch abschaltende Systems.
Dann würde das ja bedeuten,
dass wir hier irgendwann unendlich oft in dieser Schleife wären und
dieses Datum nie bei dem Empfänger korrekt ankommen würde und auch
nicht an den Benutzer abgegeben würde.
Deshalb muss man davon ausgehen, dass irgendwann mal der Kanal
wieder richtig funktioniert, sonst funktioniert das Ganze nicht.
Das ist also
eine Grundannahme dafür
Ja, das betrachten wir dann gleich nochmal,
die an diese Situation. Zunächst nochmal die Externe Sicht.
Da würden wir jetzt also diese Zustände zusammenfassen und die entsprechende,
das entsprechende Transaktionssystem der externen Sicht wäre dann so.
Wir sehen in der Tat, wir haben hier ein ungeschildertes System,
obwohl wir den Fehler hier haben,
wird auf den Kanal C genau das Datum abgegeben,
was vorher empfangen wurde
Ja, wie gesagt, jetzt also mit dieser Schleife hier müssen wir annehmen,
dass diese nicht, dass sie so irgendwann mal abbricht.
Und sowas nennt man eine Fairness-Annahme. Das ist ein bisschen merkwürdige Übertragung,
aber man kann sich das so vorstellen, das bedeutet,
dass zu sagen, der fehlerhafte Kanal ist fair gegenüber dem Benutzer,
ergibt ihm noch eine Chance,
dass nach endlicher Zeit irgendwann mal der wieder korrekt funktioniert.
Und das müsste dann auch durch niedrige Geschichten in dem Isoosi-Referenzmodell
dann abgedeckt werden. Nicht,
wenn wir aber das Ganze als Buchi-Automat auffassen und das als Endzustand nehmen,
dann sehen wir, dann wird das ja bedeuten,
dass wir unendlich oft hier oben durchkommen müssen.
Und das würde ausschließen, dass wir hier unten unendlich oft
in dieser Fehlerschleife uns verhalten
So, das war jetzt also diese Sicht und was fällt Ihnen auf,
was bei dieser Konfiguration noch nicht ganz so überzeugend ist,
in Bezug auf die Fehler.
Wir haben ja jetzt in dem Hin-Kanal den Fehler,
so nicht einzusehen, ja Entschuldigung, ich darf schon verraten, ja?
Nicht warum auf dem Rückkanal, kein Fehler auftreten soll.
Und das ist der Ansatz des Alterniert-Bit-Protokolls,
das auf dem Rückkanal auch ein Fehler auftreten muss.
Und da haben wir dann auch ein okay und not
okay und er trägt das Alterniert-Pit-Protokolls,
besteht jetzt darin,
dass das
miteinander verschmolzen wird
Also zunächst nochmal der einfache Fall, wenn doch
ein Datum geschickt wird, dann wird ein OK zurückgeschickt.
Und wenn ein Fehler auftritt, wird ein Not-OK zurückgeschickt.
Und da wir immer eine Abwechslung haben, ist es klar,
dass das für das letzte Datum gilt, das Not-OK.
So, jetzt betrachten wir die Situation,
dass der Rückkanal auch fehlerhaft ist. Das heißt also,
der Der, der Empfänger würde dann also ein Okay schicken
und der Sender würde dann okay für das Okay schicken,
wenn das okay, also kein gestelltes Signal ist.
Nicht nur den anderen Fall gibt es natürlich auch,
wenn sozusagen das okay gestört, ein gestörtes Signal produziert,
wird er doch eben auch ein Not-OK produzieren.
So, und der Trick im Alternierbild-Protokoll ist so,
dass diesem Datum D noch ein Bit beigefügt wird,
dass die Werte null oder eins haben kann.
Also der Spit erscheint nicht bei den externen Benutzern,
sondern nur bei den internen Kanälen. Und null bedeutet,
okay, und eins bedeutet, Not okay.
Und hier unten dann, ach so, ja,
und bei Null wird dann das nächste Datum dann mit einer Eins geschickt,
damit man sozusagen einen Durchgang von dem Nächsten unterscheiden kann.
So, nicht? Und bei einer, wenn wir null haben,
heißt das ja not okay und dann wird das alte Datum
dann wieder geschickt.
Deswegen heißt hier den Strich wieder das nächste Datum und
die wieder das alte Datum
Ja, das heißt also jetzt in dem Fall mit dem Rückkanal,
haben wir ja im Prinzip dieselbe Situation und es ist so,
dass diese beiden Nullen miteinander verschmolzen werden.
Das heißt also, wenn das Rücksignal okay ist,
wird das zusammengelegt damit, dass dieses okay als ungestört empfangen wurde.
Und genauso das Hinsenal, die Eins, die werden auch zusammengelegt.
Das heißt, wir können uns jetzt überlegen,
was passiert denn bei einem korrekten Versand, aber gestörter Quittung,
dann würde ja Das Datum würde korrekt gesendet und empfangen,
aber die Quittung ist gestört.
Und der Sender weiß nicht, was er tun soll.
Er hat eigentlich nur die Chance, das Datum nochmal zu schicken,
weil es zuerst sein könnte, dass das Datum auch schon gestört war.
Und dann hat der Empfänger das Problem, dass er zweimal das korrekte Datum bekommt.
Das wird aber auch wieder dadurch abgefangen, dass das Alternierbild nicht alterniert hat.
Und er erkennt das also auch da dran. Das würde also bedeuten,
wenn wir die Situation haben,
dass das Datum korrekt wird, aber die Quittung gestört,
dann führt das in dem Alternierbild-Protokoll dazu,
dass das Datum nochmal geschickt worden ist,
aber mit demselben Abit,
sodass es also das Doppeltversandte dann eben erkannt wird
So, und jetzt kommen wir eben zu einem Alternierbit-Protokoll
jetzt in unserer Darstellung von synchronisierten Transitionssystemen.
Wir haben also das Ähnliche wie vorher,
vorher hatten wir ungefähr dieses Bild und jetzt haben wir hier
oben noch sozusagen das entsprechende für den Wert des Bittes 1. Nicht zu sehen,
hier haben wir, wird das Datum de übernommen.
Hier wird der Spit beigefügt, zunächst 1.0 und hier haben
wir sozusagen die symmetrische Situation mit dem nächsten Datum,
D-Strich und dem Bet
Bei der Übermittlung. Hier wird die Eins beigeführt. Und
beim korrekten Verhalten wechseln immer diese Werte des Bits von null
nach eins, von 1 nach 0 und so weiter.
Nicht und bei dem Empfänger sieht das dann also entsprechend aus.
Und das Produkttransitionssystem würde dann eben so aussehen. Und wir
gucken dann gleich nochmal so eine Simulation an Animation an und
zunächst mal betrachte ich jetzt erst nochmal die externe Sicht. Das wird in diesem Fall bedeuten,
dass wir nur die externen Kanäle,
also A und C sehen und alles Das andere,
was jetzt in dem Hellblauen mit drin ist,
sind interne Kanäle und das führt jetzt also zu vier Zuständen und die Übergänge sehen so aus und wir sehen,
ist alles prima, wenn hier ein Datum D von A übernommen wird,
wird es korrekt nach C weitergegeben und das nächste auch schon.
Das heißt, die beiden Fälle, die oben unterschieden wurden,
wo das Bild 0 oder 1 war,
wird jetzt extern,
ist extern
gar nicht mehr sichtbar
So, dann gucken wir mal an, wie das Ganze
ablaufen würde. Also das wäre jetzt der Anfangszustand.
Und wir haben jetzt hier eine Marke für den Sender,
eine Marke für den Empfange und eine Marke für das Produkttransitionssystem,
was also in dem Paar von diesen beiden besteht.
So, erster Schritt ist jetzt über den Kanal A,
wird ein Datum übernommen, hier im Empfänger passiert gar nichts und während hier den Übergang.
So, nächstes ist,
die Übermittlung ist fehlerhaft und wir sind jetzt hier unten in diesem Zustand
hier und wir schicken jetzt eine Eins über das den Fehlerhaft,
der Fehler wird jetzt zurückgeschickt, was hier oben bedeutet,
dass der Sender wieder zurückgeht und das Datum erneut schickt.
Und der Empfänger geht auch in deinen Zustand zurück. So,
jetzt beim nächsten Mal wird das Datum richtig übermittelt mit der
Null als Bit und das Ganze kommt jetzt richtig an und wird
über den Kanal C an den Benutzer eben abgegangen und die Quittung mit Null geht wieder zurück an den Empfänger.
Und dieser Zustand entspricht dem Anfangszustand, das heißt,
jetzt würde genau dasselbe nochmal passieren können,
nur eben mit dem anderen Bit
So, um jetzt den fehlerhaften, den Fehler im Bestätigungskanal
zu sehen, setzt sich das Ganze jetzt nochmal zurück.
Und wir haben jetzt hier die Situation eines korrekten Versands,
aber gestörter Quitto. Das heißt, wird dann die Frage,
dass den Null wird, also doppelt versandt,
aber wir sehen, dass der Empfänger,
das aufgrund des Bittes erkennt und hier wieder zurückgeht und nicht das als neues Datum interpretiert,
was ja bedeuten müsste,
dass er nach oben
dann weitergehen würde
Ja, das heißt also, das wird entsprechend vom Empfänger erkannt,
so wie das hier mit den Pfeilen dann noch mal beschrieben wird in den entsprechenden Zuständen.
Ja, auch hier haben wir natürlich wieder die Fairness-Annahme.
Wir sind diese Schleifen, müssen verlassen werden.
Das heißt, beide Kanäle müssen der Bedingung unterliegen,
dass sie immer mal wieder eine Nachricht korrekt übertragen.
Okay, ist vielleicht ein bisschen viel für einen Moment,
aber wenn sie sich das mal in Ruhe angucken,
dann Er dürfte das gar nicht so schwer sein.
Ja, okay. Gut, wir kommen nämlich jetzt zum
nächsten Abschnitt, den sogenannten Gripgri-Strukturen. Das ist im Grunde
nur ein anderer Name für Transitionssysteme und zwar im Kontext der
temporalen Logik, auf die wir dann danach zu steuern.
Nicht Grippe war ein Philosoph und oder Logiker,
der jetzt diese modale Logik, wo die temporale Logik,
ein Spezialfall ist, untersucht und beschrieben hat.
Und er hat für die Semantik solche Transitionssysteme benutzt.
Und da die doch ein bisschen anders aussehen, als die Transitionssysteme,
die wir jetzt haben, heißen die also Kripke-Strukturen.
Nicht nur im ersten Schritt dazu betrachten wir jetzt etikettierte Transitionssysteme,
das sind solche, wo wir den Übergängen noch Namen geben können.
Wir könnten hier zum Beispiel noch A, B,
C, D und F, also abstrakte Bezeichner dran streiben,
zu den konkreten Bezeichnern, die uns die Aktion beschreiben.
Nämlich man könnte zum Beispiel so sagen, ja,
das Blaue, das Abstrakte ist intern technisch und das Externe ist,
das Schwarze ist extern und semantisch.
Und das ist eben durchaus sinnvoll, Dieses zu unterscheiden,
wie wir das ja auch eben gemacht hatten,
wo wir die interne und die externe Sicht in unserem Beispiel eben hätten.
Okay, und das Ganze nennt sich also etikettiertes Transitionssystem,
was darin besteht, dass wir eine Abbildung haben,
die die Aktionsnamen auf irgendwelche anderen Bezeichner,
irgendwelche andere Zeichen oder Namen eben abbildet.
Und das Ganze wird dann symbolweise auf ganze Wörter
eben erweitert und genauso auf Omega-Wörter
Und wenn wir das Ganze jetzt auf ein Transaktionssystem übertragen,
würden wir hier zum Beispiel die terminalen Aktionsfolgen nehmen und das Ganze
dann auf die Etikette umschreiben und würden dann das ganze Verhalten nicht intermen der internen Aktionen,
sondern intermen der externen Aktionen dann eben sehen.
Und manchmal benutzen wir auch das Äpfelon, was dann sozusagen extern verschwindet,
so wie wir das eben in dem Beispiel auch gemacht haben,
nicht in unserem einfachen Beispiel, könnten wir zum Beispiel sagen,
ja, das Tee kochen, das sieht der Bemerkt der Besuchbenutzer nicht.
Und das bezeichnen wir als Epsilon, das wäre dann intern
und unsere Etikett-Funktion könnte dann eben so aussehen.
Nicht, dass wir Y als Etikett nehmen,
wenn wir Tee kochen, Kaffee kochen haben und sonst erlassen wir das.
Ich sage also, das wäre also intern und extern würde man davon nichts sehen.
So, das waren jetzt aber noch die etikettierten Transitionssysteme und
noch nicht die Kripke-Strukturen, die kommen jetzt.
Diese Kripke-Strukturen werden jetzt zur Analyse von Transitionssystemen benutzt und dabei
werden jetzt also weniger die Aktionsfolgen betrachtet,
sondern vielmehr die Eigenschaften der Zustände
Das heißt, wir haben jetzt einen Sichtwechsel von den Namen
der Aktionen hin zu den Zuständen, die eingenommen werden.
Und diese Eigenschaften werden jetzt durch Atomaren eure Aussagen in den Zuständen beschrieben,
wo ich entsprechend der Bulsch in Algebra oder der Aussagenlogik
dann logische Kombinationen von bilden kann.
Ja, und so eine Zustandsetikettenfunktion weiß dann jedem Zustand
die Menge der Lokalgültigen atomaren Aussagen zu
Ja, um diesen Shift von den Aktionen zu den Etiketten der Zustände oder Eigenschaften
der Zuständen deutlich zu machen, greife ich jetzt mal vor.
Das ist jetzt das Petrinetz des Alternierbeet-Protokolls, was also im
nächsten Hauptabschnitt dieser Vorlesung kommt, wo ich Sender und Empfänger habe.
Das heißt, das ist entspricht zu sagen, dem Sender-Transitionssystem,
das Empfänger-Transaktionssystem und in Gelb und Roh haben wir die korrekte und die nicht korrekte Übermittlung.
Das sollen sie aber jetzt gar nicht genau angucken,
weil wir das ja noch gar nicht eingefügt, eingeführt hatten,
sondern ich will jetzt nur eine Geschichte erzählen,
die mir da mal mit einem Fehler passiert ist.
Wir hatten da einen Workshop eines europäischen Projektes in Spanien und
ich hatte dieses Petrinetz irgendwie den Kollegen in Paris geschickt,
die das dem Model-Chaker unterworfen haben, um zu sehen,
dass sich das korrekt in deren System übersetzt hatten.
Und dann stellte sich heraus, das funktioniert gar nicht richtig. So,
und die haben dann in dem Model-Check-System diesen Zustandsgrafen konstruiert und das Ganze sah dann eben so aus,
was sie jetzt kaum erkennen können,
aber das war hier zum Beispiel der Anfangszustand,
was man aber erkennt, sind Übergänge und neue Knoten.
Die Knoten sind immer Zustände des Petri-Netzes und die kannten,
also die Kanten sind die Übergänge und die Knoten sind die Zustände,
was man aber auch in diesem Gruppenbild erkennt,
dass wir hier an der Stelle eine Sackgasse haben.
Nicht und eine Sackgasse sollte es ja im Alternierbit-Protokoll nicht geben,
denn das bedeutet ja nichts anderes als eine Verklemmung,
das war also
der Fehler
Nicht, und wenn wir uns das genauer anschauen mit einem Zoom,
dann sieht das eben so aus, dass wir hier in
der Tat hier an den Zuständen jetzt irgendwelche Belegungen von Variablen haben.
Hier sind zwar die Aktionen auch benannt,
aber das ist sozusagen nur ein Komfort und ein Benutzer,
weil es nämlich so ist, wenn einmal so ein Fehler erkannt ist,
dann ist es bei den Modelchecker-Checksystemen auch so,
dass sie ihm einen Pfad angeben vom Anfangszustand zu dem Fehler,
was einem dann erlaubt, dass systematischer zu untersuchen,
wie es zu dem Fehler gekommen ist.
Denn sonst ist es ja bei nebenläufigen Systemen so,
dass Ort eben sehr viele Fehler auftreten,
die aber nur zufällig aufgrund der unterschiedlichen relativen Geschwindigkeiten der Aktionen
auftreten und das manchmal kaum oder schwer möglich ist,
einen solchen Fehlerzustand zu rekonstruieren.
Naja, und der Fehler lag dann in irgendeiner trivialen Syntax,
wie das ja häufig der Fall ist,
dass ich da bei dem Guard eine falsche Syntax eingesetzt hatte
in Bezug auf das andere System da.
Und das haben wir dann korrigiert. Und hier sieht es
dann also richtig aus. Und wichtig ist jetzt nur,
dass wir hier keine Sackgasse haben, aber eben auch,
wie groß dieses Transaktionssystem ist.
Das heißt, für das Alternierbit-Protokoll in Form des Petrinnetzes
hatten wir 64 Knoten und 108 Kanten
Ist natürlich im Vergleich zu richtigen großen Systemen wenig,
aber für die Handbearbeitung ist es in dem Falle aber auch schon ungeeignet.
Und deswegen werden normalerweise diese Model-Checkering-Systeme nicht so gebaut,
dass sie irgendwie einen Grafen ausgeben, sondern man darf eine Anfrage stellen.
Zum Beispiel gibt es eine Verklemmung und das Model-Check-System sagt dann,
keine Verklemmung, alles okay oder ja und dann wird ein solcher Pfad geliefert,
der zur Verklemmung führt und man kann das Ganze dann untersuchen.
Okay, das nur zur Motivation und wir kommen jetzt also
wirklich zu den Krepke-Strukturen
Im Beispiel. Dann nehmen wir jetzt also unseren Kaffeeautomaten wieder
und wir führen jetzt hier Bedingungen ein oder Aussagen ein,
die in den einzelnen Zuständen gelten.
Wir haben hier also zum Beispiel Alpha 1, Alpha 2,
Alpha 3 und Alpha 1 könnte zum Beispiel sagen 1 Euro bezahlt,
Alpha 2 könnte bedeuten, Tee gewählt, Alpha 3 heißt Kaffee gewählt.
Sie sehen also diese Aussagen beschreiben dann gerade die Aktionen in
dem Fall, die wir gemacht haben und ersetzen das gewissermaßen
die Aktion
Hier unten haben wir dann Alpha 1 und Alpha 2,
weil wir ja hier einen Euro bezahlt haben und einen Tee gewählt haben.
Hier haben wir die leere Menge,
weil wir da den Zustand eh nicht von außen sehen und
uns den gar nicht interessiert, was da der Fall ist.
Und hier oben haben wir auch nichts, weil wir hier zu sagen,
am Anfang sind oder einen neuen Zyklus beginnen. Das heißt,
man sieht an dieser Stelle auch diese Aussagen,
die den Zuständen zugeschrieben werden, sind sozusagen nicht Von vornherein festgegeben,
sondern die hängen vom Interesse desjenigen,
der das System benutzt oder der es verifizieren will, ab.
Das heißt, der Benutzer oder der Verifizierer muss die richtigen
Fragen stellen und muss dann die entsprechenden Zustände entsprechend eben beschriften.
Deswegen ist mit einer solchen Kripke-Struktur eben eine solche Menge AP von atomaren Aussagen,
Atomic Propositions gegeben und es gibt hier sozusagen eine Zustandsetikettenfunktion,
die jedem Zustand eine Menge von solchen atomaren Aussagen zuordnet
Ich dieses P von heißt jetzt hier, die ist die Potenzmenge,
nicht, was man manchmal auch zwei hoch abheben schreibt.
Das heißt also, jedem Zustand wird eine Menge von atomaren Aussagen zugeordnet.
Für mich und in die Tat kann diese Menge einer Menge sein,
es kann die leere Menge sein oder es kann eine Menge mit mehr Elementen sein,
aber wir haben immer nur eine endliche Menge von atomaren Aussagen.
Das heißt also,
wir können dann höchstens zwei Hochanzahl der atomaren Aussagen in einem
solchen Zustand
dann eben haben
Ja, also hier haben wir nochmal hervorgehoben,
dass Alpha 1 würde bedeuten, ein Euro bezahlt und A2 könnte sein,
Tee gewählt und unten in S2 haben wir das beides.
Und wenn wir zum Beispiel hingehen und also jetzt in
der Kripnussstruktur ist es dann eigentlich so,
dass wir diese Aktion nicht mehr betrachten und nur anhand dieser
atomaren Aussagen können wir jetzt die Korrektheit unseres Systems untersuchen
Nämlich ein anderes Beispiel wäre hier dieses Transitionssystems eines Atomkraftwerkes,
wo wir haben am Anfang sozusagen den Normalzustand und dann haben wir den Zustand,
dass ein Fehler auftritt und dann haben wir die Situation,
wo das Atomkraftwerk eben fehlerhaft ist. Wenn ich da sehen Sie,
wir haben wir an den Kanten mal nichts dran geschrieben,
um zu sagen,
ein Grinner Grip-Kulkultur in Rheinform zu haben und die sehen,
das ist natürlich eine extrem extre Abstraktion,
weil eine Atomkraftwerk natürlich ein paar mehr Zustände hat als drei,
aber wenn einem nur gerade das interessiert im Model Checking,
dann kann ich eben erst auf drei Zustände reduzieren und mit ganz wenigen Aussagen,
also hier sogar mit einer, auch schon was Sinnvolles machen.
Also dann haben wir hier den Normalbetrieb und wir haben einen Übergang,
den wir nicht benannt haben,
entweder wieder in den Normalbetrieb oder in den Störzustand.
Und danach kommen wir unmittelbar dann in den Störbetrieb.
Nämlich ohne der Temporalen Logik können wir dann zum Beispiel an
das Model-Checking-System solche Anfragen stellen. Gibt es einen Ablauf,
wo wir irgendwann mal in einen Zustand kommen,
wo die atomare Aussage F gilt
Das ist ja dann durchaus eine relevante Frage. Nicht,
das wird, also ein kleines Beispiel,
unser Standardbeispiel wird aber dieses Beispiel des Mikrowellenofend sein,
wo wir hier jetzt ein Grundvorrat von vier atomaren Aussagen haben, nämlich Start,
Klos, was sich auf die Tür des Mikrowellenofen bezieht,
hieht, was sich auf den Heizvorgang überzieht und Error natürlich auf einen Fehler.
Und wir haben gedacht, hier eine solche Kombination. In diesem Zustand gilt,
sind wir nicht mehr im Start, die Tür ist geschlossen,
es wird noch nicht geheizt und wir haben auch noch keinen Fehler.
Das heißt, in diesem Beispiel hätten wir es so,
dass jetzt hier das Etikett des Zustands 3 besteht aus dieser Kombination.
Nicht und wir könnten zum Beispiel so eine Frage stellen,
wenn Start und nicht Error, dann gilt später mal Heat, ob das gilt.
Das sind so typische Fragen, die wir dann mit Hilfe
der temporalen Logik analysieren und an diesem Beispiel dann auch konkret untersuchen.
So, jetzt kommen wir aber zur Definition der Gripre-Struktur,
weil das ja eigentlich auch ein Transaktionssystem ist,
bräuchte ich ja nur die Motivation zu beschreiben.
So ist es
auch im Skript geschehen
Da aber die direkte Definition insgesamt einfacher ist,
haben wir das Ganze nochmal neu aufgesetzt.
Und dazu brauchen wir dann den Begriff der links-totalen Relation.
Nicht das ist eine binäre Relation, eine Teilmenge eines zweifachen kathesischen Produktes.
Und diese Relation kann die Eigenschaft links total haben.
Weiß jemand, was das bedeutet oder was es bedeuten könnte
, links total? Wir haben ja in Relation,
kann ich ja so darstellen,
dass ich hier sozusagen die beiden Grundmengen haben und da habe
ich Elemente drin
Und da habe ich jetzt hier Pfeile drin.
Das ist die Relation. Und was könnte da bedeuten,
dass sie Links total ist? Ja, bitte. Bitte?
Das bei aller Pfeile nach? Nach rechts. Die Relation,
das hat ja immer eine erste und eine zweite Komponente.
Die Pfeile müssen immer von links nach rechts gehen. Und ich so,
wenn wir hier ein A haben und hier ein A-Strich,
dann wäre jetzt hier A-A-Strich in unserer Relation R heißt die da oben.
Sich das hier wäre das X und das hier wäre das Y.
Nicht für Links total heißt, dass von jedem Element ein Pfeil ausgeht.
Das wäre also nicht Links total. Das heißt also,
Für jedes Element von der ersten Menge gibt es einen Partner Y in der anderen Menge.
Ja, wenn jetzt das jetzt sozusagen die Überführungsrelation wäre,
was bedeutete das im Transitionssystem?
Das würde ja bedeuten, dass sowas ausgeschlossen ist.
Denn von diesem Zustand hier hätten wir ja einen Partner,
nämlich den Nachfolgerzustand, aber von diesem hier nicht mehr.
Das heißt, wenn wir sowas für unser Transitionssystem fordern,
dass die Transitionsrelation links total ist,
dann fordern wir nur, dass es keine Sarggassen gibt,
keine Verklemmungen
Und das hängt damit zusammen, weil wir ja als Semantik unendliche Folgen betrachten.
Und wenn wir hier in so eine Sackgasse kommen,
wäre ja eine unendliche Folge eben nicht mehr möglich.
Das heißt, wir wollen nur links totale Transitionsrelationen betrachten,
damit jeder endliche Zustandsfolge Anfangsstück einer unendlichen Folge ist,
dass keine Sackgassen eben entstehen. Man kann aber natürlich,
wenn man das zu sagen vorfindet, das so modifizieren,
dass man hier künstlich noch einen Zustand anfügt,
indem man also verbleibt und würde dann diese Bedingung formal erfüllen
und könnte trotzdem immer noch dasselbe modellieren.
Das heißt,
wenn das hier zum Beispiel eine Verklemmung ursprünglich wäre,
könnte ich doch das Etikett Verklemmung reinschreiben und das
immer noch entsprechend eben ansprechen
Ja, nicht. Und so eine Kripke-Struktur ist jetzt im
Grunde ein Transitionssystem, wo ich keine Aktionsmengen mehr betrachte.
Das heißt, formal könnte ich sagen, alles dasselbe.
Ich habe nur ein elementiges Aktionssystem. Und die Transaktionsrelation eben links total ist.
Und außerdem eine Etikettenfunktion hat, wie eben beschrieben.
Wie gesagt, da das ein bisschen grampfig ist,
definieren wir jetzt also eine Gripgrestruktur nochmal extra.
Steht hier aber
gar nicht
Fehlt mir jetzt diese, die Defension der Grillkürgestur.
Ich gucke nochmal nach, ob ich das hier eine Folie
übersprungen habe. Ja, da ist sie ja.
So, das ist jetzt die kompakte Definition der Gribkrestruktur.
Jetzt sozusagen mal ein neuer Ansatz.
Also eine Gribkrestruktur besteht aus einer Zustandsmenge
Einer Menge von Anfangszustände, einer Transitionsrelation und diesen Etiketten.
Also nochmal im Einzelnen, einer Zustandsmenge S,
nicht notwendig, endlich. Eine Menge von Anfangszuständen,
also eine Teilmenge, dann unserer berühmten Links totalen Transitionsrelation.
Jetzt haben wir Paare vom Zustand zum nächsten Zustand,
weil wir die Aktionen nicht mehr benennen. Statt vorher,
denn der Trittel im Intransitionssystem haben wir jetzt Fahre und dann einer Zustandsetikettenfunktion,
die jedem Zustand jetzt eine Menge von atomaren Aussagen eben zu ordnet.
Nämlich wie hier ein Beispiel, hier haben wir drei Zustände, einen Anfangszustand.
Die Etikettenfunktion ist hier reingeschrieben. Die Namen der Zustände stehen da drüber.
Entsprechend hier bei dem Mikrowellenofen. Und sie sehen, naja,
und hier haben wir bei dem, in dem Beispiel,
haben wir eine Tradition, wo nichts dranstehen.
Hier stehen zwar die Aktionen dran,
aber das ist sozusagen nur ein Add-on,
was nicht um Formalismus gehört,
sondern nur der Lesbarkeit durch den Benutzern dehnt
So, ja, und da wir jetzt nun keine Aktionen haben,
betrachten wir jetzt natürlich auch nicht die Aktionsfolgen, sondern die Zustandsfolgen.
Und das schreiben wir dann hier als El Omega von M.
Und da haben wir wie vorher solche Fahrt,
da ist 0S1L2, wo dann irgendwelche Aktionen dran stehen können,
die wir aber nicht betrachten. Das heißt,
im Grunde betrachten wir eben nur solche unendlichen Folgen von Zuständen,
also Elementen von Esvoch Omega, wobei S, die Zustandsmenge ist.
Und es muss immer so sein,
dass wir von einem SI zu einem SI plus 1
nur übergehen dürfen,
wenn wir in der Zustandsüberführungsrelation
eben sind
So, und jetzt können wir sagen,
die Menge aller Zustände von M ist dann dieses SS von M,
das ist die Menge Alapi, solcher P hier,
das dann eine Rechnung ist, wie hier definiert.
Und dann ist es eben auch oft sinnvoll,
dann zu dieser Etikettenfunktion dann überzugehen, die oft auch eine Trace heißt.
So, und dann kommen wir hier noch sehr schön hier
zu unserem Beispiel. Wenn wir jetzt hier also mal wieder
unseren Kaffeeautom-Tee-Kaffeeautomaten betrachten und sie jetzt hier die Transitionsbeschriftungen mal vergessen,
dann wären jetzt eine Rechnung, wäre jetzt hier zum Beispiel die Folge S0S1
Und dann haben wir hier die zwei Möglichkeiten. S2S4 oder
S3S5. Und da geht das Ganze wieder von vorne los.
Also Hochomega. Das heißt, das wäre jetzt die Variante,
dieses Transitionssystem unter Nichtbetrachtung der Transaktionsnamen,
aber nur unter Betrachtung der Zustände und die entsprechenden Folgen.
Ja, und dann können wir jetzt auch die Etikettenfolge betrachten.
Nicht, das wäre jetzt das ES von dem ganzen Ausdruck
hier. Und das würde sich dann entsprechend übertragen.
Und im Einzelnen gelesen heißt das, wir fangen hier an
mit der leeren Menge.
Dann kommen wir hier nach Alpha
Und dann kommen wir entweder nach Alpha 1, Alpha 2,
gefolgt von der leeren Menge oder nach Alpha 1,
Alpha 3 gefolgt von der leeren Menge.
Und dann geht die ganze Geschichte nochmal los. Nicht,
das wäre also das, was man eben auch eine Trais nennt.
Ja, ist das soweit klar geworden? Das heißt,
Sie können einerseits Ihre Vorstellungen von den Transitionssionssystemen oder Büchi-Automaten beibehalten.
Sie müssen nur den kleinen Shift machen,
dass Sie jetzt von der Betrachtung der Aktionsfolgen übergehen zu
den Folgen der Zustände zusammen mit den Etiketten,
also den Mengen von atomaren Aussagen, die diesen Zuständen zugeordnet sind.
Nicht und dann können wir in der nächsten Stunde weitermachen,
wie wir solche Grippe shodieren, beispielsweise codieren.
Das wäre es dann erstmal für heute.
Vielen Dank