So, kurze Wiederholung vom letzten Mal, wenn ich denn
mein Steckchen mit drin habe. So. Wir haben uns ja
mit den entsprechenden Möglichkeiten der Darstellung durch die entsprechenden Automaten beschäftigt,
ganz kurz, und gesagt, okay, gut,
wenn wir so endlich Automaten nehmen und die nebeneinander packen,
und solche Transitionssysteme angucken, gibt es dann immer solche Darstellungen,
die relativ groß werden.
Und wir haben das Problem der Zustandsraumexplosion
im Grunde genommen
Ein bisschen, um das anders zu beschreiben und dann
einen Drink zu finden für Beschreibung von echter Nebenläufigkeit.
Wollen wir denn hier nochmal mit der Partial-Order-Semantik angucken und wollten da
halt durchgehen und haben dann sozusagen die Handlung als extensional und teilbar und geordnet betrachtet und kommen natürlich auf die Idee,
dass man so einen total geordneten,
sequenziellen Prozess hat oder das Ganze eben so dargestellt hat,
kann man es alternativ, wenn die Operationen unabhängig sind,
auch entsprechend als so ein Netz so miteinander darstellen,
die dann wirklich unabhängig in einem System ausgeführt werden können,
also Zeitgleich,
hängt natürlich von den entsprechenden Ressourcen ab.
Wenn ich nur einen einzigen Prozessor habe, der nur eine Sache zur Zeit machen kann,
dann kann ich das sozusagen natürlich nicht zeitgleich ausführen.
Gut. Dabei hatten wir dann als eine wichtige Beschreibungsform die Interliebing-Semantik,
eben, ich sage mal hervorgehoben,
halt irgendwelche Abfolgen von Aktionen in einem System und eben die Puschel-Order-Semantik
und erstmal so eine Art Strick- und partielle Ordnung entsprechend da drin haben.
Gut, die,
was eine fazille Ordnung ist immer gesehen, ist reflexiv,
antisemitisch und transitiv und wir haben dann festgestellt, okay,
dann gibt es keine Zyklen und haben so ein paar Sagen wir uns angeguckt,
die Schreibweisen dafür angeschaut und haben dann Strickorten definiert,
wo wir halt ihre Plexität rausgenommen haben.
Und die Analysemetrie, die wegen der anderen beiden Eigenschaften rausfällt,
auch mit dabei gehabt. So, wir haben so strikt ordentlich
eine perzielle Ordnung. Und dann haben wir eben gesehen,
dass man diese Dinge in irgendeiner Weise nur überführen kann und
dass man das sozusagen wechselseitig ausrechnen kann.
Letztendlich ist das also nicht kein wirklich großer Unterschied.
Insgesamt steckte in der Strickordnung dann so eine Präzedenzrelation,
die also sagt, wer wirklich vor wem als Nimalvoraussetzung gegeben sein muss.
So, damit haben wir also eine sehr allgemeine Beschreibung und
die ist auch noch sehr einfach,
diese Präzedenzrelation
Und wenn man das in einem System einfach so angeben könnte,
ist ja schön. Frage ist jetzt,
könnten wir eigentlich jedes System damit so beschreiben, naja,
vom Prinzip, wenn ich sie abwickle, ja,
aber ihr kommt ja auch wiederholt in diese Veranstaltung.
Und natürlich kann ich das in einer Kausalrelation darstellen,
also Präsentrelation darstellen, sagen, ja, erst das erste Mal,
das zweite Mal, das dritte Mal.
Ich kann auch sagen, kommt 14 Mal zur Veranstaltung oder 28 Mal zur Veranstaltung in Synasta.
Und wird eine schlechte Schleife einbauen. Auch dadurch kommen schon Komplikationen rein,
die jetzt hier sozusagen nicht mehr gegeben sind,
aber damit irgendwelche Zyklen drin haben. Das heißt,
dieses Beschreibungsmittel reicht nicht überall, aber vor den einzelnen Aktivitäten,
die ich prinzipiell erst mal identifizieren kann,
kann ich sagen, Ich kann sie irgendwie anordnen.
So, dementsprechend Strickordnung kann man ihm auch haben.
Wir haben einige direkte Nachfolger und haben eben die entsprechende Präsidentskulation definiert.
So, und dann kann man auch zwischen Strick der Ordnung und Präzedenzordnung eine Überführung herbeiführen.
So, dann hatten wir den Begriff der totalen oder linearen
Ordnung dabei und muss das dann angeschaut, was das eigentlich bedeutet.
Haben also auch dieeinanderausführung gesehen, können aus der Strickordnung,
gewähr erstmal prinzipiell vorliegen haben, AVC und BVC,
können wir eben beide Reihenfolgen uns aussuchen,
haben uns dann die Linearisierung davon angeguckt und haben gesehen,
dass das Eine Menge Lingerisierung für ganz einfache,
also relativ einfache Systeme schon werden können.
So, dann gingen wir über zu den Zeitstämpeln verteilten Systemen.
Das heißt, da gucken wir uns an,
globale Zeit wäre so lokale Zeit und versuchen,
da irgendwas auf die Reihe zu bekommen und haben eine logische und eine vektorielle Zeit,
wobei elektrouelle Zeit dann sozusagen heute drankommt.
Die Idee war dann,
dass man in irgendeiner Weise Dinge in einer Vorrelation auch hier wieder darstellen kann,
in dieser Uhren und dass man die Nebenläufigkeit dabei hat,
wenn irgendwelche Dinge unabhängig sind und nicht diesem Zeitkegel irgendwie ja voreinander nacheinander sind.
Die stehen halt irgendwie nebeneinander. Das ist eigentlich durchaus
eine eingängige Geschichte
Dann hatten wir ein System von Funktionseinheiten oder Prozessoren definiert und gesagt,
lokale Rechenschritte, wir haben also lokal dann irgendwie das Ganze sequenziell,
wie weit das jetzt in eurem Rechner noch gilt,
könnt ihr mal überlegen und dass man dann da wohl für ein Modell wieder einführt.
Oder das werden wir dann,
dass wir dann sozusagen im Januar ein bisschen mehr thematisiert.
Und insbesondere kommunizieren die hier aber nur durch Nachrichten versenden miteinander
und schicken halt irgendwelche Dinge hin und her. So,
dann hat man also die entsprechende Vorrelation,
das heißt, dass wir Dinge haben,
die auf demselben Prozessor sind oder auf verschiedenen Prozessoren,
wenn die kommunizieren,
dann können wir halt sagen,
welches Ereignis war denn vor welchen
Ereignisorientierte Entwicklung ist durchaus eine spannende Sache, auch im Bereich der verteilten Systeme oder Softwareentwicklung.
Auch da werdet ihr mir dazu erfahren und auch praktische Anwendungen von all diesen Sachen mit hinbekommen. Weil genau dieses Problem,
sehr Laufzeiten und das Kreuzen von Nachrichten und so weiter,
gerade unabhängige Dinge hat und wie sich was überholt oder wie
Nachrichten langsamer sind oder schneller sind auf der Welt,
das ist natürlich eine spannende Sache,
wenn man versucht,
Ereignisse in seinem Softwaresystem wieder entsprechend in eine bestimmte Reihenfolge zu bekommen,
um dann dieses Thema auch wirklich konstruktiv bauen zu können oder
beschreiben zu können
Gut,
dann haben wir so ein Beispiel mit dem Banksystem gehabt,
wo wir ganz einfache Übertragungen von Geld haben und sagen,
okay, bei dem einen kommt es hinab,
dann tun wir drauf,
also eine ganz einfache Operation und haben dann gesagt,
okay,
wir haben über 60 Geldeinheiten am Anfang hier drin und haben dann jeweils eine lokale Zeit und jetzt schicken wir irgendwie Geld hin und her und dann möchten wir als Bankleitung immer wieder in Intervallen mal fragen,
viel Geld ist wie andere im Umlauf,
ist doch schon was verschwunden, da muss man sicherstellen,
dass jetzt nichts verschwindet.
Und da hatten wir ihn gesehen,
wenn er es unglücklich macht, dann stellt man fest,
okay, die Sachen, die gerade unterwegs sind,
werden durch nur den Bestand mitteilen nicht erfasst.
Das heißt, diese nicht empfangenden Nachrichten sind ein Problem,
also was macht man,
man löst das und packt die irgendwie mit rein
Das war aber dann trotzdem immer noch ein Problem,
wenn wir quasi Nachrichten haben, die,
wenn wir einen unglücklichen Zeitschnitt wählen,
weil für diese Uhren gilt lokal das Zeitpunkt 10,
also 8 Uhr, 8 Uhr morgens sozusagen auf dieser Welt.
Und schon haben wir auf den verschiedenen Abschnitten der Weltkugel unterschiedliche,
wenn man das so möchte, unterschiedliche Zeitpunkte, wenn man darüber nachdenkt.
So, und entsprechend kann es sein,
dass ich aus der Zukunftssache in die Vergangenheit schicke und dann
ist irgendwie der Geldbestand auch nicht korrekt und nicht gut dargestellt.
So, und an den Stellen kommt dann eben die Frage nach der logischen Uhr,
die wir dann feststellen und sagen, okay,
wir haben diese Vorrelation und daraus können wir halt definieren,
dass wir so eine logische Zeit haben,
dass wir das eine vor dem anderen haben.
Und das können wir entsprechend realisieren,
wir haben ja solche logischen Zeitstempel und entsprechend unbedingt was erhalte,
dann zähle ich diesen Zeitstempel einfach mal hoch.
So, und dieser Zeitstempel, da muss man halt ein bisschen aufpassen,
wie der so erfasst wird und was der so macht und darstellt.
Hier haben wir aber jetzt die entsprechende Aussage,
dass wenn das hier so ist,
dann kann auch daraus folgern, dass eben diese Linearzeit,
wie wir hier haben,
in dem Satz 5-12 da unten auch entsprechend
geschlussvergört werden kann
Stellt sich natürlich dann die Frage, was auch andersrum geht,
aber das werden wir gleich noch mathematisieren.
So, wir haben also jetzt hier den konsistenten Schnitt.
Hier ist der Algorithmus drin und entsprechend kann man jetzt schauen,
dass da passiert. Und da gibt es also Nachrichten,
vor der Gang hatten wir die Zukunft und schon ist das alles okay.
Man kann hier richtig einen konsistenten Schnitt entsprechend reinlegen,
weil man sicherstellen kann, dass eben die logische Zeit entsprechend auch liegt.
Dann hatte ich erwähnt,
dass wir so verteilte Systeme haben und war da dann auf
das entsprechende Beispiel eingegangen mit den entsprechenden Zeitumstellungen,
die wir vornehmen müssen aufgrund dieser logischen Zeit,
die wir hier durchreichen und versuchen jetzt
die Zeit hochzuschieben
So, was wir also versuchen, ist,
dass wir eine globale Zeit durch Systemen versuchen durchzuschieben.
Schwierig wird es jetzt natürlich, wenn jetzt hier noch irgendwas ankommt und
jetzt hier noch eine andere Zeit wieder reinkommt und so weiter,
was man dann dabei drin hat in den Sachen.
So, und diese entsprechenden Situationen, die wir dort haben,
die wollen natürlich verhindern und wollen das vermeiden.
Es gibt so ein Multicasting, was wir nicht weiter angucken wollen.
Als Beispiel eben die Datenbanken, hatte ich ja schon erwähnt,
also gerade diese Geschichte mit dem Geld weiter erreichen,
der entsprechenden Bankleute mit ihren Accounts oder mit ihren entsprechenden Daten führt eben dazu,
dass man halt in irgendeiner Weise Datenbanken ein Update führen muss.
Und das ist natürlich eins der großen Beispiel Regionen,
wo das immer wieder auch verwendet wird. So,
ja, dann ist jetzt die Idee,
dass man da diese Zeitstempel von dem halt eben benutzt und
man versucht zu vollständig sortierte Multikats auf völlig verteilte Weise zu implementieren.
So, und dann gibt es eben die Vector-Zeitstempel,
auf die wir jetzt noch ein bisschen näher eingehen wollen und wollen insbesondere irgendwas haben mit der Kausalität.
Also wir wollen irgendwie jetzt gucken,
wie diese Dinge noch genauer auszudrücken gehen,
damit wir letztendlich auch die Umkehrung hinbekommen, weil sie logische Zeit haben,
dass wir auch wissen, dass irgendwas davor liegt.
Und dann können wir nur wissen,
wenn es davor liegt,
dann ist die Zeit
auch anders
Der Umkehrschluss funktioniert halt noch nicht. So,
wir haben also inkonsistente und konsistente Schnitte in dem Bild.
Das heißt, da könnt ihr halt dann diese entsprechenden Beispiele
sehen, dass das so nicht sein darf.
Da muss man so aufpassen, während diese Schnitte ja durchaus
zulässig sind, weil ich eben die entsprechenden Informationen weiterreiche.
So, was wir jetzt immer gerne hätten,
ist irgendwie so totale Ordnung auf diesen Ereignissen,
also dass wir immer genau sagen können, wie das ist.
So, verteilte Systeme und die sind jetzt,
und jetzt sind die irgendwie zum Zeitpunkt Null.
Und wie will ich dir jetzt eigentlich schon am Anfang
total ordnen? Das ist das Grundprinzip,
was Sie dann wieder mitnehmen, was in allen möglichen Bereichen
immer wieder benötigt wird
Das ist so eine Art Münzwurf, wer dann das nun ist,
dann aber nicht mal wieder eine Münze werfen möchte,
machen wir das so, dass wir hingehen und einfach eine Ordnung auf
den entsprechenden Orten quasi definieren und versuchen also die entsprechenden Sachen abzudecken.
So, wir wollen das jetzt hier irgendwie so strikt ordnen
und Zeitstellen versehen und wollen totale Ordnen auf diesen Prozessen
haben und da wollen wir jetzt entsprechend rein und wollen jetzt
sozusagen hingehen und die Prozessoren da noch mit einbauen.
Warum mache ich das? Wenn ich also zwei Zeiten irgendwie habe,
die eigentlich irgendwie erstmal unvergleichbar sind oder sowas oder gleich sind,
dann möchte ich jetzt gerne auch noch was anderes
damit zunehmen,
nämlich ein Taibrek
So eine Relation gilt jetzt genau dann, wenn,
was gilt, wenn entweder das so und so schon so war,
dass wir hier den Zeitstempel so haben,
dass der eine vor dem anderen Licht.
Oder aber, die beiden sind gleich in irgendeiner Weise,
tragen den gleichen Zeitstempel. Aber wir haben das I,
das kleine als das entsprechende J und jetzt gehen wir hier
genau auf diese beiden Prozessoren, PI und PJ halt ein.
Und wir ziehen das in die Formel mit ein. Gut,
das ist so eine Art Tie-Break-Wold, das braucht man immer wieder in allen möglichen verteilten Systemen.
Wenn ihr auch euch versteht, verschiedenen Algorithmen anguckt,
die in verteilten Systemen laufen sollen, dann ist es so,
dass man in irgendeiner Weise eine Symmetriebrechung oft genug braucht,
um irgendetwas hinzubekommen, Entscheidungen zu treffen.
Sonst hat man diesen Live-Log oder After-You, After-You-Effekt,
nach dem Motto, wenn wir uns immer einige,
alle sind gleichberechtigt, wenn wir jetzt abstimmen wollen,
wer darf als nächstes reden und jeder darf hier gleichberechtigt mitreden, ist es ungünstig.
Heibrecht ist, ich sage, wer redet und dann ist gut,
dazwischen reden könnt ihr natürlich immer noch,
aber die Idee ist halt, dass ich jetzt einzeln irgendeinem Wort erteile,
das ist ein total hierarchisches System, aber wenn man sowas versucht,
mit allen gemeinsam abzustimmen, dann muss es da irgendwas geben,
was das auf die Reihe bekommt
Inwieweit dann nachher soziale Algorithmen sozusagen wieder dabei greifen? Das ist sprich,
dass man in einer Gemeinschaft lebt und irgendwie weiß,
wer dann wann und wo mit wem reden kann und wer drankommt.
Also du gehst in Normen und Regeln, da ist etwas,
was man dann im Bereich der Sozionik oder der Agenten mantierten Systeme mal diskutieren kann.
Auch ein spannendes Forschungsgebiet, könnt ihr mich ja darauf ansprechen,
wenn ihr euch Interesse an solchen Sachen habt.
So, die spannende Frage ist das jetzt hier
sozusagen kleiner Ja oder Nein oder warum ist das kleiner?
Wenn man da schaut,
wir haben jetzt hier die 2 und die 3,
das ist schon vom Zeitstempel her kleiner,
also ist das klar,
dass das funktioniert
Wir sagen, der hier ist größer als das da.
Wie sieht das damit aus? Ja und nein, ja
. Das stimmt, weil eine Prozessoration größer als heißt.
Genau, ne? Der ist größer, jetzt haben wir
es gar noch umgedreht, das war das fiese dabei.
Das sind nicht in einer Reihenfolgestand. Genau. Wir haben
also das einmal umgedreht. Genau,
da haben wir hier die entsprechenden 2 und 4 und auch hier gilt natürlich,
dass wir hier die entsprechende Zeit schon drin haben und zufälligerweise
auch der Prozessor halt mal dann entsprechend größer
Gut, da können wir also gucken, was der Lamford
sozusagen gemacht hat und haben jetzt quasi eine Lempardordnung da drauf.
Und das ist sozusagen sein Verdienst, was er Ende der
70er Jahre halt entsprechend dann sozusagen der praktischen Informatik zugeführt,
was in der Theorie ja schon seit langem quasi immer wieder verwendet worden ist.
So, was wir jetzt also machen wollen, ist ein Senden mit logischem Zeitstempeln.
Und jetzt müssen wir gucken, wie machen wir denn das? Naja,
ich habe jetzt hier so ein 1-0 und sage,
okay, das ist, ja, gucken wir mal,
was ein 1-0 ist,
hier mal ein 1
Was versende ich jetzt hier also? Wenn ich jetzt hier so durchblätter,
da habe ich ein 2-0, 2-1,
was ist da also das, was ich versende?
Mal raten, gibt es vielleicht noch mehrere Möglichkeiten?
Von daher. Ja, ich weiß ja nicht,
welcher Prozess von welchen, von welcher lokalen Zeit,
also Workouts von den Prozessor Müll,
der Prozess 1,
genau mit wenigen Logik
Also der hier, ne? Fangen wir mal an.
Was macht das? Das ist der Cedric 31 auf dem Prozess Müll.
Genau, also genau das. Ich habe hier die Eins,
die kommt da rein und die Null kommt von meiner Prozessor-ID.
Und wenn ich jetzt hier oben weitergucke,
dann habe ich hier die Zwei und auch wieder die Null,
weil es die Prozesse-ID ist.
Also das zweite Ereignis. Hier unten habe ich
2-1 und hier habe ich ein, zwei.
Warum schicke ich hier 1-2 los? Ich möchte jetzt alle mitnehmen,
weil sonst könnt ihr gleich die restlichen Sachen nicht lesen.
Deswegen, ja. Weil die lokale Zeit eins ist,
wie der Prozess jetzt war.
Genau. Waren wir hier in 2-1
Ja? Weil der Prozent, also die Eins erstmal,
weil es die Prozessor Eins ist,
irgendwie zweimal ein Ereignis mit einem zweiten Stempel von Eins eingetroffen ist,
also das Empfangen dieses Zeiten, es ist Henswerdstunde Zweig.
Genau, da haben wir unsere Hochzielen, wir propagieren diese
logische Zeit irgendwie da durch und das andere ist halt dieser entsprechende Prozessor.
Genau. Okay, so, dann geht es entsprechend weiter mit 3-1,
hier entsprechend 3-2, weil wir dann hier unten ankommen.
Das ist also, weil es da oben von da kommt,
da haben wir unsere 4-1, 4-2,
5-1, 5 und so weiter.
Entsprechend kann ich also jetzt hier eine gewisse Ordnung aufbauen,
die, wo ich sagen kann, okay,
in welcher Reihenfolge stehen die denn jetzt in irgendeiner Weise?
So, und ich kriege letztendlich das hin,
dass ich jeden Einzelnen sozusagen anordnen kann und sagen kann,
jo, der ist aufgrund meines Zeitstempels genau in dieser Reihenfolge.
Das Letzte sollte ich noch stehen lang, das ist ja leider weggesprochen. Aber klar,
also ich konnte jetzt sozusagen ein Fahrt durchlegen und genau sagen,
3-1, also ich habe ja 3-0,
3-1, 3-2,
für jede Zeitrechner habe ich maximal diese Reihenfolge und von jedem weiß ich genau,
wer vor wem liegt.
Und wir hatten ja erzwungen, dass sozusagen prinzipiell
diese zwei vor 1
sozusagen liegt
Okay, so, damit haben wir also, wenn wir so gesehen,
dass das hier auf jeden Fall gilt, das war ja schon vorher klar.
Und jetzt haben wir eben die Frage, gilt auch entsprechend diese Umkehrung.
Und bei dieser Umkehrung ist es eben so,
dass wenn wir jetzt versuchen, da irgendwas drüber auszusagen, funktioniert das nicht.
So, diese Frage mit dem Zurück ist also genau das,
was wir uns jetzt gerade angeguckt haben, weswegen wir da reingehen.
Wir haben eben gesagt, okay,
so ein Vieh heißt eben entsprechend 4-1,
unabhängig von 4-2, beziehungsweise eins heißt nebenläufig,
Zuphi 2,
was wir entsprechend mit diesem Parallelapperator schreiben,
die werdet ihr in der Prozessalgebann
nachher nochmal wieder sehen
Falls gilt, dass nicht 4-1,
4-2 oder nicht 4-2-4-4-1 liegt.
Was bedeutet das? Wer kann mir das einmal erklären?
Mal jemand aus dem rechten Block. Das bedeutet ja,
so geht es, wenn wir nicht genau sagen können,
also diese zwei Prozesse,
4-1 und 4-2 nicht in irgendeiner Abhängigkeit stehen,
dass einer,
von dem man hinsteht,
dann müsste sie
irgendwie trainieren
Genau, vor, ich kann nicht sagen, dass du
vor ihm aus der Tür gehst oder du vor ihm.
Sondern ihr könnt gleichzeitig aus der Tür gehen.
Warum funktioniert das? Na, ihr könnt beide aus den
Türen sozusagen unabhängig rauslaufen. Und deswegen ist es kein,
kann ich nicht sagen, wer nun vor wem rausgeht,
weil ich entweder das da oder nach dort gucke.
Und von daher ist das sozusagen für mich, kann ich mehr nachvollziehbar.
Also ganz einfache Geschichten. Wer von euch hat zuerst den Raum verlassen?
AVB, BVA und ich kann es nicht mehr sagen,
weil ich nicht genügend Beobachter im verteilten System,
dass ich natürlich von hier jetzt global gucken kann und so.
Aber das ist natürlich nicht in jedem Fall gegeben
Okay, gut. Also ist jetzt zu zeigen
diese entsprechende Strikte Ordnung, die das parallel entsprechend darstellt.
Und jetzt haben wir hier eben genau dieses Nebenläufig von vorher
auch wieder drin und haben da eben die Möglichkeit, jetzt irgendetwas zu vergleichen.
Und hier ist die Frage, wie sieht das mit denen hier aus?
Und da müssen wir halt gucken, wer da entsprechend vor wem liegt. So,
wir haben jetzt jetzt eine Vektorzeit,
relektuelle Zeitstempel und jede Funktionsinhalt PI führt eben eine variable,
voll mit den Werten entsprechend für die Anzahl der Prozessoren ein,
also von 0 bis N minus 1 und hat eben
entsprechend so einen Anfangswert an der Stelle
So, und falls, also,
das PI-Eineignis viel bearbeitet oder Zeit schon ein bisschen aktualisiert,
das heißt, wir zählen auf den Zeitstempel immer einen hoch,
das hatten wir vorhin schon gesehen,
da kommt also die 1-0 auf die 2 an und auf dem zweiten Prozessor an und der hat eigentlich die Zeit null Jahr noch,
zählt aber einen hoch,
weil es damit das zweite Ereignis ist im System,
was ihm klar ist.
So, und so ein Ereignis von diesem PI und diesem VI
ist dann die aktuelle Zeit der Vecto-Over von dem PI und wir haben Ferne jetzt dieses Vector-Zeit-Vi,
Das ist nämlich genau das,
das M ist an den Fängen eine Nachricht von diesem Fee mit dem Stempel von M entsprechend.
Was haben wir dann? Dann ist für jedes J,
was da dazwischen irgendwie liegt, ist klar,
dass das das Maximum von entweder den eigenen Zeitstempeln ist oder aus diesem Teil,
was wir hier rausbekommen.
So, und das ist die von PI berechnete entsprechende Vector-Zeit.
Und was man so macht, ist, man aktualisiert einfach
die entsprechend anderen Komponenten. Also was ich mache,
ist, wenn das jetzt so durchgehe,
gucke ich mir die einzelnen Komponenten an und zähle die
einfach alle hoch
Ja, ich gehe hin und sage, okay,
wenn ich jetzt so ein Vecto-Erfahrer erhalte, wo eben ich,
der ich bisher geschlafen habe und nur meine eigene,
mein erstes, eigenes Ereignis habe, was wir da drin haben,
dann Akquisierung bekomme, dass die Kollegen schon Hausaufgabenzettel 2,
5 und 6 und 7 gemacht haben,
dann weiß ich,
wie,
wo ich eigentlich stehe oder wie meiner Gruppe gearbeitet wird und was
die schon fertig haben und so weiter und muss dann entsprechend ein Update machen und feststellen,
dass schon weitere Veranstaltungen gekommen sind
Okay, das heißt, man muss in irgendeiner Weise das,
was jetzt hier so zusammenläuft, von diesen verschiedenen Vektoren
entsprechend noch zusammennehmen und dann einfach entsprechend aggregieren und zusammenpacken.
So, und jetzt sehen wir hier so ein entsprechendes Beispiel,
wie wir das so schön aufschreiben können.
Wir fangen also mit 000 an an allen Stellen und wissen,
okay, die Zeit ist sogar null prinzipiell. Und dann passiert genau das,
was wir jetzt hier vorher auch gesagt haben, was wir geschrieben hatten,
nämlich dass wir jetzt hingehen und bei diesem vektuellen Zeitstempel dann sagen, okay,
wir haben die entsprechende Eins als erstes Ereignis beim ersten.
Das zweite dort und das dritte dort und entsprechend hier Die 1,
2, 3, 4, 5 und ich zähle die Zeit von den anderen sozusagen konsistent mit. Das heißt,
ich habe jetzt nicht nur, dass ich das bei mir aggregiere und sage,
wo ich jetzt bin, sondern ich sage auch noch den anderen Leuten,
wenn ich jetzt die nächste Nachricht verschicke,
also wenn der hier die nächste Nachricht verschickt,
dann teilt er mit, was er sonst so kennt,
was natürlich nicht so spannend ist, aber wenn der jetzt hier rausschickt,
dann hält er eben wieder was von dem da oben und sagt,
wie das weitergelaufen ist.
Dass der inzwischen eventuell veraltet ist, ist dann eine andere Geschichte,
ob das, je nachdem, wie das dann gelaufen ist.
So, jetzt kann man also hier sehen,
wir haben hier die 001,
wenn das erstmals losschickt und dann braucht der hier oben,
muss er sozusagen für sich das als zweites Ereignis einrechnen
Und hier hinten die entsprechende Eins. Was passiert denn jetzt,
wenn ich diese Nachrichten nun, die hier hochgeht,
nun genau da bei dem 1-1-0 hätte ankommen lassen?
Was wäre denn dann für eine Zeit gewesen? Was sie genau zu dem Zeitpunkt,
denn jetzt habe ich da so zwei Nachrichten wieder ankommen.
Was passiert dann? Das wäre eine Möglichkeit.
Warum würde ich das nicht machen wollen? Weil er nicht
die Kinder wäre, das ist beim Zwei Ereignis zu machen.
Genau. Ich würde also einfach was machen.
Sowas macht der Prozessor dann also
Ja, aber was vom Prinzip her, was muss da prinzipiell tun?
Ist richtig, was du gesagt hast. Wird die beiden Ereignisse
auf irgendeine Art und Weise sortieren und dann einzeln verarbeiten.
Genau. Er macht einfach eine willkürliche, nicht-themistische Ordnung,
wenn man das möchte. Oder eine bewusste, weil er sagt,
okay, in meinem Speicher steht das in der ersten,
im ersten Register, das im zweiten oder in meinem Nachrichtenkorb
liegt der Brief oben und der andere unten.
Und dann weiß ich eben, dass die zweite Nachricht,
das andere ist die erste Nachricht oder sowas ähnliches schon,
aber ich schon mit, wenn es im Korb liegt oder sowas.
Also wie man das dann macht und wer das dann macht,
wir haben ja nicht gesagt, was für ein Prozessor das ist.
Ob das ein Mensch ist, der dann sagt,
oh, ich sag mal, der Brief,
der jetzt angekommen ist,
der war vor dem da
Nur eine rein lokale Geschichte ist, kann man dadurch sehen,
dass eben nur bei ihm hochgezählt wurde,
aber das nicht von den anderen sozusagen mitgenommen wurde.
Ja, und von daher könnte man jetzt hier auch das
1-1-1 sozusagen eigentlich machen, ja,
aber damit ich erkennen kann, dass zwei Nachrichten da waren,
würde ich das dann meistens so hochziehen.
Wenn es wirklich zum selben Zeitpunkt ist,
um das auch selbst zum selben Zeitpunkt akzeptieren kann,
dann wäre es halt ein Ereignis, dass nämlich beide gleichzeitig angekommen sind,
aber dann musste ich irgendwo anders reinschreiben,
wer das eigentlich war und woher das kommt.
Kann man rückrechnen, wahrscheinlich zum Teil,
dass eben dann die 1 und die 1 sozusagen jeweils hochgezählt werden in dem Augenblick,
obwohl man eigentlich noch bei 0-0-0 stand.
Daran kann man sehen, dass dann zwei Sachen
gleichzeitig passiert sind
Also quasi in einem Schritt passiert sind. Das heißt,
damit wir das immer noch dokumentiert und 1-1-1 wäre auch richtig.
Ja, das ist auch eine Frage der Notation und
ob man das, wie man das kodieren möchte,
ob man die Anzahl der Ereignisse sozusagen da haben möchte.
Warum wohl bei 4-7 der Zeitstempel von 1
nicht auf das Zweig wird? Ah, jetzt sind wir
schon an der Stelle, wo ich jetzt hin will.
Sehr schön. Gut, gut. Also,
wir gehen da jetzt nur durch und stellen also fest,
wir haben diese Sachen da so drin und zählen hier fleißig hoch.
Und hier habe ich ja hochgezählt, 1-3-
1 und ich habe die Nachricht 2-3 bekommen.
Und jetzt taucht die Frage auf,
wieso steht da jetzt eigentlich nicht Ja, 2,
4, 3. Wer kann das beantworten?
Das kann nur richtig sein. Also wichtiger als das,
was da steht. Um ein Lieben, 2, 9
Prozessor, 10 Prozent. Nein, deswegen sage ich ja,
es kann eigentlich nur richtiger oder nicht falscher sein als das,
was da steht.
Genau da ist ein Fehler,
es fliegen sie unten
der Stern
Der mich daran erinnern soll, dass das genau kommt,
das habe ich auch, da wollte ich jetzt gleich hin,
aber jetzt hast du schon eher die Frage gestellt,
weil du schon durchgerechnet hast und hast selber versucht nachzurechnen,
wie das da, was da los ist.
Und genau an der Stelle ist jetzt das Ganze nicht okay,
deswegen poppt das da hoch und wir stellen dann fest,
dass wir das entsprechend so hinschreiben müssten.
Und entsprechend müssen wir oben daraus korrigieren.
Interessanterweise propagiert der Fehler nicht überall durch. Das heißt,
es kann also sein, dass nur in allen Bereichen
Fehler auftritt und wenn er das nicht mit anderen kommuniziert,
dann merkt niemand, dass der da falsch gerechnet hat.
Ja, 4.0 aktuell nennt sich ja selber
Ja, nein, das ist genau, das Problem ist,
dass halt hier hinten schon die drei sozusagen hochgerechnet wurde.
Ja, okay, das ist sozusagen klar. Aber es
war vorher so und so schon auf drei hochgerechnet worden.
Den musste ich nicht mehr korrigieren. Das heißt,
ob der jetzt einen Fehler gemacht hat oder nicht,
kann der hier sozusagen anhand der Nachricht erstmal gar nicht erkennen,
weil er ja nicht weiß, wie der andere kommuniziert hat so richtig,
außer dass Union natürlich diese anderen Sachen nachrechnen kann.
Auf jeden Fall war das ein Fehler,
was man nicht machen sollte und muss man gut aufpassen,
wer dann wie, wo seine Buchführung ordentlich macht und aber ordentlich hochzieht.
Das zeigt, dass das Verfahren natürlich davon abhängt,
dass jeder Knoten sich genau so verhält, wie wir es haben wollen.
Und genauso, wenn wir halt Programme schreiben, gehen wir davon aus,
dass die auch die so ausführen und nicht kaputt gehen und so weiter.
Ansonsten müssen wir auf andere Verfahren zurückgreifen mit Fehlerausfall, toleran,
öffnet wieder ausfallen und tolerant und so weiter. Gut,
wir haben jetzt eine Definition, wobei ja die Definitionszahlen,
da müssen wir ein bisschen aufpassen bei den Folien,
die ich daher nochmal auch ins Netz stelle,
die Zahlen sind nicht alle genau richtig,
aber ihr findet im Skript das sequenziell sozusagen genauso wie jetzt hier in der Veranstaltung auch vor.
Gut, wir haben also eine entsprechende partielle Ordnung auf diesen,
aufgrund der Rektorzeit,
wir haben eine strikte Ordnung
Auf diesem N, wenn wir das sozusagen genau anordnen,
weil wir genau wissen, wenn der davor liegt,
dann haben wir entsprechend so eine Anordnung hier und die beiden können nicht gleich sein.
Spannender ist jetzt für uns, dieser Teil hier,
nämlich die heißen unvergleichbar, genau dann,
wenn sie eben nicht, äh, Vater hier geordnet sind,
oder da wird es hier geordnet sind und damit unabhängig voneinander sind.
Und genau das ermöglicht mir dann die entsprechende Nebenläufigkeit in
den Systemen und nur dann
Wenn AVB sein muss am BVA, dann kann ich das nicht nebenläufiger kriegen,
weil ich eben erst AVB oder BVA rechnen muss.
Und das ist sozusagen dann aufgrund der Anwendung so entsprechend gegeben. Gut,
okay, das ist das Spannende und wir haben jetzt die Definition,
dass wir eins als unabhängig von diesem oder nebenläufig geschrieben so,
falls das entsprechend gilt, was wir so eben schon hatten,
was wir eben schon angezeigt hatte,
das ist also jetzt genau die Idee,
die dahinter steht und die ihr im Kopf eigentlich mitnehmen müsst.
Und dass es nicht reicht, nur zu sagen,
ich habe eine globale Uhr und dann mache ich das mal so,
ich gucke da immer so drauf,
weil dann habt ihr letztendlich kein echtes verteiltes System vor euch
Und sobald ihr also mehrere Webserver habt,
die an verschiedenen Stellen laufen, habt ihr genau diese Probleme.
Und es kann immer genau auftreten,
dass genau irgendwie so eine Uhr irgendwie falsch läuft oder irgendwas
gerade nicht genau so gerechnet wird und so weiter.
Und die Nachrichtenzeit ist ein bisschen länger, als man dachte.
Und schon ist man sozusagen in der Problematik, dass man
andere Informationen noch zusätzlich braucht aus einer globalen Uhrzeit und davon ausgeht.
Wenn es egal ist, dann, euch interessiert nicht,
wann sozusagen die Kommilitonen ihre Übungsaufgaben machen,
wenn ihr mit denen nichts zu tun habt.
Wenn ihr davon ausgeht, dass ihr den Zeppel von denen braucht,
weil ihr das doch nicht gemeinsam macht,
sondern ihr nehmt den einen Zettel und gebt das in der Übungsgruppe ab,
dann ist die Vorbedingung,
dass die einer das getan haben,
damit ihr abgeben könnt
Aber was die anderen Gruppen machen,
ist euch relativ egal und von daher seid ihr unabhängig von denen,
aber ihr seid abhängig von euren Kommilitonen,
dass die auch etwas getan haben, damit ihr abgeben könnt rechtzeitig.
Gut, okay, dann haben wir hier diese entsprechenden Sätze doch dazu,
dass wir sagen, die sind entsprechend unvergleichbar und wir können
jetzt hier diese Sachen in beide Richtungen gehen lassen,
im Gegensatz zum LT, was wir vorher hatten.
Das heißt, wenn jetzt dieses Teil zurück,
dass wir jetzt in diese Richtung gehen können.
Und damit nehmen wir sie erstmal unvergleichbar,
weil unvergleichbar sind sie ja deswegen,
wenn ich nicht sagen kann,
wäre ich erstmal größer von diesen beiden,
weil sie halt unabhängig von uns sind
So, jetzt kommt man sich in unseren Abschnitt an und
jetzt kann man da mal reinschauen und sagen, okay,
da ist relativ klar, dass die voneinander liegen.
Da ist klar, wie die angeordnet sind an den Stellen.
Es kann auch sagen, okay, der hier vor dem,
warum? Weil der im ersten Vector keine Komponente größer ist
als die entsprechende Komponente in 2. Genau, die Komponenten,
jetzt so konvertenterweise geschaut und dieser Vector ist sozusagen echt kleiner.
Das ist genau dieses, was sie auch bei Vectorrechnung
sozusagen kennt. Und entsprechend findet ihr es dort Genau,
jetzt wieder, wann ein Vector größer ist oder nicht,
oder wann sie vergleichbar, nicht vergleichbar sind.
Das war so über das gleiche Spiel, die kann ich jetzt entsprechend alle einzeichnen.
Ja, bei den anderen wird es jetzt halt ein bisschen schwieriger.
Hier wird es gekriegt nichts hin, da kriege ich das irgendwie nicht hin.
Hier oben kriege ich das nicht hin. Also das heißt,
genau da habe ich dann eine Möglichkeit, was zu machen.
So, und die Bank leiht, der Bankmann werden das
ständig alle Vectorzeiten gesandt und kann sich jetzt entsprechend Verfahren aufbauen,
um das Bilanzproblem zu lösen. Und ja,
habt ihr schon gesehen, kann man, kann man dabei hinkriegen,
weil man jetzt eben entsprechend jetzt ausrechnen kann,
ob denn diese Relation eingehalten wurde, wenn ich natürlich eine Meldung kriege,
wo die Sachen nicht übereinstimmen, dann weiß ich,
dass ich noch warten muss,
bis ich genau die Sachen habe,
dass ich schauen kann.
Und dann Können wir das machen? Das heißt,
wenn wir jetzt da so reingucken, wissen wir,
dass wir da entsprechende Zeitschnitte haben.
Und dann muss man halt gucken, wie das ist.
Und dann haben wir die Nachricht in die entsprechende Zukunft und müssen
die entsprechenden Daten ausrechnen und können das dann berechnen an den Stellen.
Gut, okay. Das andere ist natürlich,
da verrauchen wir die Daten mit dem Verschicken.
Hier haben wir so einen sauberen Schnitt und da wäre das sozusagen dann,
das sind wir im grünen Bereich sozusagen mit dem grünen Schnitt.
Und da können das halt gut unterbringen. So,
und wenn wir das jetzt so anschauen, ach so,
Moment, jetzt habe ich da Ja gut,
kann ich noch mal kurz was,
da kommen wir später noch drauf mit den Netzen nachher,
mit der Netzdarstellung, dass wir den Erreichbarkeitsgrafen haben,
den ihr ja schon so ein bisschen gesehen habt als Transitionssystem von solchen Automaten.
Der sagt mir also, in welcher Reihenfolge ich was tun kann.
Hier drüben gibt es dann Dinge, wo ich Sachen unabhängig machen kann,
was aber sozusagen durch solche Beschreibungen dort eingeschränkt wird.
Das ist aber etwas, was wir dann im späteren Verlauf
eigentlich erst angucken wollten. Und jetzt kommen schon wieder Folien,
die noch nicht dran sind.
So, gibt es Fragen zu dem Gebiet
Von eurer Seite. Bisch. Gut. Alles klar.
Dann wechseln wir direkt zum nächsten Gebiet. Und da waren wir
ein bisschen auf die Peternetze eingehen, sozusagen eines meiner Hobby-Themen.
Und ein paar allgemeine Eigenschaften von den Petri-Netzen.
Was man mit anstellen kann und warum man die gut benutzen
kann und welche Vor- und Nachteile, die haben,
kann ich gerne nochmal im Laufe der Vereinstaltung ein bisschen näher erklären.
Wir haben also eine grafische und äquivalente allgebrachte textuelle Darstellung,
das heißt zu den Dingen,
die wir da jetzt unten immer so als kleine Bildchen hinmalen,
habe ich auch die Möglichkeit, ein Allgewalt zu verwenden.
Das bedeutet, ich kann die Dinger nehmen und einen Rechner stopfen.
Das heißt, ich habe also die Möglichkeit, die entsprechenden Bilder
auch im Rechner zum Laufen zu kriegen. Ich weiß nicht,
was ihr schon die endlichen Automaten versucht habt zum Laufen zu kriegen,
eure BPMN-Sachen so direkt zum Laufen zu kriegen, das ist gar nicht so einfach.
Da braucht man entsprechende Engines, die genau diese Umsetzung machen
und da muss man gucken, welche semantische Bedeutung liegt eigentlich dahinter.
Und diese Mantik, die dahinter steht,
die ist sozusagen so alt und so durch GX sozusagen aufgrund dieser Concursitory,
die letztendlich dahinter liegt, dass man da eine saubere Abbildung hat.
Im Gegensatz zu vielen anderen Darstellungen, wo das so eine Ad-hoc-Semantik ist,
wo man nicht weiß, ob das wirklich stimmt.
Durch diese Darstellung und die Theorie dahinter steckt,
haben wir eben formal abgesicherte Algorithmen für die entsprechende Analyse.
Ich kann hier Abstraktionen der gerafischen Strukturen einführen. Das heißt,
erstmal ist das, was man so üblicherweise bei Petrin Letzon kennt,
sind also so Bobble und da drauf sind irgendwelche schwarzen Marken.
Und außerhalb von Hamburg ist es auch der allgemein übliche Begriff unter Petri-Netz.
Wenn man, was weiß ich, Internet da jetzt guckt,
werden aber im Wesentlichen gefärbte Netze verwendet,
wo man also viel aus Ausdruck stärkere Mittel hat,
die man da durchschieben kann.
Das heißt, es liegt nicht nur eine schwarze Marke,
wie wir das da unten sehen, da rum,
sondern es liegen Datenstrukturen auf diesen entsprechenden Stellen.
Oder das, was wir machen,
dass wir da ganze Objekte und Systeme drauf liegen haben,
statt nur einem einfachen passiven Element.
Auf diese Sachen werden wir dann aber im Rahmen der Referenznetze am Ende der Veranstaltung,
Ende, in den letzten Veranstaltungen im Dezember entsprechend nochmal näher eingehen.
So, dass es außerhalb so ist, ist das,
wo die Petenets ihre Schwäche haben,
weil sie da nämlich nur begrenzt faltbar sind.
Wenn man ein, Entschuldigung, einfache BE-Netze nimmt, Bedingungseignisnetze,
das sind ja die Netze, die eigentlich erstmal so informiert worden sind.
Dann hat man nur Bedingungen und Ereignisse da stehen. Die PT-Netze,
die Platz Transitionsnetze, die wir noch kennenlernen werden,
das sind eine Art von Faltung davon.
Das heißt, ich kann mehrere Bedingungen zusammenfassen. Ich kann ja
sagen, wie viele Städten habe ich hier im Raum?
Und dann habe ich für jeden von euch sozusagen eine
schwarze Marke auf diesem Raum liegen und würde wissen,
so und so viele Leute sind hier im Raum.
Das kann ich mit Bedingungen nicht machen.
Eine Bedingung ist entweder da oder nicht da.
Also ist jemand im Raum, ja oder nein?
Das ist eine Geschichte. Da weiß ich auch lange nicht,
wie viele es sind. Wenn ich euch jetzt darstellen möchte,
wer jetzt alles hier ist oder wie viele Plätze hier gefüllt sind,
könnte ich Und dann sage ich, ist der Platz besetzt?
Ja, nein, ja, nein, ja,
nein, dann kann ich das sozusagen nehmen.
Ich kann zusammenfalten und das Wissen daraus zusammenfassen. Welche Faltung
ich nehme und was davon sinnvoll ist, da ist es etwas,
was wir im Zuge noch ein bisschen diskutieren werden.
Und eine der Hauptbegriffe in der Informatik ist genau dieser Begriff
hier oben, nämlich die Abstraktion. Das heißt also,
wie schafft ihr es vom Einzelbeispielen von kleinen Darstellungen zur allgemeinen Darstellung zu kommen?
Weil eure Programme müssen im Live-Werfensee laufen lassen nachher,
mit beliebigen Varianten herzurechtkommen und mit allen möglichen Sachen aus der Umgebung
Und diese Frage ist etwas, was wir sozusagen jetzt benennen können,
was ihr aber konkret tun müsst in konkreten Problemen.
Das müsst ihr dann nachher anwendungsspezifisch lösen. Hier liefern wir euch nur das Denkmodell dazu,
aber nicht das, wie es im konkreten Fall irgendwo anwendet.
Da müsst ihr dann die Übertragung machen, wie ihr das schafft,
diese entsprechenden gleichartigen Fälle, zum selben Fall sozusagen zu allgemeinern.
Es ist eine typische Sache, was ihr ständig macht,
wenn ihr euch in der Programmierung um Objekte kümmert,
da schaut der Klassen auf und diese Klassen sind dann durchaus mehrfach instanz zu ihr,
aber das heißt,
genau da habt ihr genau diese Geschichte andersrum gemacht.
Das heißt, indem ihr die Klasse geschrieben habt,
habe ich schon die Verallgemeinerung gebaut. Wenn ich aber Singleton gerade davor schreibe,
ist das natürlich noch was anderes,
aber es ist also genau die Idee,
sozusagen bestimmte Konzepte jetzt irgendwie zusammenzufalten und möglichst einfach zu haben.
Und das Informatiker versuchen wir ja möglichst einfach hinzubekommen,
weil man die einzelnen Sachen besser programmieren kann als die komplizierten oder komplexen Teile, ja.
So dürfte ich eben einleuchten. So,
und damit wir irgendwas auf diesen Afteraktionen auch noch machen können,
wir werden verschiedene Varianten davon kennenlernen,
gibt es auch noch zusätzlich die Möglichkeit der Hierarchie.
Das heißt, der Anordnung von Dingen,
wie ich sozusagen Details
immer weiter anschaue
Was dann auch eine Art von Abstraktionen wiederum natürlich ist.
So, da habe ich schon mehrfach darauf verwiesen,
es gibt eine hochentwickelte Theorie der Nebenläufigkeit.
Das ist sozusagen die Ausgangsbasis, die von Petry mit losgetreten wurde.
Natürlich hat schon immer Nebenläufigkeit auf der Welt,
aber die Beschreibung dazu und was man mit anstellen kann,
ist nicht einfach. Und es hat Jahrzehnte gedauert,
es gibt immer noch weitere neue Ergebnisse im Bereich der concurrency Theorie,
die ihr ständig sozusagen in entsprechenden Konferenzen auch antreffen könnt.
Solche Petnetz-Konferenz oder sei es wie Konkur oder solche Dinge
So, das heißt also, dieses Thema ist noch
lange nicht zu Ende. Und das, Anbetracht dessen,
dass wir ja jede Menge nebenläufige Systeme haben,
aber wir haben noch nicht mal die ganze Theorie entwickelt.
Es gibt da zwar schon eine sehr gut ausgearbeitete Theorie und die können wir auch umsetzen.
Und bei den Netzen haben sie jetzt so eingefangen,
dass das, was bei den Netzen ist,
zum großen Teil auch gut funktioniert.
Für die Erweiterung und diese, was ich eben sagte,
die Gefärbtennetze und das und sonst alles so ein schönes Ding dazu machen kann,
da fehlt noch eine Menge Theorie.
Die fehlt aber auch auf sämtlichen anderen Ebenen der Informatik in dem gleichen Maße.
Das ist das Spannende. Okay. Was wir jetzt darauf machen können,
ist, dass wir das Ganze in Form von Rechnern
zum Laufen kriegen können.
Das heißt,
wir können diese Dinge nehmen
Diesen statischen Beschreibungen. Das hier ist ein einfaches Teil,
was man hinmalt und dann liegt das da und
das habe ich schon seit Jahren so auf der Folie.
Aber da tut sich nichts. Was ihr schon gesehen hattet,
dass ich so Marken hin und her schieben kann.
Ich habe also mein Präsentationswerkzeug benutzt, um euch eine Simulation vorzuführen.
Kann man natürlich machen. Das Spannende ist,
dass man jetzt das Ganze noch ein bisschen verallgemeinern kann und sich
ein Editor dafür schreiben kann und seinen Simulator und dann kann der diese Beschreibung einlesen und dann einen Ablauf präsentieren.
Ob wir das dann in Form einer Datei macht oder visualisiert
, sei denn dahingestellt. Und das nächste ist,
ich kann aufgrund der Nebenläufigkeitstheorie auch insbesondere Analyse durchführen und
da hat sich in den letzten Jahren eine Menge getan,
was man dort alles machen kann
Das nächste ist, dass hier, ist das Renio-Tool,
das habt ihr schon in Übungsaufgaben zum Teil gesehen,
da haben noch nicht alle drin,
aber die Übungsaufgaben werden ja in der Dreiviertelstunde freigeschaltet.
Da gibt es noch die Hinweiszettel, wo ihr
es entsprechend runterladen könnt. Und dann bitte ich euch,
dass ihr da hingeht und euch das zu Hause installiert,
weil wir werden noch mehrere Aufgaben haben, wo ihr das benötigt.
Und ihr könnt damit auch zeichnen. Also man kann das
zum einen für Pitne zu benutzen und zum anderen auch für
irgendwelche Grafen zu malen, wenn ihr es möchtet.
Es gibt eine entsprechende Exportfunktion unter Files,
wo dann einfach Export und dann macht ihr EPS-Export und habt entsprechend dann die Möglichkeit,
dass dann heißt ein PDF,
dann könnt ihr es genau einbinden oder auch allgemein direkt mit PDF zu exportieren.
Wenn ihr also jetzt ihre Übungsaufgabe abgeben sollt und da
entsprechend Simulationszustand zeigen sollt, dann braucht ihr die Exportfunktion,
dass ihr den entsprechenden Zustand im Netz sozusagen exportieren könnt.
Die Idee ist, dass ihr euch das Werkzeug anschaut und
ein bisschen damit rumspielt und ich werde nachher vielleicht nochmal zwei,
drei Sachen kurz zeigen, wie man damit umgeht.
Die wichtige Sache ist, es gibt verschiedene Modi,
mit denen die Netze schalten und die Netze sind erstmal für Jahrpräferenznetze eingestellt,
ihr braucht aber erstmal den PT-Netz Simulator ist einfacher für euch.
Und den stellt ihr entsprechend über Formalismen, Simulationen,
Formalismen entsprechend ein. Ihr könnt also verschiedene Formalismen,
wie die Semantik aussehen soll für das,
was ihr als statisches Modell da liegen habt, funktionieren sollen.
Und die Netze sind sonst auch nicht ausführbar in den Beispielen,
weil das sind das jungte Formalismen, die sich nicht sozusagen im selben,
mit dem Sensulat beim selben Netz ausführen lassen.
Ring ist vom Prinzip Multiformalismen fähig, haben wir aber im
Moment so für den externen Gebrauch
nicht eingeschaltet.
Dann gibt es eine Universität in der Anwendbarkeit, das heißt,
die Anwendung, Anwendung findet man eigentlich aus fast allen Bereichen,
das ist genauso wie endliche Automaten in jedem Bereich vorkommen und auch andere Techniken,
Sprachengrammatiken und so weiter,
auch in jedem Bereich der Informatik, Anwendungsbereich sozusagen,
wo die Informatik Anwendung findet, auch Eingang finden.
Das heißt, diese Netze sind genauso universell, wie die entsprechenden anderen Techniken auch.
Von den Varianten habe ich schon so ein bisschen gesprochen,
es gibt auch Zeitnetze, das heißt,
wir können auch Zeitanschriften heranbekommen, das heißt,
wir können sagen,
diese Transition,
da feuert eine entsprechende Zeit oder wenn eine Marke auf diese Stelle kommt,
dann reift sie dort zwei Minuten lang und
dann erst kann man sie runternehmen oder wie auch immer
Ja, es gibt verschiedene Dinge dabei oder ich habe die storastische Verteilung,
die sagt, wie das sozusagen mit welcher Wahrscheinlichkeit
das weiterschaltet oder wie Konflikte gelöst werden und und und.
Es gibt eben hochsprachige und objektorientierte Netze, objektbasierte Netze und so weiter.
Gibt es eine Menge Varianten von? Entsprechende Historie der Petri-Netze könnt ihr
dann in den entsprechenden Webseiten bei uns auch nachlesen auf unserer Webseite.
Das ist ein Foto von dem Herrn Petri,
wie ihr hier vorne saßt,
ist halt schon ein paar Jahre her, steht schon vier Jahre gestorben,
wir sind gestorben und hier gibt es ein paar Informationen,
die euch anschauen könnt, wenn euch das interessiert.
Das zum Thema Dissertation ist halt schon, wie gesagt,
zwei Tage her
Dass er das eingereicht hat, also 61.62 Uhr,
ist das sozusagen fertig gewesen, 62 Uhr ist die Diskutation.
Und es waren nur ein paar Seiten,
aber die hatten es halt in sich,
das hat eben eine Menge Preise und eine Menge Einerkennung gebracht,
was er dort an prinzipiellen Ideen hat.
Was er so nicht findet, sind ausführliche Pitchen-Netzzeichnungen.
Eine der Dinge, die von Alter Holt eben kamen,
war insbesondere auch die Anregung zur entsprechenden grafischen Darstellung.
Wobei auch Petry sagte,
er hätte schon als 13-Jähriger so aufgemaßt,
sich überlegt hat, wie man denn entsprechende Moleküle zusammenbaut und
Atome zum Molekülen zusammenbaut und so weiter
Kann man sich dann hier entsprechend anschauen und entsprechend im Artikel nachlesen.
Gut. Hier kommen wir zu unseren Uhren. Diese Uhren verfolgen uns eigentlich immer wieder,
weil wir genau das ja als Grundproblem sozusagen haben und da
eben jetzt in irgendeiner Weise AVB in einer Linie haben.
Jetzt zeichne ich das Ganze mal so, dass wir sagen,
okay, ich bin halt von meinem Zeitkorridor,
den ich hier so habe, mit den verschiedenen Möglichkeiten in meiner Welt,
was ich so tun kann,
ist eben A 4B und das nämlich jetzt,
dass sie halt in Linie liegen.
Den Begriff werden wir noch formal definieren.
Und entsprechend haben wir dann weitere Teile,
die entsprechend dann in Co. liegen,
das heißt die Concurrent oder unabhängig
Von diesen entsprechenden Ereignissen hier sind. Ja, das ist so
die wesentliche Idee. Und jetzt kommen wir auf das,
was ich letztes Mal schon an die Tafel gezeichnet hatte,
nämlich die entsprechenden Lebenslinien, die sich da drin ergeben können.
Und dass wir da drin dann die entsprechenden Transitionen unterbringen wollen.
So, dann ist das Universum ein Computer.
Das ist also eine spannende Frage. Das zeigt wieder,
dass auch Andere Wissenschaften auf andere Dinge immer wieder zurückgreifen.
Also eine Zeit lang gab es mal ein Weltmodell,
dass die Welt eine Uhr sei, also dass alle Maschinen
sozusagen mit Uhren, wurden die mit Uhrenmodellen beschrieben?
Dann hat man irgendwie die Dampfmaschine genommen oder sowas oder ist man auf irgendwelche anderen Sachen gekommen?
Inzwischen kommt auf die Idee und sagt, okay,
das Ganze Weltall ist eigentlich ein rechnender Raum und dann kann man sich Gedanken dazu machen,
was das eigentlich für eine Bedeutung hat und wie das entsprechend aussieht.
Es ist ein ganz spannender,
ganz spannender weiterer aus dem spektröser Wissenschaft und hat durchaus was
dann mit unseren Sachen hier zu tun,
weil es von zu so und so
beeinflusst worden ist
Der Zuse noch mal eine, von wegen des Raumes hier
durchaus für den Fachbereich bekannte Person. Und die haben sich eben
gerade als Herzjetsingenieur eben gerade darum gekümmert und hat versucht,
diese Theorie sozusagen auch entsprechend bei sich aufzugreifen. Gut,
und wie man dann das Universum als großes Netz verstehen kann,
das kam dann sozusagen aus diesen Diskussionen heraus,
was dann später von den Physikern halt jetzt aufgegriffen worden ist.
Gut, und die alten Sachen zuzusehen, die kennt,
könnt ihr nachlesen hinten an den Wänden,
was an welcher Mensch hier gemacht hat und so weiter und
so fort oder in den entsprechenden Webseiten des Fachbereichs für die Historie
Und aus diesen Begegnungen kam eben der Netz heraus,
dass Susi selber Bücher geschrieben hat, wie man die Teile also verwendet.
Das heißt, er als Ingenieur hat damals die Möglichkeit gesehen,
damit Sachen zu beschreiben, die man vorher sozusagen nicht beschreiben konnte für sich.
Dass also die für die beiden sichtbar sind.
Könnt ihr auch in der Bibliothek entsprechend finden. So,
jetzt kommen wir auf allgemeine Eigenschaften von den Petri-Netzen nochmal zurück.
Wir haben diesen Simulator, künstensuell verwenden. Und wir haben
irgendwelche komischen Konzepte, die wir da anschauen wollen.
So, jetzt gibt es dann eben auch neuere Bücher,
außer diesen uralten Schinken von Zuse,
wo man ja durchaus ein paar spannende Anregungen rausholen kann
Das ist dann das Buch, was Jiro im Falk rausgegeben haben,
zum Thema Pitchennetze for Systems Engineering, wo es also darum geht,
wie man das entsprechend im System Engineering-Bereich einsieht.
Ein paar hundert Seiten stehen mehrfach in der Bibliothek,
könnt ihr also entsprechend auch die Sachen nachlesen. Das heißt,
alles, was wir dort an Netzen jetzt hier drin haben,
findet ihr unter anderem auch in diesem Büchlein und noch ein bisschen mehr.
Die Seiten könnt ihr auch entsprechend überschlagen, wenn es nicht dabei ist,
aber daneben befindet sich halt eine Menge Text,
insbesondere zu dem, was jetzt gleich kommt,
findet ihr dort die entsprechenden Erläuterungen und eine etwas andere Herangehensweise,
was euch dann sozusagen eine andere Perspektive ermöglicht,
sich den Stoff anzeichnen.
Das heißt, guckt euch das einmal an
und dann könnt ihr durchgucken
Könnt ihr auf Chinesisch schließen, wenn ihr wollt,
aber ich habe bis jetzt nur die englische Variante angeguckt.
Gut, okay. Ach ja, jetzt habe ich die alten Sachen da noch drin,
das sind die alten Pindelskonferenzen, es gibt inzwischen ein paar neue,
was spannender für euch sein sollte, sind hier die entsprechenden Pintel-Nets-World-Seite.
Wenn ihr also irgendwas zu Pintel-Nets suchen wollt,
findet ihr bei uns auf den Webseiten einen Link auf die internationale Webseite,
wo die Peternetze sozusagen allgemein gesammelt werden,
wo alle möglichen Sachen halt drin sind,
wo man erstmal Übersicht kriegt, irgendwelche Fragen oder irgendwelche Links,
wo man weiterführende Literatur findet, Anwendungen werden hier gezeigt,
Werkzeuge kommen unten drin vor,
Veröffentlichungen,
welche Aktivitäten stattfinden und so weiter
Es gibt so eine entsprechende Mailing-Liste, ihr könnt euch eintragen und da geht's los.
So, jetzt zur Entwicklung von diesen Netzen, was passiert da?
Wir haben so drei Ansätze zur Einführung, wie wir das jetzt machen können,
wir können gucken, wie wir es aus Programmcode macht,
das haben wir ja schon mal so ein bisschen gesehen.
Wir können das kommunizieren, der Automaten verstehen,
dass er die Idee von Petri, dass er sagt,
ich habe die endlichen Automaten und da,
wo gemeinsame Handlungen sind, da verschmelzt sich die Aktion,
dass genau das, was dann quasi diese Lebenslinie gerade darstellt,
wo wir dann den Schnittmenge der Lebenslinien als Handlung anschauen.
Oder eben von einem einfachen,
zu einem höheren Netz können wir auch noch kommen,
also das heißt,
wie wir die entsprechend bei der Fortsetzung,
weil wir einfach von den Netzen selber ausgehen und dann versuchen,
auf höhere Netze
zu kommen
Bei dem Programmcode, können wir jetzt hingehen und sagen,
okay, wir haben unsere Operationen,
die kennen wir ja schon von vorne und malen das sozusagen als entsprechendes Netz auf,
malen das so runter und haben die Möglichkeit, das entsprechend anzuordnen.
Wenn wir es als Netz darstellen,
ist das ganz einfach und sind ganz schnell damit fertig.
So, und jetzt starten wir da oben,
packen eine Marke da drauf und dann können wir jetzt einzeln sehen,
was da genau passiert. Können das so einzeln durchlaufen,
was dann entsprechend genau das hier zum Nachspielen mit den Marken
auch passiert, sodass wir da sehen können,
wie das rüberwandert.
Gut, okay,
kann man machen
Ist vielleicht ein bisschen mühselig, euer ganzem Java-Kram,
genau so da reinzutun. Vor allen Dingen,
ist es einfach ein Overhead, weil die Stellen,
die Boxen, kann ich mir auch so denken,
wenn ich das so sequenziell untereinander schreibe.
Das ist kein Unterschied. Das heißt,
ihr könnt euch jederzeit auch Programmcode als Petrinetz vorstellen,
wo eben im Eizequenz, was ihr da drin habt.
Wie es dann genau ausgeführt wird von der Engine und wie dann
die Semantik aus dem Compiler rauskommt, das ist dann halt etwas,
wo ihr auf die Kommandos noch achten müsst.
Und wenn also Sweats und Zynkreneist und sonstige Sachen drinstehen,
muss man erst mal gucken, was es eigentlich wirklich genau bedeutet.
Dass dann in solchen Böckshunden dazu bringen,
ist ein kleines bisschen schwieriger
Gut, an der Stelle können wir natürlich sagen,
okay, wir wissen ja, dass die Daten unabhängig sind.
Das war das, was wir schon mal hatten und können dann also
entsprechend jetzt hier unsere unabhängigen Operationen durchführen und da die Sachen machen.
Das andere war, dass wir hingehen und das zum Automaten
verstehen und dann eben hier anschauen, okay,
wir können die so durchschalten, sind wir glücklich,
haben wir endlich Automaten, der ist einfach beschrieben.
Das Gleiche machen wir im zweiten Automaten. Aber jetzt wollen wir
gerne diese Operationen da sozusagen koppeln und führen das dann sozusagen
genau zu diesen Verschmelzen. Und das ist genau das,
wo die Lebenslinie sich jetzt quasi treffen.
Dadurch, dass ich jetzt aber Automaten habe,
habe ich ja so quasi Schleifen, wo sie sich treffen.
Das heißt, da sind wir schon mal etwas an einem Modell,
als wenn wir die Lebenslinien abgewickelt
quasi sehen von diesen Sachen
Bei dem Kowski-Raum hatten wir ja mal gesehen,
da war so ein Trichter und dann ging es auseinander,
da gab es keine Zykler, da gab es nicht so einen Torso oder sowas da drin.
Gut, und das ist das Schalten des Netzes,
ist eben entsprechend dann zu sehen,
wie muss man das machen, naja,
da musst du jetzt erstmal hier die Marke rumlaufen,
weil jetzt haben wir ja zwei Automaten,
die Gespräche gekoppelt sind und dann schalten die beide zusammen und packen das halt durch und dann kam das genauso auch erklären.
Das heißt, diese gemeinsame Handlung kann nur dann stattfinden,
wenn wirklich beide sozusagen sich daran beteiligen und sonst eben entsprechend nicht,
was kann ich jetzt machen damit,
ich kann natürlich auch hingehen und entsprechend jetzt auch hier noch mehr Marken erzeugen,
das sind irgendwelche Bedingungen, die ich da erzeugen kann.
Das heißt, wir haben keine werterhaltende Semantik von unseren Token,
die wir da durchschieben. Wie wir es mit irgendwelchen Gegenständen machen würden,
wenn ich irgendwie eine Flasche Wasser durch die Tür trage oder
sowas oder irgendwo hinbringe oder ich verteile das irgendwie,
dann könnte ich nur Wasser aufteilen, aber ich kann nicht Wasser generieren in irgendeine Aktion beliebig.
Okay, das heißt, man muss gut aufpassen,
was man da an Bedingungen hat und da kann man halt die Unterricht,
das muss man hier jetzt schalten, nochmal sehen.
So, jetzt kommt auf die Grundprinzipien und bei den Grundprinzipien haben wir jetzt Lokalität,
Nebenläufigkeit, diese grafischen Traumatiks und die Darstellung und wie wir da längst kommen mit den Einfachen und Hören in Netzen.
Und da ist jetzt das Beispiel, was eben auch in dem Giro-Falk-Buch drinsteckt,
wo wir hingehen können und sagen können, okay,
wir haben so ein Rennfahrer-Beispiel,
damals bei Sumi halt ganz groß im Kommen.
Zwischen ist er schon nicht mehr so aktuell. Es sind
andere Leute, die da fahren. Und das heißt,
hier geht es darum, wie wir jetzt solche Ereignisse haben,
die unabhängig sind und wie wir sowas synchronisieren können.
So, was wir brauchen, sind irgendwann so Bedingungen und Handlungen,
wenn wir sowas beschreiben wollen.
Also ich brauche einen Wagen, damit der losfahren kann oder sowas.
Das sind so Dinge und Losfahren oder Fahren ist dann sozusagen
eine Aktivität. Ich kann auch sagen,
ich habe ein Auto A und der ist wie Perring for Start,
also ich kann das sozusagen als Bedingung haben, das ist ja tatsächlich noch vorbereitet.
Der ist Waiting for Start oder Running und man kann auch eines sprechen,
das Rallye Signal schicken, also das heißt,
die Autofahrer müssen alle ihre Hand heben und sagen, jo,
ich bin startbereit und wenn alle ihre Hand gehoben haben,
dann ist da das Managan vorne, der das Staatssignal gibt, sagt, yo, go.
Und dann starten sie halt mit ihrem tollen Autorennen.
Wo zu Autorennen sind, wollen wir nicht in Frage
stellen hier
Sonst würden wir das Beispiel nicht haben. So, entsprechende Aktionen.
Wir haben das K und wir senden auch tatsächlich dieses Ready Signal.
Und wir haben diese entsprechenden Staats. So, jetzt kann
man sozusagen globale Zustandsübergänge sehen und entsprechendes Transitionssystem sich angucken.
Und man kann jetzt das Ganze formalisieren und hinschreiben.
Und das sozusagen sind die Bedingungen. Und die einzelnen Bedingungen
ändern sich, indem halt jetzt irgendeine entsprechende Aktivität sozusagen stattfindet.
Dass wir gleich sehen, welche das denn sind.
Zum Beispiel, dass wir hier oben das Muss vorher gegeben sein.
Und wenn dann diese Handlung hier stattfindet,
dann wartet das Auto A für den Staat.
Und das RD-Signal von dem KA ist auch da.
Das Ganze machen wir auch für das Auto B. Dann haben wir
sozusagen so zwei Transitionen, die jetzt sagen, okay,
gut, jetzt könnten wir ja so mal losfahren oder sowas.
Und dann brauchen wir irgendwie einen Staat. Weil wir gleich
noch weiter sehen, was da noch weiterkommt. So,
dann haben wir das Prinzip der Dualität in diesen Netzen.
Was haben wir also da drin? Wir haben also jetzt
zwei Elemente da drin, nämlich Zustände und Handlungen sozusagen.
Also Plätze stellen, wie auch immer es genannt wird,
oder Traditionselement oder Transition
Und Dinge der realen Welt werden entweder als passive Elemente aufgefasst,
als P-Elemente dargestellt oder als aktive Elemente und entsprechend durch die Transition repräsentiert.
Das ist jetzt sozusagen eine pragmatische Zuordnung. Man hätte jetzt
die auch irgendwie anders nennen können, das ist also eine entsprechende Definitionsfrage,
die man sozusagen jetzt hinnehmen muss in den Stellen.
Gut, was dann diese Dinge da sind,
ob das ein Betriebsmittel sind oder Wartepools oder Kanäle oder entsprechend die Handlungen als Ereignisse,
Aktionen oder Auktionen oder aus fünf von Anweisungen und mitten von Nachrichten,
da kann man sich irgendwas vorstellen,
was man da gerne reinhaben möchte
So, das Prinzip der Lokalität,
nachdem wir jetzt erstmal schon mal die Welt aufgeteilt haben,
sozusagen passiv oder aktiv und dann die Relationen dazwischen,
haben wir jetzt im Prinzip der Lokalität.
Das ist insofern spannend, weil ich sage,
eine Handlung ist durch seine eigenen Vorbedingungen und deine eigenen Nachbedingungen letztendlich geprägt.
Schluss. Ob ihr jetzt sozusagen noch einen Schluck Wasser trinken
könnt oder nicht, das hängt davon ab,
ob ihr jetzt sozusagen ein Glas Wasser oder irgendwie Wasser bei euch habt.
Prost, ne? Und die andere Frage ist,
ob das bei anderen Leuten ist, was andere Leute dazu machen, ist sozusagen unabhängig davon.
Dass also einige dursten müssen und andere können was trinken,
Ihr könnt lokal trinken und das global heißt nicht,
wenn hier eine Flasche Wasser im Raum ist,
das alle jetzt zu trinken haben.
So, das ist eine relativ einfache Geschichte dabei, die man sich da vorstellt.
Das Verhalten der Transition ist ja ausschließlich in der Lokalität bestimmt.
Also ich kann hier nur lokal das trinken,
wenn ich was dabei hätte, habe ich heute nicht.
Also ich bleibe hier oben durstig heute. Wie sie eben
aus ihr und der Gesamtheit der eigenen Ausgangslimite zusammen ist.
Das heißt, die Lokalität bestimmt sich eben sowohl aus der Handlung selbst,
als auch aus seinen Vor- und Nachbedingungen.
Gut, das Prinzip der Nebenläufigkeit. Was wir jetzt haben,
wir haben ja gerade nun Im vorderen Teil der Veranstaltung uns
lange mit Unabhängigkeit und sowas beschäftigt.
Und genau das ist jetzt das, was wir hier brauchen.
Wir nennen genau diese Teile nebenläufig, wo wir eine disjunkte Lokalität vorfinden.
Also das heißt Dinge, die wirklich nicht irgendwie zusammenhängen nachher.
Für die ich also in meinem verteilten System keine A-Mus VB sein.
Direkte Beziehung irgendwie aufbauen kann. Super. Dauert also
nicht mehr lange mit dem Teil hier.
Will er das jetzt nicht
Ja. Was wird unterbrochen? Welches sympathisches Programm,
was die Sachen unterbricht, damit ich jetzt weitermachen kann.
Das ist ja echt zu gut. Ich möchte jetzt weitermachen.
Boah, nicht wahr. Hat jemand einen Netzteil für einen
Apple dazu für dich? Will jetzt keiner, ne?
Das ist böse. Gut, die PDF-Folien habe ich
jetzt hier nicht liegen, die liegen sonst wo.
Damit ich noch zwei Dringe zu Ende erzählen kann
Machen wir das jetzt so? Das Programm sperrt sich,
wenn die Batterie alle wird. Das ist gut zu wissen.
Gut. So, die entsprechenden Lokalitäten nebenläufiger Handlungen waren das hier nicht.
Also das haben wir jetzt hier nicht entsprechend dabei. So,
das heißt, ihr kriegt jetzt die entsprechenden Folien so nackt
zu sehen. Hier haben wir jetzt also diese Nebenläufigkeit,
die wir als ein weiteres Grundprinzip haben. So,
und was wir jetzt jetzt nicht mehr einzeln einblenden werden,
sondern jetzt einfach so sehen, sind entsprechend dann die Netzkomposition,
dass wir solche Dinge auch entsprechend zusammenbauen können.
Wir haben jetzt also solche einzelnen Teile hier und können jetzt
an diesen Stellen dieser Netze miteinander zusammenbringen und hier dann zusammenbauen.
Das heißt, wir haben T1 und T4, das sind diese beiden Transitionen hier.
Und dann haben wir ein weiteres Startelement, was eben voraussetzt,
dass da so ein Starter ist und dann entsprechend weitermacht.
So, achso, das funktioniert natürlich jetzt nicht mehr.
Krumpf. So, die entsprechenden Netze,
die wir dann dabei zusammenbauen können, sind beliebig groß.
Also wir können das immer aus diesen lokalen Teilen zusammenbringen,
wo wir sagen, diese Bedingung ist von dem einen die Nachbildung,
in die Vorbildung können wir sie entsprechend da zusammenbasteln.
So, die andere Elemente ist jetzt,
dass wir eine grafische Darstellung haben, das heißt,
dass es rund und eckig wird, waren reine zufällige Entscheidungen,
es hätte genossen auch andersrum passieren können, ja.
Also das ist eine, dass da keine inhaltliche Bedeutung hinter,
dass man das irgendwie als besonders toll sehendeste,
das ist einfach eine klare Definitionsfrage an dieser Stelle,
was man da macht.
So, und der Übergang zur Format textuellen Darstellung von Petrinetzen ist dann halt so,
dass wir jetzt dort die entsprechenden Abbildung von der Grafik in entsprechend andere Sachen haben.
Wie die genau aussehen, das werden wir genau bei den Definitionen
nächstes Mal sehen, was wir da entsprechend abbilden werden.
So, ups. So, was wir jetzt auf jeden Fall haben,
ist, dass wir ein Netz haben,
wo wir die Stellentransitionen definieren und eine entsprechende Flussrelation.
Und das sind eben entsprechende Mengen von Elementen, die das jung sind.
Wir haben also nicht die Möglichkeiten, was eckiges Rundes oder
was Rundes eckiges zu haben hier an dieser Stelle.
Und wir haben eine Flussrelation, die eben dafür sorgt,
dass wir Nur Stellen mit Transition oder Transumme stellen verbinden können.
Und wenn diese endlich sind, dann heißt auch das entsprechende letztendlich.
Also wir haben nicht unendlich viele Kanten dazwischen. Gut,
und was wir jetzt hier unten sehen,
ist halt ein Beispielnetz, was wir da haben.
Und da kann man dann verschiedene andere Sachen mitmachen,
die ich beim nächsten Mal nochmal genauer zeige,
was wir da drin haben.
Ich glaube, dass jetzt hier dieses Teil nicht möchte,
dass ich hier weiter vorführe,
führt zu einem früheren Abbruch von der Veranstaltung.
Erstmal soweit das Schalten dieser Transition
Ist jetzt so gedacht, dass wir die entsprechende Vorbedingung abziehen und die Nachbedingungen entsprechend erfüllen.
Und das entsprechend rüberschieben. Und durch die Lokalität können wir
also immer das Pro-Transition quasi uns ja ausrechnen.
Wir können sich auch die Lokalität für den Platz haben und sowas.
Solange wir also das jung sind, kann ich die unabhängig schalten.
Sobald da ein Konflikt besteht für irgendwelche Sachen,
was wir jetzt hier nicht drin haben, müsste man gucken,
was dabei loswendig ist. Wie wir hier sehen, ist,
wir haben ja die entsprechenden Stellen als Vorbereich und wir können hier die beiden Marken hinlegen,
wir können hier die beiden Marken hinlegen und sobald hier die beiden Marken vorhanden sind,
ist für diese Transition entsprechend das Schalten auch wieder...
Eigentlich ist nur ein Verböse, das man erkennt.
Wichtig ist jetzt frei. Ich hoffe, ich komme nicht mehr
auch dran. Bei dem entsprechenden Übergehen, wie jetzt gewählt,
wir beten in Zentrale 2, wir behalten.
Und ich danke dir wieder, dass du die Eins und
Danke dir oder die FC4-Leiten einschaltest.
Eine Möglichkeit ist, dass du bei der Gleichzeitigkeit irgendwann diagnost.
Wir sprechen, können dir weiterschalten und dann quasi wieder
die Gleichheiten
Ist, genau bedeutet, dann liegen hier die entsprechenden Marken
und danach sind wieder diese beiden Transitionen hier aktiviert,
sodass man EST2 und dann die andere Transition entsprechend schalten kann.
Und das Spannende ist hier,
diese Unabhängigkeit und hier sehen wir auch so ein kleines bisschen die entsprechende Semantik,
wo sagen, wir haben hier eine Folgensemantik,
indem ich halt jetzt sage, ich mache T1T4T3,
T2 oder sowas.
Oder ich habe eine Schrittsemantik,
von der ich ja schon mal gesprochen habe beim letzten Mal,
wo wir dann hier quasi T1 und T4 schalten und das
dann entsprechend mit reinnehmen
So, und dieses Teil geht noch ein Stückchen weiter und
das werden wir den Prozessen sehen,
wenn das die Vorgehen dazu hattet ihr eben gerade schon gesehen zwischendrin,
was hing bei den anderen Vorträgen mit drin.
Da werden wir darauf eingehen, was dann diese Prozesse
eigentlich sind und wozu man sie entsprechend benutzen kann.
Wenn wir zurück zu den Geschichten, die wir hier haben,
dass wir hier diese einzelnen Sachen so einblenden,
das sind ganz nett sozusagen, weil die nicht in den entsprechenden Darstellungen jeweils immer zu sehen sind.
Wir können also hier diese einzelnen Teile reinpacken,
zusammenbauen und dann einzeln als eins der Fragmente verstehen
Das heißt, was ich machen kann, ist,
ich kann in eine Firma oder in irgendeine Fabrik
eine Menge von Leuten reinschicken und die lokal,
die einzelnen Operationen angucken lassen und sagen können, was,
wo, welche Vorbedingungen.
Hier ist kein Strom? Nein, da ist kein Strom
, ich glaube es nicht. Ich glaube es nicht.
Okay. Heute würdest du echt den echten Slapstick-Veranstaltungen hier,
Hm. Okay. Tatsächlich, macht er weiter.
Gut, okay. Spannend. Die entsprechenden Verknüpfungen,
die wir dann vornehmen, ist, das heißt,
wenn ich mir das in den entsprechenden Bereichen,
die Einzelaktivitäten angeschaut habe und die sagen, okay,
gut, ich muss hier den Kotflügel liegen haben und hier drüben
muss ich noch irgendwie eine Halterung dafür da haben und dann kann ich hier entsprechend weitermachen,
ist genau das, was man dann sozusagen damit darstellen kann.
Ich kann also entsprechende Dinge verknüpfen Und Dinge sozusagen
voneinander abhängig beschreiben. Das Band ist, ich kann also
mehrere Leute zur Analyse von einem System losschicken.
Die können mir Beschreibung liefern und ich kann das wieder zusammenbauen.
Und damit haben wir auch ein Kompositionskalkül dafür, was da passiert.
Relativ klare Sache, ob man das so machen sollte.
Und wie man das so macht, ist dann eine andere Frage.
Aber auf jeden Fall ist das von der Beschreibungstechnik her möglich,
sodass wir von diesem Netz da oben eben hingegen können und jetzt diese P4,
P5-Sachen und so weiter zusammenstecken können.
Und wir bekommen das Netz hier unten raus. So,
jetzt haben wir also die Möglichkeit, uns anzuschauen,
was da drin passiert. Und das ist genau das,
was wir dann als nächstes angucken, dass wir halt diese entsprechenden Sachen dabei anschauen.
Das hatte ich eben gerade schon erklärt.
Und das ja auch
So, dann haben wir die entsprechende Flussrelation.
Und hier unten haben wir jetzt das entsprechende Netz nochmal,
was jetzt dann sagt, was passiert da eigentlich?
Und an der Stelle hier sehen wir jetzt, dass da irgendwas passieren kann.
Und wir schauen uns das an und sehen,
dass diese im Vorbereich hier dafür sorgen,
dass hier der Nachbereich gefüllt wird.
Und dass es genau über diese entsprechend angezeigten Relationen sozusagen da drin steckt.
Ja, ich habe also von P6 nach T3 was.
Ich habe von T3 nach P5
hier oben diese Flussrelation
Und entsprechend aller eingehenden Kanten ziehe ich sie ab und packe sie hinten wieder raus.
Von meiner Definition, später. Dann haben wir diese Lokalität,
die wir da drin haben. Wir haben grundsätzlich,
können wir uns angucken,
dass die Lokalität ja gerade schon für die Transition erklärt,
Vor- und Nachbereich und sie selbst,
aber dann eben auch die Lokalität von Stellen ist das Gleiche,
dass also die Stelle und die sie umgebenden Transitionen,
die mit drin sind.
Das ist dann für die Berechnung von Konflikten nachher spannend,
wie gesagt, hier haben wir keine Konflikte. So,
und entsprechende Beispielbeispiele für jetzt Mengen von solchen Sachen für T1,
P5 und P1 kriegt man also wieder entsprechende Mengen von anderen Sachen zusammen.
Man kann also auch von Teilnetzen sich die entsprechende Lokalität halt auch Lukidität angucken.
Und den entsprechenden Vorbereich und Nachbereich davon. So. Das ist
die Lokalität und das hier ist der Vor- und Nachbereich von diesen Mengen von Sachen.
Wenn wir also jetzt hier P1, T3,
T4 uns angucken, P1, T3 und T4 bei unten,
dann kriegen wir genau diese entsprechenden hier vorne raus,
weil... Nein, falsch.
Völlig falsch gefunden. Das A, haben wir das T1 B5 P11.
Ich kriege die Regeln gerade nicht zusammen. Für 1 B5 für 11.
Jetzt weiß ich, warum ich hier das rot angemalt hatte.
Und wenn ich mir jetzt die entsprechenden Vorbereiche angucke von diesen Dingen,
dann liegt im Vorbereich von diesem Teil wieder das P1,
von dem hier entsprechend das T3 und davon das T4 und
der Nachbereich sind entsprechend hier die P2 P4,
die wir unten finden und dort T2 und entsprechend die 5. Das heißt,
wir können uns diese Vor- und Nachbereiche auch entsprechend für
mehrere Sachen zusammenbasteln
Gut. Jetzt kommt darauf hin, was man mit dem
Markieren, Aktivieren und Schalten machen möchte. Das heißt,
so eine Transition ist eben genau, ist eben aktiviert.
Genau dann, wenn, im Vorbereich der Transition,
genügend Marken sind und im Nachbereich, es ist genug Platz.
Das heißt, wir brauchen hier, damit das schalten kann,
genügend Sachen im Vorbereich.
Hier klappt irgendwas nicht an den Stellen. Da oben kann
aber geschaltet werden und kann das sozusagen einmal so durchreichen.
Das ist sozusagen eine Möglichkeit,
wie geschaltet werden kann
Was jetzt hier wieder passieren kann, ist,
dass jetzt hier weitergeschaltet wird und so weiter.
Aber das, weil zumal halt eine der Spielarten.
So, und jetzt kommen wir zu dem Bild,
was ich eben hatte, mit der Folgen und entsprechenden Schrittsemantik.
Und dass wir hier quasi jetzt diese Reihenfolgen drüber legen können,
die verschieben durchlaufen oder den entsprechenden Schritt.
Und dann insgesamt den Prozess haben, dass man den insgesamt
jetzt hier so beschreiben kann. Und das ganze Bild ist
quasi der Prozessbeschreibung für das mögliche Schaltverhalten des Netzes.
Ich habe also sämtliche Möglichkeiten damit jetzt beschrieben. So,
und für die in der Leaving-Semantik hatten wir gesehen,
wie groß dann diese Möglichkeiten der Interleavings
werden können
Diese entsprechende Darstellung, indem man halt diese prinzipiellen Netzsachen darstellt,
also Prozesse, hat man also eine komprimiertere Darstellung,
hat aber damit nicht eine eindeutige Aussage,
dass man nur eine Lösung hat,
sondern hat viele Lösungen, die man damit beschreibt.
Weil dieser Raum so oder, also so rum oder so rum,
gibt ja eben zwei Möglichkeiten. Ich habe nicht eine eindeutige Darstellung.
Das skaliert dann ganz gut für die anderen Sachen. So,
und jetzt nochmal ganz kurz zu dem Netz,
was ich oben nochmal zeigen wollte, die letzten zwei,
drei Minuten von der Veranstaltung, also Einfach nett,
was man jetzt machen kann, ist,
man klickt hier entsprechend drauf.
Wenn man jetzt mal draufklickt, kann man diese Transition halt
hier haben und kann dann mehrere Transitionen zum Beispiel einzeichnen.
Das ist also ganz leicht gemacht an der Stelle.
Was man dann hat, ist, wenn man hier draufklickt,
gibt es so mehrere kleine Bubble dabei, die da drin sind.
Und wenn ich da jetzt in die Mitte reinklicke,
kann ich da entsprechend einfach ein Netz rausziehen.
Dann klicke ich halt entsprechend hier wieder drauf und kann halt
dann die nächste wieder entsprechend erzeugen.
So, und jetzt kann ich hier halt hingehen und
irgendwelche Netze malen
Ich kann es auch anfassen und hin und her schieben,
wenn ich das möchte. Wenn ich nicht genau treffe oder auch dann.
Entsprechend kann ich jetzt auch das da reinzeichnen. So,
jetzt kann ich ja so hingehen und irgendwelche Netzchen ein bisschen malen.
Da müssen wir überlegen, wie ich da jetzt solche Anfangsmarkierungen
reinkriege und so weiter. Jetzt können wir gleich nochmal sehen.
Was mich hier oben hat, ist,
dass sie hier oben die ganz normalen entsprechenden Möglichkeiten für Dateien habt.
Ihr könnt neue Sachen laden, ihr könnt aus dem Navigator aufmachen,
mit dem ihr halt alle möglichen Dateien anguckt.
Das brauchen wir hier im Moment nicht. Und man kann
sie natürlich auch speichern und so weiter und so fort.
Und hier war die vorhin erwähnte Exportfunktion,
die man da entsprechend brauchen kann
Halt die Sachen entsprechend exportieren kann. Können wir das jetzt hier irgendwie, ups,
das sitzen, wenn man so strich sitzt, ist ungünstig.
Dass ihr seid irgendwie alle Exportiere, die ich da gerade habe. So,
die spannende Sache ist dann für euch,
für die Hausaufgabe ist dann halt,
dass man den Formalismus auswählen kann oder Simulation und dort dann
den entsprechenden PT-Netz-Compiler einschalten kann und dann hier entsprechende Marken raufpacken
kann und mit den entsprechenden Befehlen dort was drauflegen kann.
Das Editieren und so weiter mit Duplizieren, Copy-Paste und bestimmten Auswahlen,
was man dann gerade auswählen möchte mit einem Knoten oder Kanten
oder Stellen oder Transitionen auswählen möchte, kann man haben.
Man kann ein bisschen mit dem Layout rumspielen, damit es
ein bisschen schöner aussieht. Mein Netz ist nicht gerade besonders
hübsch gerade. Man kann Etribute zuordnen bei diesen Dingen.
Man kann halt mit dem Netz verschiedene Dinge nachher noch machen.
Man kann ja Sachen überprüfen, das ist aber alles für
euch nicht spannend. Hier oben ist dann der Simulationsschritt,
den wir jetzt einschalten kann und dann würde er sagen,
kann ich nicht, weil er hat eine Number da erwartet,
die an dieser Stelle jetzt hier stehen muss,
weil ich jetzt im PT-Netz Simulator bin und wenn ich da eine Zweireihenstelle,
dann ist das okay.
Und jetzt kann ich hingehen und einen Simulationsschritt machen und ja,
jetzt kann man hier so immer einen Schritt nach dem anderen machen.
Ich kann es also jetzt hier noch in Simulationsschritt.
Diese Transition jetzt hier geschaltet und noch einen Simulationsschritt
und hat mal die andere Transition geschaltet.
Also wenn ich jetzt hier so langsam irgendwas mache,
kann ich jetzt hier irgendwelches Verhalten erzeugen.
So, dann können wir ein bisschen rumspielen.
Das Spannende ist dabei, die Anzahl der möglichen Zustände
wächst im Allgemeinen
nicht primitiv rekursiv
Das heißt, ihr packt nachher eine Transition dazu und ihr rutscht von
irgendwie 5000 möglichen Dingen, die in dem Netz passieren können.
Wir packen noch eine weitere Marke da drauf oder sprechen weiter schnelle oder Transitionen
da entsprechend zu und ihr rutscht immer ein Vielfaches ins Millionenfache höher rein.
Werde ich euch noch ein Beispiel zeigen,
wo das dann auch sehr deutlich wird.
Und wie gesagt, das ist dann mit einer Kurve,
die sozusagen schnell existierte normale Funktion. Gut,
dieses Ausführen ermöglicht euch dann ein bisschen zu experimentieren und
ihr seid einfach nur wirklich mal ein bisschen rumspielen damit und
einfache Sachen machen
Was jetzt sozusagen dahintersteht,
ist, dass ihr auf die Idee kommen solltet,
irgendwie diese Teile hier als aktive Komponenten zu betrachten,
die hier als passive und wie man dann bestimmte Sachen anordnet.
Und das heißt, ich möchte irgendwas sequenziell oder nebenläufig haben,
habt ihr jetzt also genau diese Vorrelation im Kopf?
Das heißt, ihr könnt jetzt sehen, durch die Kanten
bekommt ihr Dinge angeordnet. Wenn ihr also AVBVC haben möchtet,
wie wir das jetzt hier haben, wenn wir AVBVC haben,
habt ihr diese sequenzielle Darstellung, habt ihr auch nebenläufige Darstellung?
In diesem Netz? Wer hat das
schon mal gesehen
Weißt du noch was dazu? Okay. Erzähle ich beim nächsten Mal.
Hier drin haben wir jede Menge Nebenläufigkeit in diesem Netz,
weil diese Transition, diese Transition sind schon mal unabhängig,
da ist nichts im Vorbereich, wie ihr seht.
Trotzdem kann das Ding schalten. Das ist schon mal das eine.
Das haben wir gesehen, dass jemand jetzt Sachen generiert hat.
Das ist eine Art Quelle. Und dadurch,
dass wir mehrere Marken haben, sind die und die hier
auch nebenläufig und sogar die hier zu sich selbst nebenläufig.
Und das müsst ihr erstmal bei euch genau auf die Reihe bekommen,
was das wirklich bedeutet,
wenn etwas zu sich selbst nebenläufig nachher noch handeln kann.
Wie weit denn Beschränkungen darauf aufgebaut werden,
wenn es modellierungtechnisch haben wollt,
kann man die in diese Modelle einbauen
Aber im Grunde genommen ist alles,
was wir als Design mit Netzen machen, prinzipiell inhärent,
nebenläufig und ihr beschränkt immer die Nebenläufigkeit eurer Aufgabe,
weil die spezifizieren, ist es Nebenläufigkeiten einzuschränken.
Das ist also die Idee dabei, ja. Also das Designprinzip ist erstmal,
alles ist nebenläufig und ihr schreibt nur die minimalen Präzedenzen hin.
Das bedeutet, ihr könnt dann auch eine maximal mögliche Ausführungsgeschwindigkeit erreichen.
Wenn ihr vorstellt, es sequentialisiert habt und sagt,
AVB, VC, VDUF,
dann könnt ihr auch in dieser Reihenfolge das machen und habt
keine Chance mehr,
irgendwas schneller zu bekommen
Wenn ihr denn genügend Ressourcen habt oder genügend Prozessoren und so weiter.
Das sind dann die anderen Nebenbedingungen, aber bei der Spezifikation
muss man sich prinzipiell erstmal davon hinsetzen und sagen,
ich muss das Neben dafür kommen. Google,
wer mit seinen Suchen absolut nicht möglich und nicht skalierungsfähig,
wenn sie nicht schaffen würden,
bei den Anfragen unabhängige Suchen durchzuführen und trotzdem auf unterschiedlichen Daten
bestellen und das dann schnell genug zu integrieren.
Wie man das dann macht, da gibt es eine Menge
spannende Sachen zu und die benutzen genau diese ganzen theoretischen Grundlagen,
damit das überhaupt machbar war bei denen und damit eskaliert.
Dass man dafür auch genug Geld und Dinge braucht und ein paar Rechner,
um das auf die Reihe zu bekommen, ist auch klar,
aber die Mehrrechner, wenn man die nicht richtig füttert,
man die mit sequenziellen Modellen gefüllt, gefüttert hätte,
könnte man dort keine Parallelen Verarbeitungsschritte durchführen.
Oder auch nebenläufigen Schritte durchführen, was sie auch tatsächlich machen.
Gut, soweit erstmal nochmal als Motivation. Beim nächsten Mal
werden wir auf die Netze eingehen und dann werde ich ein bisschen
auf die formaleren Darstellungen und die entsprechenden Verhalten da eingehen.
Dieses Verhalten ist eigentlich einfach, aber in der Einfachheit und in der Generalität,
mit der man sie einsetzen kann, wirklich komplex.
Und deswegen ist das sozusagen etwas, wo wir dann auch
genügend lange darauf eingehen. Deswegen gibt es auch Beispiele in Übungsaufgaben,
die ja dann entsprechend selber ausprobieren sollt und gucken sagt,
wie es geht.
Jo, viel Spaß und bis nächsten Dienstag.
Jetzt sind wir durch,
ne?