Ja, schönen guten Morgen. Ich fange also mit der Wiederholung
heute an bei der geschützten Rekursion. Und Sie erinnern sich ja,
das war ja motiviert dadurch, dass wir gesehen hatten,
die normale Rekursion kann verschiedene Lösungen haben.
Und das sollte dann eine Einschränkung oder das wurde eine Einschränkung,
um die Lösung eindeutig zu machen
Ja, ich finde, das war eben so definiert,
dass wir diese Form fordern, also eine Summe oder Alternative,
wo jeder Somant oder jede Alternative mit einer Aktion beginnt.
Und das war noch etwas zu scharf, weil man eben auch erlauben sollte,
dass man durch Umformung auf diese Form kommt.
Nicht also Umformung in unserem ACP-Kalkül. Ich habe jetzt bei
der Betrachtung, bei der Prüfung der neuen Aufgaben gesehen,
dass es vielleicht praktisch wäre, dafür einen Namen einzuführen.
Nicht linear, ist ja schon vergeben, kommt ja später nochmal eine stärkere Einschränkung.
Ich hatte das hier mal abgeschirmt genannt. Vielleicht führe ich
das mal als Namen für diese Form an, damit man die absprechen kann.
Nicht, weil die Rekrusion heißt eben auch geschützt,
wenn sie nicht diese Form hat, aber dahin ungeführt werden kann,
nicht und es vielleicht praktisch ausdrücken zu können,
dass es schon diese Form hat.
Das hatten wir auch an dem Beispiel gesehen,
wo wir dann das dritte, das dritte Beispiel schon,
dritte Gleichung schon die Form hat.
Die zweite fügen wir, formen wir um,
indem wir die dritte in die zweite einsetzen.
Bei der ersten müssen wir dann nochmal den Apparator auflösen und
bekommen dann letztendlich auch diese Form. Ja,
und das Ergebnis ist, dass die Rekursiven ein Rekursivenspitze wie Spezifikation besitzt,
genau dann eine eindeutige Lösung, Modologiesimulation,
wenn sie geschützt ist,
nicht und für das genau dann brauchen wir natürlich dann
auch diese Möglichkeit der Umformung
Ja, das sind also Beispiele, die nicht geschützt waren aus unserer Einleitung.
Und wir können jetzt also auch von der Lösung sprechen und geben dir auch diese Bezeichnung mit diesen Spitzenklammern.
Dann bei den Transitionsregeln hatte ich voraus geschickt,
dass es das auch eben wichtig ist,
in diese Form, diese abgeschirmte Form zu bringen,
weil wir ohne dies ja dann hier solche Übergänge hätten, die keinen Aktionsbezeichner hatten.
Wir haben zwar dann später das letzte Mal diese stillen Transitionen
mit dem Tau definiert, aber sie erinnern sich ja,
was das für Umstände gemacht hat, was das für Konsequenzen hat,
dass die B-Simulation geändert werden muss und noch vieles mehr.
Braucht man an dieser Stelle noch nicht, sondern es genügt,
dass man dann eben diese abgeschirmte Form dann eben nimmt.
Und dann kriegt man eben einen Prozessgrafen, der eben der Definition genügt, die wir bisher hatten.
Das heißt, an jedem Fall steht ein Bezeichn an. So,
und die Transitionsregeln dazu,
die sahen dann eben so aus, dass wir,
um eben hier eine solche solchen Übergang zu definieren,
wo wir hier eine Rekursionsvari oder eine Lösung haben, eine Lösung haben,
dann genügt es vorher die rechte Seite der entsprechenden Gleichung abzuleiten,
sodass wir dann eben mit der Motivation,
dass diese Rechtesseite ja verhaltensgleich sein soll mit der linken Seite,
dann dazu, dass wir dann auch den Übergang von einer solchen Lösung dann berechnen können.
Nicht und das entsprechende dann auch, wenn das Ziel,
nicht die Termination, sondern ein Restprozess Y eben ist.
Auch wieder mit der gleichen Motivation
So, und das Beispiel war jetzt das Anfangsbeispiel,
in dem wir jetzt den Übergang Armen abgeleitet hatten.
Und das ging ja so, Leos, dass wir auf
jeden Fall wieder mit dem immer noch einzigen Aktionen beginnen.
Und dann eben die Rechte sein. Dieses Ziel ist ja,
gerade einen Übergang abzuleiten, der hier bei der Lösung für das X startet,
gucken wir in die Gleichung und versuchen dann die rechte Seite hier abzuleiten,
in Form eben der Erlösung.
Nicht, was wir dann hier durch Anwegen, Anwendung der Regel mit dem Produkt eben bekommen.
Nicht und dann können wir den Schritt in der Tat ausführen,
dass wir die rechte Seite durch die linke Seite ersetzen und dann die gewünschte,
das gewünschte Ergebnis eben bekommen. Ja,
dann hatten wir noch einen kleinen Einschub, eines etwas merkwürdigen Beispiel,
zumindest im Kontext der Prozessalgebrade, die Multimenge,
wo wir eben immer gleich viele sozusagen hinzufüge Operationen und Löchoperationen haben,
die aber eben partiell unabhängig sind,
nicht was dazu führt,
dass wir hier für die rekrusive Spezifikation dann hier
auch den Parallelopperator
eben einführen können
So, dann sind wir zu den Aktionen übergegangen,
haben wir zwei, nämlich das RBP, was schlicht einfach nur rechtfertigt,
dass dieses Hilfszeichen dann tatsächlich so wirken soll,
wie das Gleichheitszeichen vorher, das heißt gleichbedeutend mit der Bisimulation sein soll.
Und das war also der Schritt von der Spezifikation zur Gleichung.
Und dann gab es noch ein zweites, nicht,
dass man die Lösungen von einer Lösung eine neue kriegt,
nicht was dann insbesondere interessant ist,
wenn wir ganze Ausdrücke durch eine Variable ersetzen können,
wie wir dann an den Beispielen gesehen haben
Ja, hier war ich zunächst mal nur noch ein Beispiel,
ein einfaches Beispiel für diese beiden Aktionen.
Also hier gehen wir über von dem Hilfszeichen zu der Gleichheit und hier
unten wollen einer Lösung mit dem X zu dem Y. Ja,
ein bisschen umfänglicher, aber auch noch nicht sehr weitgehend,
weil dieses Beispiel, wo wir dann von der Gleichung,
zgleich AZ, nicht was als Lösung,
ja eine unendliche Folge von ASHA,
zu der gekommen sind,
wo wir hier
immer zwei AS betrachten
Für mich, was wir dann auch eben dazu benutzen,
aus dem Ex und Set zu machen.
Oder sogar drei As. Und daraus wieder ein Set.
Und ich hatte noch eine kleine Variante, wo wir noch die Alternative beten hatten.
Und wo wir dann gesehen hatten, wenn wir das genauso machen.
Und an dieser Stelle fälschlich das Linksdistributivgesetz einsetzen,
dann kommen wir zu etwas, was eben nicht wie Semilar ist,
weil wir oben den Fehler gemacht hatten, Das war gewissermaßen nur,
um zu zeigen, wenn wir von dieser Form abweichen,
was dann alles eben passieren kann.
Okay, dieser Schritt ist also nicht erlaubt und deswegen ist das auch nicht, wie Semila. Ja,
dann das Beispiel aus dem Skript, das war jetzt dieses,
wo wir diese beiden zyklischen Prozesse haben, einmal mit As und Bs,
was wir als Automator, Traditionssystem so darstellen können,
die aber kommunizieren sollen und wo aus dem Abend B,
bei der Kommunikation das C wird.
Und die Rechnung lief dann so,
dass wir also zunächst wieder
den Parallelaperator auflösen
Dann wegen des Links, des Merch, das A und B und C rausziehen.
Wobei das mit dem A und B dann unterdrückt wird,
wegen des Unterdrückungsapparators und dann letztendlich nur der Teil mit dem C über,
übrig bleibt. Und jetzt hier war das Wichtige,
dass wir den ganzen Ausdruck durch Z ersetzen können und dann zu dieser Erform kommen,
die natürlich einfacher aussieht und direkter beschreibt,
was wir da auch in dem Bild eben haben.
So, dann hatten wir einige Theorieme von Eigenschaften,
dass wir hier wieder eine konservative Erweiterung haben bei der
geschützten Rekursion und dass die Visimulation eine Konkurrenzrelation ist.
Und dass der Kalkül ACP korrekt ist, das heißt aus
der Äquivalenz folgt die Bi-Simulation, über die Bi-Simularität.
Aber RSP ist nicht korrekt für ungeschützte Rekursionen,
wie man an dem Beispiel nachlesen kann. Wichtiger ist aber,
dass eben mit diesen Rekursionsaktionen,
dass der Kalkül nicht vollständig ist,
auch nicht für geschützte Rekursion und
dass da noch eben weitergearbeitet werden muss
Das führte dann dazu,
dass wir eben diese rekursiven Spezifikationen noch weiter eingeschränkt haben,
zu linear, wo also hier nach dem abschirmten Aktionen,
wie ich das eben genannt habe,
da nun noch eine Variable stehen darf.
Ja, oder keine. Ja,
dann hatte ich noch mal auf die Ähnlichkeit zu den linearen oder einseitig linearen Grammatiken hingeführt,
hingewiesen, die ja auch zu regulären Mengen erführen und insofern sehr ähnlich sind,
zu Automaten,
sodass wir hier bei den Prozessgrafen sowas erwarten können,
wie eben ein Transitionssystem
Ja, auf diese Art und Weise erreichen wir jetzt die Vollständigkeit,
also im Kalkül ACP, mit linearer rekursiver Spezifikation und den beiden Axiumen für die Rekursion.
Ja, dann noch was Technisches, nicht,
was wir heute häufiger nachher in den Beispielen machen werden,
dass wir umformen dürfen,
also die rechten Seiten mit Hilfen unseren Aktionen umformen dürfen,
was irgendwie selbstverständlich erscheint,
was man aber erstmal formal nachweisen muss,
dass das eben die Lösungen der Gleichungen
eben nicht verändert
Nicht beispielsweise kann man hier aus dieser, die rechte Seite vereinfachen,
mit dem bekannten Aktionen, das heißt, die identischen,
so manten, zu einem machen, mit A3,
wie wir unten jetzt dargestellt.
Und man kann X durch die rechte Seite ersetzen,
was wir eben auch schon mal gemacht haben.
Und man kann umklammern beispielsweise und dann dazu kommen. Gut,
der nächste Abschnitt war dann jetzt Abstraktion,
wo es zunächst mal noch einige Beispiele wiederholt hatte,
die wir früher hatten, nämlich bei den Petri-Netzen,
wo wir hier einen ganzen Bereich abstrahiert hatten und wieder zu
einem Petri-Netz gekommen sind
Oder bei Transitionssystemen, wo wir interne Aktionen durch Y bezeichnet hatten,
selber bei endlichen Automaten, wo wir interne, spontane Transitionen hatten.
Und das war jetzt hier dieses Beispiel mit dem Getränkeautomat,
wo wir hier diese Aktion als intern,
das heißt von außen nicht sichtbar, gekennzeichnet hatten.
Ja, und das machen wir jetzt auch in der Prozessalgebrabu,
die intern oder stille Aktion jetzt Tau heißt. Ja,
nicht, das hatten wir dann hier auch bei diesem Beispiel,
was dann zum Alternierbit-Protokoll führt,
basiert auch die Motivation war,
das hier zu behandeln
Zunächst bekommen wir dann also zu unserem einzigen Aktionen noch ein zweites,
nämlich was sehr ähnlich aussieht, jetzt nur mit Tausch statt einer Aktion A.
Also das war ja bisher das Einzige und das ist,
er kommt dann noch als zweites hinzu.
Ja, und dann haben wir eben noch einen Abstraktionsoperator,
der aus einer Aktion von der internen Sicht zur externen Sicht eben das Tau einführen kann.
Und das geschieht erst natürlich dann,
wenn das V zu dem Index I gehört,
dann wird aus dem VNE, wenn es nicht dazu gehört,
ändert sich das V nicht und hier links wieder dieselbe,
dasselbe,
wenn rechts
die Termination steht
Und der Kalkül, der heißt jetzt also ACP indextauen.
So, dann gab es jetzt noch eine Diskussion,
was jetzt der Tau-Opperator für Aktionen haben sollte. Und naja,
wenn man das intern als still oder spontan bezeichnet und das
Vergleich mit wirkungslos, dann gibt es da einige Probleme,
wirkungslos im Sinne, dass die Bisimulation eben erhalten bleiben.
Da hat man so ein ähnliches Beispiel wie eben vorher,
wo wir hier eine Verzweigung, eine Alternative hatten,
wobei hier im unteren Teil das zu einem Deadlock führen kann,
der dann die nicht Miliarität begründet,
in dem in Anfalle hier wir in den Deadlook laufen und zum anderen Falle aber,
dass hier vorher schon abgefangen wird und wir dann nur noch die einzige Möglichkeiten dann eben haben.
Ja, und das sah dann eben so aus,
dass wir die internen Aktionen dann,
also die Kanäle zwei und drei als interne Aktionen definiert haben,
was für diesen beiden Taus hier führte und was dann eben nicht mehr Bisimilar zu dem ist,
wenn wir die Taus hier einfach weglassen,
weil wir hier unten die Alternative zu dem Deadlook haben,
und nicht hier nicht haben.
Hier haben wir die Alternative, sondern die zweite Alternative entfällt ja.
Also haben wir immer noch die erste Alternative,
während hier wird das durch das Tau gewissermaßen schon in die Verzweigung
reinlaufen und dann nicht mehr rauskommen und im zweiten Fall dann bei dem Deadlove hängen bleibt.
Ja, nicht das entsprechende gilt dann auch für diese Beispiele.
Und die Frage ist, was machen wir?
Und da haben wir als Beispiel zum Beispiel dieses Aktion hier,
wo wir sehen, wenn wir hier die rechte Alternative wählen,
dann verlieren wir eben nicht die Möglichkeit mit A und B,
so wie es rechts eben essen.
Ja, und das wird durch die sogenannte Verzweigungs-B-Simulation gewährleistet,
die jetzt eine Erweiterung der B-Simulation ist, um dieses Tau.
Nicht, wo man also erstens die Möglichkeit haben,
dass wir eine Tau-Aktion haben,
dann soll also die B-Simulation erhalten bleiben oder wir haben eine normale Aktion,
dann soll hier auf der anderen Seite noch eine endliche Folge
von Taus möglich sein,
aber dann auch wieder wie vorher das A eben kommen
Und das ist aber auch wieder zweiseitig, deswegen haben wir
das selber von der anderen Seite und das Entsprechende mit der Termination.
Ja, und das neue Zeichen war jetzt hier,
unser Bi-Simulationszeichen mit dem B,
und das kam von dem englischen Begriff von Branching bei Similla.
Ja, Lächeln,
das kann man an dem Beispiel her auch sehen,
dass wir
dann hier die Bi-Simulation eben verletzt haben
So, und hier ein positives Beispiel,
wo wir in den ersten Teil hier sehen, mit dem Taum,
dass dann die Bisimulation hier erhalten bleibt oder mit dem A hier,
in dem zweiten Fall,
wo wir dann auf der anderen Seite dann noch eben auch wieder dahin kommen,
um aber vorher eben, oder ja vorher noch ein Tau haben können.
So, und das war jetzt die gesamte Relation und
nochmal ausgeschrieben
Jetzt gab es noch ein Problem, dass das jetzt leider keine Konkurrenz ist,
was aber essentiell ist, wenn wir damit rechnen wollen.
Man sieht hier zum Beispiel Tau A und A, sind Verzweigungs-B-Seminar,
aber wenn ich da Konkurrent auf ein Plus auf beiden Seiten hinzufüge,
komme ich wieder zu so einem Gegenbeispiel.
Und das ist eben unschön, weil das unser Rechnen mit
den Ausdrücken eben nicht mehr erlaubt. Ja,
und dann schränken wir also ein und haben eine sogenannte Initialisierungsbedingung,
nicht gesehen, da haben wir ein initiales Tau,
nur auf der einen Seite
Wie hier eben auch an diesen Beispielen. Und das wird
jetzt eben behoben durch die sogenannte initiale Verzweigungsbisimulation. Okay. Und
das bezieht sich aber hier auch wieder auf die einfachen Verzweigungsbisimulationen,
in denen nur gesagt wird, das ist sozusagen wie vorher,
dass wir die Aktion A haben, aber danach soll es verzweigungswisimilar sein.
Ja, und das Zeichen ist jetzt hier mit einem RB,
nicht dass er jetzt für routet
Branching by Simulation. So,
und dann hier nochmal sozusagen die Beziehung, nicht,
dass eben hier haben wir zwar einiges eingeschränkt,
aber wir haben ja mehr als vorher,
weil wir hier eben ja immer noch das Tauben erlauben,
aber das war in der Tat eine Einschränkung zu dem hier.
Und deswegen ist das eine Obermenge als Menge von Paaren betrachtet.
Und wenn wir gar keine Taus haben,
dann sind die alle drei gleich.
Also wieder sozusagen die Vorstellung von der konservativen Erweiterung
So. Ja, dann kommen wir jetzt zur,
den Begriff der linearen Rekursion, die wir jetzt,
also die Geschützrekursion, die müssen wir jetzt noch erweitern.
Und zwar haben wir jetzt zu diesem Term des linearen,
brauchen wir jetzt aber noch ein weiteres,
weil wir nämlich ausschließen müssen, dass wir unendliche Folgen von Taus haben,
wo man ja gewissermaßen extern nichts mehr sieht.
Und das kommt jetzt also noch hinzu, welches eben dadurch motiviert,
dass wir jetzt in dieser Form, die wir vorher haben,
diese AEs auch tauerlassen sein können oder wollen,
aber das dazu führen können, dass wir in der Schleife sind,
wo wir nur noch Taus haben.
Und das muss dann eben ausgeschlossen werden, wenn wir das
mit etwas anderem eben vergleichen. Und auf diese Art und Weise
kommen wir dann jetzt wieder zu eindeutigen Erlösungen. Ja,
und dann kommen wir zum Ende der letzten Stunde,
dass nämlich die initiale Verzweiflungssimulation eine Konkurrenz für ACTAO
ist und diese geschützt neue Form der geschützten linearen Rekursion
Und die Axiome, das ist jetzt, glaube ich,
neu, im Vergleich zum letzten Mal, die können jetzt zum Beispiel so aussehen.
Ja, also wenn das Tau hinter eine V kommt, dann ist das unschädlich.
Nicht und das Interessantere in Aktion ist jetzt dieses hier.
Und wenn sie das V hier vorne weglassen,
dann sehen sie, das war das Beispiel,
was wir hatten als erstes Beispiel der B-Simularität mit Tau.
Nicht, wo wir gesagt haben,
wenn wir hier in das Tau reinlaufen,
haben wir immer noch die beiden Möglichkeiten X und Y,
Und jetzt hier bei der initialen Form muss also jetzt noch ein V davor stehen,
was aber auch tau sein kann.
Also auf beiden Seiten muss dann ein Tausch stehen.
Ja, die anderen sind eher schlecht. Das heißt also,
wenn das V nicht zu dem E gehört,
dann ist es, bleibt das V erhalten.
Und sonst wird es zu tauen bei dem Deadlock, bleibt er auch.
Naja, und dann ist das verträglich mit Ben Plus und Mal.
Also das Rechnen, dann ist er eben erleichtert
Ja, nicht? Und dieser Kalköl, der ist jetzt eben...
Der Kalköl ist eben... Das stand doch da gerade, ne?
Was soll ich denn da? Oh, jetzt steht,
der Kalköl ist eben jetzt korrekt und vollständig. Okay. So,
jetzt haben wir das Schlimmste, oder das Schwierigste geschafft,
weil jetzt kommen im Grunde nur noch Beispiele.
Und zwar im Wesentlichen das Alternierbildprotokoll im Beweis.
Und weil das ein ziemlicher Hammer ist,
Er ist jetzt in dem Buch, und das mache ich dann entsprechenden,
ein einfaches Beispiel vorweg geschoben, indem wir den Pandem-Puffer behandeln.
Das ist aber umgekehrt wieder so einfach,
dass man sich klar machen muss, was da eigentlich abläuft.
Und deswegen erkläre ich das erst mal so hier. Also,
wir betrachten zwei in Serie angeordnete Puffer der Kapazität 1,
Kapazität 1 heißt es, das ist sozusagen eine Funktionseinheit,
die gewissermaßen ein Element speichern kann und dann wieder freigeben kann
Dann eben auch wieder das zweite dann auch wieder freigeben kann. Und das ist jetzt,
heißt jetzt insgesamt ein Puffer der Kapazität 2, weil wir,
also wir haben ja keine FIFO Reihenfolge in dem Sinne,
weil wir eigentlich nur ein Element betrachten.
Nur ein Element D, sodass wir irgendwie gar nicht unterscheiden,
was zuerst gekommen ist und was zu zweit erkommt.
Und ich habe jetzt gerade nochmal das vorhin an der Tafel mit,
als ein Petrinetz dargestellt, Nicht, das könnte also,
so ein Puffern für ein Element,
was ich nicht weiter unterscheide,
kann ich natürlich schwarze Marken darstellen.
Nicht, dass T1 wäre sozusagen das Einpuffern.
Und hier der Platz P2 wäre die Kapazität 2. Das heißt,
ich kann hier maximal zwei Elemente einpuffern.
Nicht, was im Erreichbarkeitsgrafen so aussieht.
Am Anfang hätte ich also hier oben keine Marke,
aber hier in meinem Kapazitätsplatz 2. Und nach dem T1 hier
eine Marke und hier nur noch einen Rest.
Kapazität. Und nach dem zweiten T1 wären dann hier
zwei Marken und hier unten gar nichts mehr
Aber zu sagen, das Auspuffern T2 kann nach dem
ersten Schritt und nach dem zweiten Schritt eben passieren.
Also da sehen wir also erstens die Kapazität 2 und zweitens,
dass wir nur ein Element haben,
was jetzt hier durch die schwarzen Marken ausgedrückt wird.
Also wirklich ein sehr einfaches Element. Und das betrachten wir
jetzt mal in der Prozessallgebracht
Ja, und das stellen wir jetzt so wie üblich dann,
dass wir hier auf dem Kanal 1 das Datum,
die lesen und auf dem Kanal 2 schreiben.
Das Entsprechende mit dem Kanal 3, wobei die Schreib- und
Leseoperation dann zur Kommunikation C3 zusammengefasst wird. Ja,
und wir werden jetzt also die einzelnen,
die Komponenten hier darstellen durch die Rekursion Q1 und Q2. Nicht das Q1 verhält sich ja so,
dass jetzt ein Ein R1 gelesen wird nicht,
wo wir hier, also schon mal das D,
was wir ja gar nicht weiter brauchen, weggelassen haben.
Und dann schreiben wir das auf den Kanal 3
und dann verhält sich das Ganze wieder wie von vorne.
Das heißt, das macht ja nichts anderes als diese beiden
Operationen permanent hintereinander. So und dann haben wir,
könnten wir im allgemeinen Falle hier noch verschiedene Daten haben,
aber wir nehmen jetzt nur eins und dann können wir auch gleich diese Summe dann hier auch weglassen.
So, dasselbe bei Q2, der liest immer auf dem Kanal 3
und schreibt auf den Kanal 2 und verhält sich dann wieder genauso.
Und wie gesagt, indem wir das Delta jetzt auf eins ersetzen,
können wir das also auch weglassen und bekommen dann jetzt diese einfachere Form jetzt hier unten.
So, das heißt also,
jeder dieser beiden Teile verhält sich so wie das Transitionssystem,
dass wir hier also immer den Zyklus haben,
R1 im S3 oder hier unten R3 S2,
nicht wo wir dann später das S3 und S2,
nee, das S3 und das R3,
also die hier auch gerade nebeneinander sind,
dann synchronisieren
Ja, nicht,
das führt also dann dazu,
dass wir dann schreiben,
Gamma von S3,
R3 gleich C3 und das S3 Herthai selber abschneiden und das Resultierende C3 intern machen durch den Operator Tauindex C3. So,
und wir beweisen jetzt,
dass das gemeinsame Verhalten dasjenige ist eines Puffers der Kapazität 2 und das machen wir dadurch,
indem wir das Ganze so umformen,
dass wir auf die Form von diesen drei Gleichungen kommen
Nicht. Und beim ersten Blick sehen sie vielleicht noch nicht ganz ein,
warum das jetzt hier ein Puffer der Kapazität 2 darstellt.
Aber wenn sie sich das folgendermaßen klar machen,
wenn wir am Anfang in dem Anfangszustand sind,
dann die Operation R1 machen, sind wir in Y.
In Y haben wir die zwei Möglichkeiten. Wir machen noch
ein R1 und kommen nach Z. Oder wir kommen nach mit S2 zurück nach X.
Und von dem Z haben wir nur die Möglichkeit von S2 nach Y.
Nicht dann sehen sie, dann ist das genau dieselbe Struktur,
die ich hier am Anfang erklärt habe.
Und da sozusagen die Automatendarstellung dieses Erreichbarkeitsgraf. Und die Petri-Netze
haben ja sozusagen immer den Vorteil gegenüber dem Erreichbarkeitsgraf oder Transaktionssystem,
dass wir sozusagen eines systemnahe Darstellung haben.
Nicht, das sieht ja eher aus wie ein Puffer,
als dieses Transitionssystem. Okay, gut. Ja,
wir können jetzt auch sagen, diese Variablen,
die beschreiben jetzt gewissermaßen die Füllung dieses Puffers.
Am Anfang ist er leer. Dann hat er die Füllung
1 in Y und in Z hat er die Füllung 2.
Das sind sozusagen die Charakterisierung in dieser drei Zustände
Okay, dann geht es jetzt also los, indem wir jetzt,
ach so, nee, es geht noch nicht los,
sondern weil ja diese Vorstellung von diesem einfachen Puffer mich nicht losgelassen hat,
habe ich nochmal die Variante aufgeschrieben, wenn wir zwei verschiedene Elemente hätten.
Nicht also am Anfang zu sagen,
das ist erstmal der Anfang, nur mit allem Element,
hier hätten wir sozusagen zwei Lehrplätze, dann würde ein A reinkommen,
das würde weitergeschoben und wenn noch eins reinkommt,
dann hätten wir zwei As und wir können auch hier das wieder auspuffern.
So und wenn wir jetzt noch, wenn wir das so sagen,
jetzt verdecken, würde das aussehen, wieder unten rechts.
Aber, also mit vier Gleichungen,
aber wenn wir jetzt noch ein B hinzunehmen,
dann können wir hier auch ein B einpuffern,
das B weiterschicken und noch ein B einpuffern und jeweils wieder zurückkommen.
Und wenn wir das Ganze eben noch vermischen,
das heißt, nach dem B würde ein A kommen,
dann können wir das A auch wieder auflösen,
dann würde das so aussehen.
Das heißt, dann würde die ganze ganze Geschichte dazu führen,
wenn wir das interne wieder verdecken und wir würden
zwölf Gleichungen bekommen
Das ist einfach nur mal zu konstruieren, was das sozusagen bringt,
dass wir hier nur ein Element haben und eben
das Ganze reduzieren können auf vier Gleichungen statt auf zwölf,
die wir dann zum Beispiel im Alternier-Bit-Protokoll haben werden.
Also selbst bei dem Beispiel, mit zwei Elementen hätten wir schon zwölf Ergleichungen.
Ja, nicht und das Verfahren geht eben so,
indem wir diese Struktur gewissermaßen durch die Gleichungen dann erstellen.
Nicht, wir werden ja dann eben ansetzen,
dass wir das Q1 und Q2 parallel setzen und
dann werden wir diesen Prozessgrafen hier ableiten,
der schon fast so aussieht hier
wie unser Transitor
System, da kommen wir aber dann hin,
wenn wir wissen, dass C3 wird ja intern zum Tau,
sodass gewissermaßen die beiden Zustände verschmelzen.
Und dann sieht er schon sehr, oder praktisch genauso aus,
wie hier, wenn wir die ganzen Therme dann nur nach XY und Z umbenennen.
Und wenn wir das Ganze dann noch ein bisschen kippen,
dann sieht das wirklich so ähnlich aus.
Das ist also das Verfahren, was wir jetzt machen.
Ich finde, dazu müssen wir jetzt also ein bisschen rechnen,
um eben diesen,
um diese Gleichungen eben zuzubestimmen
Ja, das sieht jetzt folgendermaßen aus. Hier oben ist
nur noch mal zu unserer Erinnerung, sind die gleich,
die Gleichungen für Q1 und Q2. Und wir setzen das ja
so an, dass wir Q1 und Q2 parallel setzen.
Und mit der M1 haben wir ja erst mal die Expansion nach
dem Left Merch. Und dann ersetzen wir mit dem RDP
hier die linke Seite von dem Q2 durch die rechte Seite.
Und da wir mit dem Left Merch ja immer links weiterarbeiten,
machen wir das vorsichtshalber mit rechts mal nicht.
Aber hier bei dem zweiten, dann mit dem Q1 und
bei der Kommunikation auch, da brauchen wir ja beide Seite,
dann machen wir es dann auf beiden Seiten.
So, und der Slaft-Merch expandiert ja dann dazu,
dass wir das erste hier rausziehen können, nicht das R3,
sodass hier nur noch das hier übrig bleibt und der Left-Merch zum Parallelopperator wird.
Wenn ich hier genauso auf 1 rausgezogen, Parallelopperator und bei dem Kommunikationsopperator,
da haben wir ja R3 und eins, die miteinander kommunizieren.
Das tun sie aber nicht, weil das ja gar nicht definiert ist.
Und das wird dann zum Delta. Da sehen wir eine Anwendung,
dass wir gesagt hatten, ja, das wäre ein Bildbereich des Kommunikationsioperator,
da fügen wir auch die Möglichkeit des Deltas hinzu.
Das kommt also hier zur Anwendung. So,
und dann mit dem Aktionen A7 und A6 kommen wir dazu,
dass das dann also hier wegfällt.
Diese Alternative mit dem Deadlock und es bleibt nur noch
das hier übrig
So, und damit rechnen wir jetzt weiter. Nicht also das,
was da gerade rosa war, ist hier auch nochmal eingesetzt.
Aber jetzt wenden wir ja den Verdeckungs-,
ja, den Verdeckungsapparator für CRS3 und S3 weg,
weil wir ja nur noch hier die Kommunikation übrig haben wollen.
Okay, was haben wir da gemacht? Da haben wir
das erste Mal nur reingezogen in den Summen,
so meinten, das war ja so eine Rechenregel.
Und dann können wir das auch über das Produkt hier reinziehen.
Und da haben wir jetzt hier schon die erste Anwendung.
Also hier in dieser Menge, da kommt das R3 vor,
angewandt auf das R3,
führt dann hier zum Deadlock
Und das ist an anderer Stelle auch so.
Und führt also insgesamt dann dazu, dass dort,
wo der, also wenn man hier den Deadlock eben weglassen,
dann haben wir als Rest nur noch das hier,
was eben so aussieht wie hier in der letzten Zeile.
Das heißt also, von unserem Anfang sind wir dann hier bei dieser Rechnung zu diesem Ende hier gekommen,
was schon ein bisschen nach unserem Ziel aussieht,
weil wir hier keine Alternative mehr haben,
sondern nur noch eine Operation R1 davor.
Ja, und wenn wir das jetzt vergleichen mit dem Bild,
was wir vorher hatten,
dann ist das in der Tat jetzt schon der rote Pfeil R1,
denn wir beginnen hier oben mit der Formel,
haben dann über R1 hier diese Restformel als gewissermaßen als nächsten Zustand.
So, und das ist jetzt also sagen,
die erste Gleichung von den 1, 2, 3,
4, 5 Gleichungen,
die dann diese fünf Pfeile dann eben beschreiben
Okay. Ja, was wir da jetzt also gemacht haben,
ist genau das, was hier immer noch gelb ist.
Und andere Gleichungen sehen dann so aus wie hier beschrieben.
Und da haben wir jetzt diese fünf Gleichungen.
Die Rechnungen sind ganz analog. Und die führen dann in
der Tat also dann zu diesem Gebilde,
wo wir eben das mit dem R1 gerade behandelt haben, diesen Schritt.
Und die anderen sind ganz analog. Wir können praktisch nochmal hier
die dritte sehen. Die dritte ist ja insofern ein Sonderfall,
weil wir hier sozusagen zwei Ausgänge haben,
was hier dem entspricht,
dass wir hier
auch zwei Somanten haben
Das heißt also, diese beiden Semanten,
R1 und S2, sind wir da blau umrandet?
Naja, und die anderen dann eben entsprechend. So,
und wir wollen ja jetzt nun auf diese Form da oben.
Dazu müssen wir jetzt ja noch das intern machen von dem
internen Kanal 3 in der Form von dem C3 hier,
sodass hier wir hier noch dieses Tau, Index C3 davor schreiben.
Das heißt, wir rechnen das jetzt hier aus und durch Naja,
das geht dann durch mehrere Rechnungen durch,
indem wir auch zum Teil benutzen, was wir vorher schon gemacht haben.
Und das führt dann eben zu diesem Ergebnis hier. Und da sehen wir jetzt,
wenn wir das hier unten Y nennen und oben das X nennen,
dann haben wir gerade diese erste Gleichung hier oben xgleich,
R1, Y xgleich ereint,
Y. Das heißt,
wir haben jetzt durch das Verdecken diese eine Gleichung oder
diese zwei Gleichungen
da weg
Gerechnet und kommen dann zu diesen Dreigleichungen. Ja,
das geht dann also entsprechend weiter. Das war,
glaube ich, jetzt ist die Geschichte,
Y ist gleich R1, Z plus S2X, ganz analog.
Zweite Gleichung. Und hier unten, Z ist gleich S2,
Y, sodass wir also insgesamt als Lösung, das,
was wir strukturell als ein Puffer der Kapazie 2 kennengelernt hatten,
mit dieser Interpretation,
mit den Erfüllungen
Okay. Ja, werden Sie sagen,
ist ja viel Rechnerei, aber ich wiederhole nochmal,
das macht man dann einfach mit Tools, dieses Ausrechnen,
also dass das also nicht das Problem ist.
Ja, um das nochmal klarzumachen,
dann habe ich mal nochmal folgende Idee gehabt,
was wir jetzt gewissermaßen mit der Prozess AG Pra gemacht haben,
können wir ja im Prinzip auch mit den Transitionssystemen machen,
so wie wir das am Anfang nur mit Transitionssystemen gemacht haben.
Sie erinnern sich an das Sender-Empfänger-Problem
Das habe ich jetzt noch mal gemacht. Und damit also sagen,
der Unterschied klar wird, habe ich das noch mal hier eine Überschrift gegeben.
Jetzt machen wir dieselbe Konstruktion, indem wir jetzt aber nicht
Prozess Algebra benutzen, sondern nur Transitionssystemen. Ja,
da fangen wir also an mit den beiden Transitionssystemen Q1 und Q2,
die wir vorher hatten, und setzen die parallel.
Und was hieß parallel Arbeit bei Transaktionssystemen? Das war ganz am Anfang, hatten wir ja diese Produktkonstruktion kennengelernt. Ich meine,
Sie erinnern sich ja, Produktkonstruktion bedeutete,
die Zustände sind jetzt Paare der Zustände der Ursprungsautomaten,
immer die erste Komponente für den ersten Transitionssystem,
die zweite für den zweiten, das fängt also an,
hier mit Q1, Q2 und hier mit R1,
kommen wir hier nach S3, Q1,
Q2 bleibt und mit S3 wieder zurück.
Und hier waagerecht, da haben wir,
dass wir das Q2 entwickelt,
haben da R3 und haben hier S2,
Q2 und mit der L2 wieder zurück und die anderen
zwei sind sozusagen das entsprechende
So, der nächste Schritt ist ja jetzt der,
dass wir die beiden, die Kommunikation hier jetzt ausführen.
Und Kommunikation bedeutet ja, dass wir S3 und R3 zusammenfassen.
Das finden wir hier. S3 und R3 werden ja dann
zu einem Schritt, der dann hinterher C3 heißt.
Das bedeutet ja, jetzt hier in unserem Transitionssystem,
dass wir die jetzt streichen hinterher und mit dem unterdrücken und
dafür dann das C3 dann eben einführen
Okay, ja, das geht jetzt ein bisschen zu Wüst aus,
wenn wir das nochmal ein bisschen einfacher zeichnen,
dann wäre das hier, wo wir nur noch das C3 haben.
Und das C3 ist ja jetzt nun Gegenstand das Internmachen.
Das heißt also, das C3 machen wir das TAU.
Und das wird dann aus der externen Sicht dann unsichtbar.
Das heißt, die beiden Zustände fallen zusammen.
Und wenn wir wirklich da nicht reingucken können,
sieht das wirklich schon so aus,
wie wir das hier hatten und kommen dann zumindest auf Basis der Transitionssysteme zu derselben Struktur.
Das haben wir jetzt also alles nur mit Hilfe deren
Transaktionssysteme gemacht, ist aber strukturell ein ähnliches Vorgehen,
wie das jetzt in der Prozess Agebra auch funktioniert.
Okay. Gut. Ja, ich hatte ja vorhin angekündigt,
wir brauchen keinen neuen Stoff mehr für das Alternierbit-Protokoll.
Das stimmt aber nicht ganz. Was wir noch brauchen,
ist ja Fairness. Sie erinnern sich ja,
wir hatten ja ganz am Anfang,
als wir auch das Alternierbit-Protokoll behandelt, hatten wir gesagt,
wir brauchen irgendwas, das uns diese Schleifen hier ausschließt,
die darin bestehen,
dass der Kanal permanent gesteht
Gestört ist und Anne nie durch wiederholtes Senden dann das Datum zum Empfänger kommt.
Das liegt in der Problemstellung. Und naja,
ich hätte sie auch gerne mit der von der Fairness-Regel verschont,
aber wenn man nur wirklich zum Alterniertbettprotokoll kommen wollen,
dann muss das halt sein.
Da haben wir also auch noch die Fairness-Regel,
die hatte der Prozess Allgebrauch.
Und das geht folgendermaßen. Die heißt jetzt also CFAR
und kann
folgendermaßen motiviert werden
Wenn wir jemand so einen Gleichungssystem haben, dann könnte es ja sein,
dass wir von dem Prozess X1, haben wir die Alternative,
wählen ja die erste Alternative und kommen mit A nach X2.
So, mit X2 machen wir dann weiter und so weiter,
vielleicht hier bis XN minus 1. Und dann hier auch wieder mit A nach XN.
Und dann wählen wir hier auch wieder die Alternative und haben dann jetzt hier so einen Zyklus.
Und wenn wir dann dieses A hier intern machen durch TA,
dann haben wir gerade die Situation,
die wir jetzt schon mehrfach beschrieben haben,
dass wir so eine unendliche Schleife haben von TAS,
die dann zu keinem externen Verhalten führt.
Ja, wie kann man das beheben? Ja,
man kann das dadurch beheben, dass man sagt,
Ex-Verhalten muss immer so sein, dass die Schleife mal verlassen wird.
Und dazu müssen wir natürlich auch die Möglichkeit haben, die zu verlassen.
Und das können wir durch die BIs. Wir haben mal
an jedem Punkt, in diesem Beispiel zumindest, die Möglichkeit,
ein WE zu machen und aus der Schleife rauszukommen. Nicht,
das würde jetzt so sagen, als Petranetz gezeichnet, dem hier entsprechen,
dass wir hier also diese Arschleife in Grün haben und die sagen,
die Schleife können wir verlassen, denn jetzt hier die Transition Bs,
die jetzt hier mit F bezeichnet sind.
Nicht nur da hatten wir ja in der,
hatten sie ja bei den Petri-Netzen die sogenannte Fairness-Regel.
Und wenn man diese Fairness-Regel auf diese Transition anwenden,
dann bedeutet das ja, es kann nicht sein,
dass wir ständig in dieser unendlichen Schleife bleiben,
weil ja dann unendlich oft eben diese Transition hier aktiviert würde.
Und die Fairness-Regel sagt ja, die muss schalten.
Also auch diese Fairness-Regel würde jetzt bei diesem Setting dann eben
bedeuten, dass die Schleife auch mal verlassen
Werden muss. Und das Ganze fordern wir jetzt in der Prozess Algebra.
Ja, nee, weil wir dann insbesondere das dann zum Tau machen.
Dann haben wir also die Situation mit den Entweder internen Situationen.
Ja, und dann brauchen wir natürlich auch noch Bezeichnungen dafür.
Sowas nennt man dann eine Fairness-Gruppe. Also das sind
die Variablen, wo die Gefahr der unendlichen Schleife besteht.
Und der Gefahr, die Gefahr können wir dann dadurch spannen,
indem wir aus für diese Schleife einen Ausgang sehen.
Und der Ausgang muss natürlich dann auch da sein.
Und das brauchen natürlich nicht so viele zu sein,
aber mindestens einer muss dann da eben auch sein.
Und das sind jetzt also die Begriffe, jetzt Fairness-Gruppe und Ausgang.
Ja, und das braucht man jetzt eigentlich nur,
um jetzt die folgende Definition zu verstehen. Nicht als hier nochmal,
was ich eben schon gesagt habe, wenn man das F auf SF,
die faire Schaltregel anwendet, dann hat das nicht dieselbe Erwirkung.
Okay, und jetzt kann also die Die Definition dieser Regel,
wir betrachten also eine geschützte lineare, rekursive Spezifikation,
eine C, eine Teilmenge von Variablen, nicht,
das sind die XE vorher und eh eine Menge von Aktionen.
Dann heißt C, Fairness-Gruppe,
im Englischen heißt das Cluster für E,
falls für je zwei Rekursionsvariablen X und Y und NC steht,
dass man von X nach Y und von Y nach X gekommen ist.
Das muss ja nicht nur in einfach,
braucht ja nicht nur einfach ein Zyklus sein,
sondern das kann irgendwie eine streng zusammenhängende Struktur sein.
Wichtig ist eben nur,
dass man von jedem zu jedem kommt und dass man doch
eben unendlich oft lang rumlaufen kann
Okay. Also das beschreibt nur, dass sie diese Wege haben.
Das war also jetzt diese Fairness-Gruppe. Und das zweite ist
jetzt, glaube ich, der Ausgang, ja.
Dann heißen jetzt A und AX heißen Ausgang oder Exit
der Gruppe C, falls entweder A oder AX,
ein Semant auf der rechten Seite ist.
So manch heißt ja eine Alternative. Und im Fallen AX
soll also zusätzlich das A nicht zu den ES oder gehören,
sondern das soll sichtbar sein
Und das X natürlich dann auch nicht in dem C sein,
denn mit dem X will man ja rauskommen.
Das soll ja nicht gerade nicht in dem, in dem
C im App bleiben. Gut, das ist jetzt die
Definition und dazu brauchen wir jetzt dann das entsprechende Aktion.
Das ist jetzt nochmal das Szenario als Graf dargestellt,
nicht mit der Fairness-Gruppe und den Ausgängen.
Und ja, nicht. Und faire Abstraktion bedeutet,
dass eben in diesem Ausdruck diesen Prozessausdruck nicht für immer
die Tauschleife nur ausgeführt wird,
sondern irgendwann mal dieses BI
Das führt dann dazu oder die Forderung ist dann,
dass dieser Ausdruck jetzt, also bis Seminar oder genauer gesagt,
Initial, Verzweigungs-B-Seminar, zu dem hier sein, wo wir sehen,
es kann also entweder das B1 hier oben direkt gewählt werden oder nach irgendwelchen Towers,
die ja dann zusammengezogen werden,
eines der anderen oder auch nochmal nach einem Schleifendurchschlag,
auch wieder dasselbe B1. Also diese Regel hier oder diese B-Simulation,
die sagt jetzt also, ist eine Forderung, wir wollen,
dass diese Schleife irgendwann mal verlassen wird und Das kann man so ausdrücken.
Naja, und wenn man dann hierfür das Gleichheitszeichen ersetzen,
dann haben wir das Ganze fordern, Forderung als Aktion.
Wobei wir für diese Initiale initiale, Verzweigungsbesinnuisation auch immer
ein Tau davor schreiben müssen. Dann sehen wir hier,
haben wir das, was wir vorher hatten.
Und hier unten haben wir jetzt dann diese Ausgänge,
die jetzt hier Y und so weiter heißen.
Also X ist jetzt eine solche Gruppe,
Fairness-Gruppe und die Ausgänge sind also hier diese V1 Y,
VM oder eben auch ohne
Dabei kein Tau. Und das Aktion ist,
wenn wir sowas haben, so eine Fairness-Gruppe,
dann soll das Verhaltensgleich sein mit dem,
dass wir da in diesen Ausgang benutzen.
Okay, ja, das führt dann auch zu keinen Konflikten.
Und die ganze Geschichte bleibt jetzt also korrekt und vollständig
in Bezug auf initiale Verzweiflungsbesimulation. Okay, das heißt,
wir sind immer noch auf der sicheren Seite und jetzt sind
wir soweit, dass wir jetzt das Alternier-Bit-Protokoll behandeln können
Das haben Sie jetzt ja nur schon zweimal behandelt, einmal bei mir,
bei dem Transitionssystem und Herr Molter, das war denn Petrinetzen auch behandelt?
Ja. Ich habe mir von früheren Generationen immer mal sagen lassen,
dass Sie das in dieser kompakten Form,
wie wir das hier darstellen, zum ersten Mal richtig verstanden haben,
haben Sie also auch nochmal eine Chance,
dass sich das nochmal anzugucken,
aber ich brauche da ja nicht viel zu sagen,
sondern der Text ist ja eben, wie gesagt, schön kompakt.
Also die Ausgangssituation sollen Daten über einen FIFO-Kanal Also B,
hier gesendet werden. Dazu wird ein Datum am Kanal A eingelesen,
mit der Afondé und dann vom Kanal C abgegeben.
SC von D. Die Kanalkapazität Pract 1, das heißt,
es kann immer nur ein Datum unterwegs sein.
Sodass jedes Datum erst bei C ausgeliefert werden muss,
bevor A ein neues akzeptiert werden kann.
Das war ja nicht so, dass wir hier irgendwie eine Überlappung hatten,
dass vor der Auslieferung schon das nächste kommen.
Und das führt jetzt zur rekursiven Spezifikation,
dass wir hier eine unendliche Folge haben von RASC,
wenn man nur das externe Verhalten betrachten
Also, dass wir, dass das RC-Commen gekommen sein muss,
bevor das Nächste eingelesen wird, das steckt ja hier auch drin.
Und in der Realisierung wird das ja dadurch gewährleistet,
dass wir ja immer diesen Quittungsmechanismus über Idee haben.
Und das Gesamtverhalten soll ja dann so aussehen,
dass wir hier immer eine Folge von RA, SC,
RA, SC haben, wobei im oberen Teil schon wieder das Nächste Datum war.
Und so sah das hier mit dem Petrinetz aus,
wo wir hier den Sender haben, Und hier den Empfänger,
hier war der Kanal mit der korrekten Übermittlung und der fehlerhaften,
wo wir hier sozusagen das Sonderzeichen Error haben,
was wir hier ein anderes Zeichen haben werden.
Und hier unten der Quittungskanal, der aber auch einen Fehler
produzieren kann. Und dass es einen Fehler vorlegt,
wird eben durch das Wechseln oder nicht wechselndes Bits erkannt.
Und bei einem Fehler wird dann ein Datum,
was hier ja gespeichert wird, dann nochmal gesendet.
Und der Sonderfall muss natürlich auch enthalten sein,
dass das Datum korrekt gesendet wurde,
aber hier unten ein Fehler auftritt,
dann muss der Empfänger am Wechseln oder nicht wechselndes Bit
erkennen,
dass das dasselbe war
So, also zurück zur Prozess-Algebra. Datenelemente, D werden
von einem Sender über einen störanfälligen Kanal B zu einem Empfänger gesandt.
Aufgabe des Protokolls ist es durch wiederholtes Senden, die Störung zu kompensieren.
Dazu fügt der Sender, den Daten-Elementelementen alternativ,
ein Bit mit dem Wert 0 oder 1 hinzu.
Wenn der Empfänger das Datenelement korrekt erhalten hat,
so sendet er das Bit über den Ebenfalls störanfälligen Kanal D
an den Sender als Quittung zurück.
Falls die Nachricht gestört war,
sendet er ja doch das vorhandene Bit zurück
Der Sender wiederholt das Senden eines Datenelementes mit B,
solange, bis er eine Quittung B erhält.
Dann sendet er das nächste Datenelement mit dem alternierten Bit,
bis er dieses als Quittung erhält. Nicht,
also wenn Sie die Literatur, ich weiß nicht,
vielleicht war das beim Petrin jetzt auch schon so,
da gibt es manchmal Unterschiede, nicht,
dass der Fehler angezeigt wird durch das Wechseln oder Nichtwechseln.
Das macht er eben keinen Unterschied. Und hier ist es
also so, dass das Wechseln den Fehlern anzeigt.
Ja, mir stellen wir das jetzt in der Protest Algebra
Die Spezifikation des Senders soll jetzt so sein,
dass wir hier jetzt das Ganze in drei Gleichungen haben,
nicht, das ist nur zur Strukturierung, da könnte man auch einsetzen.
Nicht, wir brauchen ja immer eine Gleichung für den Sp-Bitgleich null,
weil man vielleicht mit 0B gleich null anfangen und B gleich 1. So,
dann haben wir ja hier wieder die Summe über alle Daten,
Elemente, was wir dann auch eben wieder weglassen,
wenn wir das nur für ein Datenelement betrachten.
Und wir lesen dann hier in dem Kanal A und gehen dann nach TB,
übrig, wo wir dann das Bit hinzufügen.
Also was wir, wo wir jetzt 0 oder 1 angenommen haben.
So, dann senden wir das Ganze auf dem Kanal B
mit diesem Bit oder wir produzieren einen Fehler.
Wir hatten ja auch mal die Abstraktion,
dieser Fehler tritt ja vielleicht unterwegs auf,
aber um das kompakter zu halten, machen wir das so,
dass der Sender schon den Fehlern produziert.
Und dann geht es weiter hier mit URDB. Bei UDB,
da empfängt er was aus dem Kanal D, aus dem Quittungskanal.
Und wenn das, also dasselbe Bit immer noch ist,
dann geht es weiter, wieder wieder vorne,
aber mit dem alternierten Bett
Wenn das aber nicht dasselbe Bit ist, dann weiß er,
dass das ein Fehler ist und dann, ja,
dann geht er hier wieder nach TB,
macht dasselbe nochmal und sendet das nochmal und dasselbe macht er auch,
wenn der Kanal D einen Fehler produziert hat.
So, der Empfänger sieht dann ganz analog aus,
der Empfänger empfängt also über dem Kanal B das Datum mit
dem Bit und gebt das dann weiter an den Kanal Fee.
Oder er empfängt das Alternierte, ein Ebit, also ein Fehler.
Und er geht dann weiter nach dem alternierten Bett hier.
Also gib dann die Fehlermeldung zurück. Und dort wird das Ganze dann,
das sozusagen das entsprechende alternierte Bett dann auf den Kanal D zurückgeschickt.
Oder der Fehler wird auch nochmal eben produziert. Okay. Gut,
ja, das gucken wir uns mal in einer kleinen Simulation an.
Also am Anfang geht das ja so los,
indem hier also das Datum A von D von dem sozusagen Benutzer eingegeben wird,
dann gehen wir hier weiter.
Das heißt, das wird dann auf den Kanal B geschrieben mit
dem SBED von Null, die wollen mit B gleich Null anfangen.
Und das kommt dann drüben beim Empfänger an und der liest das
hier dann RB von DV0. Und ich werde nicht eben sozusagen die beiden getrennt erklärt haben,
wenn wir jetzt sozusagen eine Zusammenschau des Zusammenwirkens der beiden.
Ja, und der schreibt das dann eben auf den Kanal
C als korrekt, gibt er das eben ab
So, dann geht es hier unten weiter mit QB.
Das heißt, er schickt dasselbe Bit jetzt als Quittung auf den Kanal D zurück.
Das habe ich jetzt oben nicht dargestellt. Und der Empfänger
empfängt das entsprechende und weist dadurch, dass es richtig angekommen
und fängt dann wieder von vorne an mit dem alternierten Bit.
Wir sagen jetzt, ich müssen sich bemerkbar machen,
wenn ich Sie irgendwie nochmal was erklären soll,
wenn ich immer wenig zu Ihnen hinkomme
Ja, machen wir das mal weg und jetzt mal
den Fall, wo wir hier einen Fehler produzieren.
Das heißt, als Fehlerzeichnung haben wir hier dieses Spotten-Symbol.
Das war ja die Voraussetzung, Alternierbitt-Protokoll, dass Fehler auftreten können,
die aber durch andere Ebenen als sollte erkannt werden können.
Das heißt, der Empfänger weiß dann, dass es ein Fehler ist.
Und der wird das dann hier mit dem Empfangen von dem Botten dann realisieren.
Und dann geht er mit dem alternierten Bit dann hier unten
rein und schickt dann statt der Null eine Eins zurück.
Die wird dann hier von dem Empfänger empfangen und der geht dann also nicht hier oben hin,
sondern macht hier weiter und schickt die ganze Geschichte normal,
wie dieser Pfeil hier eben andeutet. Den Fall,
den ich damals hatte, wo der Kanal B korrekt ist,
aber der Kanal D fehlerhaft ist, das geht dann ganz analog,
wie ich damals im Kapitel 1 dann eben gezeigt habe.
Okay. So, das war jetzt nun mal intuitiv zum Verständnis,
dass das Ganze richtig funktioniert, ist ja hinreichend komplex genug,
dass man sich vorstellen kann,
dass man trotzdem dann noch einen Fehler gemacht hat.
Das geht jetzt also durch Errechnen
Ja, und das wird also das Ziel sein,
nicht wo wir vorhin die drei Zustände hatten bei dem Tandempuffern,
haben wir jetzt also zwölf Zustände und das wird dann auch wieder zwölf Gleichungen geben.
Aber sonst ist das alles sehr ähnlich. Wir setzen dann
den Empfänger und Sender parallel, fangen mit dem Bit null an,
unterdrücken die nicht zur Kommunikation benutzen, Symbole und machen die Operationen,
die Kommunikation auf dem Kanal B und D eben extern.
Und wir wollen eben zeigen, dass das Verhalten dann so dementsprechend der Spezifikation,
die wir am Anfang schon gesehen haben, wo wir nur noch sehen,
was auch für den Kanal A und C eben funktioniert.
Nicht, das heißt also, wir wollen,
wir wollen, wir werden also diese zeigen,
dass eben diese Darstellung der Implikation sich genauso verhält,
wie der Prozess von dem X. Das heißt,
insgesamt können wir das eben auch hier einsetzen,
dass wir dieses Verhalten hier abliefern
Also hier haben wir hier, die so sagen,
ich habe das jetzt mal Implementation des,
oder Modellierung wäre vielleicht besser, Modellierung des Senderempfängers.
Und das genügt also jetzt dieser Spezifikation. Das heißt,
durch Umbenennen kommen wir ja von dem hier zu dem,
was wir eigentlich wollen.
Gut, also hier jetzt nochmal grafisch dargestellt,
das entspricht dem jetzt hier.
Ja,
oder diesem Transaktionssystem
Ja, grob gesprochen sieht das so aus,
dass wir als erstes hier R0 und S0 parallel setzen.
Hier unten habe ich immer noch mal zur Erinnerung die Spezifikation
des Senders-Empfängers. Danach machen wir das intern Sätzen der internen
Operationen und dann sollten wir also zu einem Ergebnis kommen.
Das gucken wir uns aber jetzt im Einzelnen an.
Also wir fangen jetzt also an mit dem R0 im S0, wobei R0
Und S0, so aussehen wir hier unten. Das heißt also,
wir können zunächst mal das M1 anwenden und den Parallelopperator expandieren mit
Left Merch in der einen Reihenfolge oder in der anderen Reihenfolge oder durch die Kommunikation.
So, nun setzen wir ein. Das heißt also,
an der Stelle setzen wir hier das R0 ein.
Ja, das R0, das haben wir hier entstehen.
Das ist diese gesamte Summe. Das S0 bleibt hinten stehen
, aber mit Left Merch
Hier bleibt das Ernuel steht und wir haben das S0.
Das ist in der Form, bleibt das stehen.
Und hier haben wir jetzt wieder das R0,
aber jetzt mit dem Kommunikationsopparat. So,
und jetzt machen wir mit dem Teil hier weiter und danach dann
mit dem Teil und dann mit dem Teil über die Farben
entsprechend dann, was wir hier unten haben.
Also hier sehen wir, haben wir zunächst mal dieses Distributivgesetz
von dem Left-Merch angewandt. Das ist sozusagen hier überall reingerutscht.
Das heißt, hier haben wir die Summe im Argument von
dem Lebgnasch und hier draußen
So, hier an der Stelle, das hell, blaue bleibt stehen.
Und das Untere, da haben wir das Entsprechende gemacht,
auch mit dem Kommunikationsopperator. Aber ja, eins, zwei,
dreimal den Kommunikationsopparator. Also ich mache das so ausführlich,
damit Sie sehen, das kann man alles nachvollziehen,
wenn wir an die Aktion bedenken,
nicht häufig werden die ja sozusagen noch solche Rechnungen von dieser Komplexität in Vorlesungen behandelt.
Ja, das geht. Glauben Sie oder gucken Sie mal nach,
aber man kann das wirklich in der Tat jetzt so vorführen.
Und das ist bei so einem relativ komplexen Beispiel wie dem Alternierbeetprotokoll
schon beachtlich. Okay, jetzt sind wir da angekommen,
was als nächstes hier nur noch mal kopiert ist.
Und was passiert jetzt? Das sehen wir jetzt an
diesen Stellen hier, das Delta.
Und wer kann jetzt sehen, warum da dieses Delta entsteht?
Nicht Delta kann ja zum Beispiel entstehen,
wenn wir eine Kommunikation haben,
die nicht
erlaubt sein soll
Und das kann sich ja dann noch,
hier ist immer so sagen, ist der erste, zweite,
dritte, vierte, fünfte Somant, erste, zweite,
dritte, vierte, kann sich eigentlich nur da drauf beziehen.
Wenn ich, dann haben wir in der Tat hier
einen Kommunikationsstrich hier und wir wollen kommunizieren oder synchronisieren,
dass RB und das RA, die haben ja nichts miteinander zu tun,
dass sie ja ist ein bisschen das verkümmerte B hier,
auf Biden wird gelesen.
Das heißt, das ist eine nicht erlaubte Kommunikation und das
führt dann also in der Tat dann zu diesem Data
und die anderen auch,
ganz entsprechend
Sodass also die Sumanten mit dem Delta wegfallen und nur das Grüne bleibt übrig.
Schon das sieht also dann nur noch mal so aus,
noch mal anders eben aufgeschrieben werden. Okay. Ja,
das heißt, wir haben jetzt als ersten Schritt Folgendes abgeleitet.
Damit haben wir ja angefangen und das Grüne seht ja, dann sei ja so aus. Und mit den weiteren Aktionen,
wenn wir jetzt noch mal das unterdrücken, anerwähnten,
kommen wir dann hierhin Zu dem her, weil wir ja,
wenn wir hier alles, was in Haaren ist,
unterdrücken, das ist ja das,
das Operationen auf dem Kanal B und D, das heißt das,
das und das fällt weg, sodass also nur noch,
was hier weiß, es übrig bleibt.
Und hier unten, das,
was sozusagen jetzt unser erster, unsere erstes Teilergebnis ist.
Und das entspricht jetzt auch schon dem Grafen, den wir haben wollen.
Wir fangen also mit dem hier an, das war ja das Ausgangs, Ausgangstherm.
Und dann haben wir hier die Operation RA von Day und
die Ziel ist jetzt, dass Per Pacial H. von dem Parallel,
was ihr eben habt, was hier vorher der Zustand zwei ist.
Okay. Das steht da jetzt nochmal als Text. Ja,
und so geht das dann auch weiter mit drei. Nicht,
das heißt, hier von denen hier kommen wir dann,
dann hier, um zu dem,
also hier erst nochmal so ausgerechnet und dann hier mit Parsche,
haben wir jetzt hier die beiden Alternativen,
hier geht es rechts weiter oder hier runter,
wo wir dann hier bei dem
hier unten ankommen
Ja, und so haben wir also eine ganze Menge von Rechnungen,
die man also entsprechend so nachvollziehen kann.
Sie jetzt hier nur mal nicht. Das sind also ganz analoge Rechnungen,
die dann auch eben zu solchen Pfeilen in dem Grafen führen.
Nee, das wäre Zustand 1 bis 7. Und insgesamt kriegen
wir auf diese Art und Weise zwölf Gleichungen,
was dann diesen zwölf Zuständen in dem Grafen,
den ich ganz am Anfang gezeigt habe,
Nicht, also das nennen wir dann ein X1,
das würde also das X1 hier oben.
Entsprechend und wie gezeigt entspricht das mit dem Übergang R da,
der RA, dem Übergang nach zwei,
was dann jetzt das X2D ist.
Und so geht es dann weiter. Ja,
und dieses Gebilde entspricht an dem,
was wir ganz am Anfang mit den Transitionssystemen hatten,
ganz analog
Und in der Tat ist es so, ich habe das,
was wir da am Anfang gemacht haben, dem nachgebildet,
was ich in dem Buch von dem Focking eben gefunden habe.
So, und jetzt müssen wir uns natürlich noch um die Fairness kümmern.
Sie erinnern sich ja, dass wir gerade dann hier dieses
hier ausschließen mussten, dass wir immer hier hellen bleiben.
Und deswegen definieren wir das hier als Fairness-Gruppe und das als Ausgabe. So,
dass also das beim externen Verhalten so nicht wegfällt,
aber nicht mehr sichtbar ist und auch nicht in dem Sinne unsichtbar bleibt,
dass wir ständig hier drin bleiben,
sondern extern ist dann nur noch der Übergang über den Ausgang
eben möglich
Ja, und das sieht dann eben so aus,
indem wir jetzt dieses Fairness-Aktionen anwenden, dass das Ganze dazu eben führt,
dass wir dann gleich zu dem X4D dann eben kommen.
Gut, ja,
und das haben wir ja noch zu drei andere Schleifen gehabt,
die sehen ganz genauso aus, sodass wir dann,
wenn man dann wieder die entsprechenden Variablen umbenennen, dann eben dahin kommen,
was wir also auch am Anfang schon gesehen haben.
Und wenn wir das jetzt also X nennen und hinten auch X nennen,
dann haben wir jetzt genau diese Spezifikation abgeleitet, die wir angesteuert haben.
Und wenn wir das Ganze im Graf nochmal darstellen,
dann entsteht dieses Doppelte natürlich dadurch, dass der linke untere Teil,
der Bit gleich Null entspricht und der rechte Obere den Bit gleich 1,
was ja sehr symmetrisch ist,
dann die Fairness-Rogero-Regel hat bewirkt,
dass diese Schleifen nicht mehr
sichtbar sind extern
Dann sichtbar sein, bleiben sollte, natürlich das Lesen auf dem A.
Das ist jetzt der interne Übergang von dem B. Der wird also intern,
dann das Schreiben auf den Zeder, das bleibt sichtbar.
Und dann haben wir weder einen internen Übergang,
sodass wir im ersten Schritt das RA-Fonday und das SC von Deten haben, extern.
Und nach oben haben wir dasselbe mit Bit gleich 1,
was natürlich extern nicht sichtbar war,
sondern weder RA-Fonday oder mit einem neuen D natürlich dann,
den Strich sollte man da vielleicht schreiben,
während die anderen Sachen dann extern bleiben,
was dann jetzt wieder dieser Spezifikation entspricht.
Und wir haben also ständig
dieses Paar da bestehen
Ja, also zweimal, nicht einmal oben,
unten nach oben ist es halber recht genug,
jetzt haben wir das, habe ich noch gesehen,
nicht und zweimal das Ganze ist ja sozusagen,
also gleiche Lösung, wie wenn ich nur einmal schreibe,
das macht also nichts aus,
das kommt also nur durch diese interne Struktur mit dem Bit und sieht insgesamt genauso aus wie mit dem Transaktionssystem.
Mich, und das wäre dann die externe Spezifikation in
dem Transitionssystem, wo man die Tauübergänge dann also auch verschmolzen
So, damit wären wir jetzt also fertig mit dem Alternierbit-Protokoll.
Und naja, das sieht er immer so aus,
als könnte es gar nicht anders gehen.
Und man fragt sich dann immer,
wenn ich an einer Stelle ein einziges vielleicht anders gemacht hätte,
ob das dann auch so ausgegangen wäre.
Das ist ja immer ein Zeichen dafür, dass das auch notwendig ist.
Und das kann zu zwei Dingen führen. Entweder kann so
eine Modifikation dafür zeigen, dass es auch noch geht.
Das ist dann meistens ein Hinweis darauf,
dass irgendeine Randbedingung gar nicht notwendig ist.
Nicht, wenn der Beweis ja auch so geht.
Oder es kann wirklich
zu was falschem erführen
Und dazu finde ich, also diese Aufgabe ganz schön.
Wir haben also jetzt wieder dieselbe Spezifikation wie vorher.
Und jetzt haben wir in dem Beweis das Alter Nippit-Protokoll,
das UDB, durch eine klitzekleine Änderung verfremdet.
Also diese Spezifikation hier bei dem UDB haben wir dadurch geändert,
dass wir das RD an der Stelle haben und oben an der Stelle.
Wer kann dann sagen, was das anschaulich bedeutet, nicht?
Also das hat ja irgendwas mit der KanalD,
mit der Quittung zu tun,
da wenn die jetzt da oben nach vorne rutscht
Was heißt das Land nicht? Also hier war das ja
sozusagen beim Fehler. Und wenn das nach vorne rutscht,
was heißt das dann? Michi, das bedeutet ja dann
hier, weder, ich fange wieder hier oben an.
Also hier mit S1 minus B-Treutz Fehler. Das heißt ja
, die Fehlermeldung vom Kanal D wird ignoriert.
Und das sollte ja eigentlich dann auch zu einem Nichtbeweis führen.
Das heißt, der Beweis musste,
müsste irgendwo scheitern
Ja, bitte. Ist das ein Beispiel für die Plasuraufgaben?
Für eine was, für eine? Na, dann machen
wir aber eine Klausur vielleicht schon von einem halben Tag.
Nee, das ist so, glaube ich, zu schwierig.
Also es ist in der Tat so, ich habe das auch nicht selber gelöst.
Das ist eine Aufgabe aus dem A fucking,
sondern ich hatte einen Studenten,
der es wissen wollte und der hat das mal gelöst und mir folgendes,
folgende Lösung geschickt hier.
Dann sehen die Gleichungen dann so aus. Naja,
das kann ich nur modulo, aber es sieht vernünftig aus,
also es soll sein können,
habe ich
auch nicht nachgerechnet
Ja, und wo erkennen Sie, dass also keine korrekte Lösung,
also kein korrektes Verhalten wäre? Nämlich weshalb? Nicht,
wenn wir zum Beispiel hier diese Schleife sehen hier,
dann haben wir kein vernünftiges Einlesen und abgeben an den Kanal D,
sondern das stagniert.
Und da kann man niemals durch Abstraktion dann diese Spezifikation kriegen,
die wir behalten. Das heißt, an dieser Stelle
sieht man das sehr schön.
Ja, okay
Ja, haben wir noch eine Frage hier zu dem Alternativ-Protokoll?
Wir wollen jetzt gerne dir die Aufgaben zu dem,
für die Klausur haben. Also ich habe noch nie erlebt,
dass eine Aufgabe zum Alternierbild-Protokoll wäre,
aber sie bringen dich auf eine gute Idee.
Aber wenn überhaupt, dann nur so Rahmenbedingungen,
was das soll und aber nie so eine Rechnerei,
da kann man in der Klausur gar nicht machen.
Das sind immer ganz kleine, kleine Rechnungen. Ja,
also ich sage lieber nie, garantiert nicht,
weil das nach hinterher Ärger bringen kann,
wenn irgendein anderer das vielleicht doch macht und man nicht aufpasst und so weiter.
Das sind nur so so allgemeine Tipps. Ja,
dann würde ich jetzt aber ganz gerne hier
mit Schluss machen und in der
... Moment
Und das nächste Thema ist jetzt das letzte Kapitel.
Und zwar geht es da um Parallele Maschinen. Das heißt,
um parallele Algorithmen und parallele Maschinen. Nicht wir sitzen dann auf der Ran,
die sich vielleicht in FGE 1 kennengelernt haben oder auch nicht kennengelernt haben,
dann lernen sie hier an und betrachten jetzt Effekte in Parallelen,
Maschinen, parallelen Algorithmen.
Und danach ganz am Schluss kommt dann als Beispiel eines Parallelensortieralgorithmus.
Dafür haben wir dann also die ganze nächste und die halbe
übernächste Woche und im letzten Sitzung soll ja eine Wiederholung sein,
dann mache ich für heute erstmal Schluss.
Dankeschön, ja