Okay, bevor gleich L zur Demo gehen könnt.
Genau, wir waren bei den vielen Varianten und Essen-Varianten,
die wir hier oben nochmal ganz kurz sehen.
Das heißt, dass sie sozusagen eine Nichtwirkung auf das System stattfindet.
Was heißt, es passiert, was im System überhin,
der soll der gleiche Zustand erreicht sein?
Das waren diese Tee in Varianten, was wir da hatten,
haben auch ein Beispiel für aufgestellt. Das heißt,
wenn wir hier entsprechend die Leser oder die Schreibe einmal ganz durchlaufen lassen,
haben wir eigentlich keine Ausdruckung auf das System,
weil wir hier die Seiteneffekte der Funktionen nicht weiter angucken.
Gut, dann hatten wir uns mit Fallen beschäftigt,
wobei eben Stellenmenge als Falle bezeichnen, wenn die Transition tät,
die aus A-Marken entfernt auch wieder Marken inargeneriert.
Das heißt, Entschuldigung, wir packen da immer wieder was
zurück rein und lass uns rausnehmen. Waren die entsprechenden Beispiele,
wenn wir was rausnehmen, dann kommt auf jeden Fall was.
Und diese Menge hier wieder zurück. Und das ist dann die entsprechende Falle,
wo wir hier dann die Falle ac.de als Beispiel dabei hatten.
Und es ist eben nicht möglich, einige markierte Falle komplett zu lehren.
Das ist sozusagen der Trick dabei, dass man da halt
die Sachen nicht rausbekommt. Ein anderes Bild,
was ich nicht erzählt hatte, war dann,
dass man quasi das Ganze auch sich so vorstellen kann,
dass man hier unten so eine Art Wippe hat.
Und wenn jetzt hier irgendwelche Manican sind,
die hier reinlaufen, dann springen sie halt rein,
aber dann fliegt so sozusagen von mir auch wieder jemand vielleicht raus.
Aber wenn er irgendwann einer unten drin bleibt und draußen ist keiner mehr,
kommt man halt entsprechend nicht wieder aus dieser Falle raus.
Ganz einfache Geschichte. Man braucht immer die Hilfe von sozusagen anderen
wieder reinzukommen. So, die andere Variante ist dann,
die Kohfalte oder Seifen, wo wir eben, genau,
das Gegenteil haben, dass man irgendwas irgendwie herausnimmt.
Was dann eben, wenn wir also was reintun,
dann müssen wir auch irgendwas rausnehmen als Mindestvoraussetzung.
So, und dann haben wir hier die entsprechenden Beispiele gehabt.
So, ein ausgesprudelter Seifen, wenn also ummarkiert ist,
muss er
ummarkiert bleiben
Das sozusagen das entsprechende Gegenstück, bin ich also so ein Plateau habe
und ich habe hier oben irgendwelche Läutchen und die springen alle runter,
dann bleibt das Ding halt alles irgendwann leer.
Kommt sozusagen nichts wieder rauf, wenn da keiner mehr drin ist. So,
wenn du jetzt ein einfaches PT-Letz haben, um isolierte Plätze,
kann man sagen, wenn ein lebendiges Netz ist,
dann muss jeder nicht leere Seifen in der Nitärmarkierung markiert sein,
weil wir dann sozusagen die Idee haben,
dass man irgendwie das mal verknüpft und verbindet und dass man dafür sorgen muss,
dass entsprechend nicht rauskommen an den Stellen.
Ein System jetzt hat die Sci-Fi-Trap-Eigenschaft, wenn gilt jeder Seifen von B,
enthält einem anfangs markiert der Falle A als Teilmenge.
Das heißt, wir packen da irgendwas rein,
dass wir dafür sorgen, dass das nicht leer ist.
Das heißt, wir packen hier oben irgendwie eine Falle noch
rein und die kann nicht leer werden. Das heißt,
das Seifen kann auch nicht leer werden,
weil da oben sozusagen noch eine Falle drinsteckt,
die sozusagen die Sachen mitenthält und nicht leer werden kann.
Wenn das Netz die Seifentipp-Eigenschaft besitzt,
dann aktiviert jede erreichbare Markierung von den mindestens eine Transition.
Das heißt, das Ende ist verklemmungsfrei an der Stelle
Wie auch immer. So, Fairness. Wir hatten die
Philosophen dabei und wir hatten halt diese entsprechenden Gerichtsgeschichten und haben
das dann austrahiert zu diesem Schema. Haben gesagt,
es gibt denkende und essende Philosophen an den Stellen,
die eben entsprechend mit den Prozessoren halt Idle und Active sind.
Und davon haben wir halt jetzt hier entsprechend fünf.
Und meine Frage war jetzt ja, dass man sich überlegt,
inwieweit ich vielleicht auch mit drei oder vier Philosophen alle Effekte,
die ihr dann im Skript nachgelesen habt,
auch auftreten können
An welcher Ecke braucht man die Sachen, gut, vergleichen wir weiter,
kommen wir noch zwei, drei Leute und dann mal schauen, wie das aussieht. So,
das hier war jetzt zu zeigen,
das einfache Beispiel mit dem Nehmen und dem einfachen Durchlauf,
was wir dabei hatten und dann haben wir eben die entsprechenden Probleme,
wo wir eben gucken müssen,
ist auch verklemmungsfrei das ganze Netz und wenn wir eben genau alle sozusagen gleichzeitig die rechte Gabel nehmen,
haben wir das Problem, dass das sozusagen verklemmt und wir nicht wieder rauskommen aus dieser Situation.
So, dann ist die Frage,
ob es lebendig wird, wenn wir das Ganze zusammenfassen,
wir hatten ja hier schon diese Sachen zusammengeblockt und sagen,
okay, gut, ist lebendig, ja,
kriegen wir wieder hin, Klappt natürlich, wir haben jetzt den Verklemmungspreis,
kann es doch nicht lebendig sein, ist mal klar,
aber wenn wir das jetzt sozusagen ein bisschen anders strukturieren,
vielleicht ins Betrieb richten, irgend sowas,
ist es dann üblich.
Ja. Ein Schlüsselwunsch. Ja, schau mal. Ja
. Schon eingesammelter Schlüsselwunsch. Alles klar. Ja, kein Problem. Gut,
also die entsprechenden lebendigen Netze,
die wir dann da entsprechend oben dann drin haben,
zeigen eine andere Phänomene, da bleibt mir die Frage,
ist das Ganze fair und da gab es dann eben die verschiedenen Fansbedingungen,
man da entsprechend nachlesen konnte.
So, und diese Fairness ist eben,
dass wir jetzt hier sozusagen rechten und den linken Mobber haben
von diesem Opfer aus und die sorgen dafür, dass hier immer sowas weg ist.
Und wenn das eine geschlossene Handlung ist, dann kann man das nicht,
kann man es nicht machen. Während das eben vorher aber durchaus,
wenn man erstmal die rechte Gabel nimmt,
dann nimmt er sich erstmal, sobald sie zurückgelegt ist,
nimmt er sie sich dann vielleicht, wenn er sie dann bekommt.
Und dann kann er damit, dann hatte ich schon mal,
dann war doch die auf eine Linke und dann hätte er sie.
Ist denn garantiert jetzt, dass,
wenn ich das Ganze jetzt wieder auflöse und sage,
okay, gut, so weit erzählt er was zurückliegt,
dann kann der die
ja nehmen
Ist das dann garantiert, dass der dann auch irgendwann mal schaltet?
Also kann der auch garantiert essen? Also gibt es die Schaltfolge,
wo er noch garantiert ist immer? Ja, nicht unbedingt.
Das ist ja nicht gesagt, dass da irgendwann essen muss.
Jawohl, wenn du hier die Gabe genommen hat,
dann beginnt von so einer... Genau, so.
Die Frage war jetzt sozusagen, kriegt er sie auch garantiert?
Ich meine, hier wird hier zurückgelegt,
dann kann sie es auch auch nehmen.
Also wenn er will, kommt er immer dran.
Es ist halt abhängig von der Schaltregierung zu rum,
der liegt. Ja, genau. Warum? Ja,
weil es gibt ja erstmal bei einem Netz grundsätzlich keinen Schaltzwang,
solange wir das nicht näher spezifizieren
Und allein dadurch, dass es keinen Scheiß dran gibt,
muss er nicht weitermachen. Gut. Welche Sache in der Realität
können wir sozusagen als Problem haben zwischen zwei solchen Prozessen?
Dass wir jetzt also der Meinung sind,
wir haben das jetzt schön designt und wir haben halt diesen Zugriff von unserem Prozessor,
der sich irgendeine Ressource greifen und hier drüben ist der andere Prozessor oder will das auch.
Und der gibt ihn jetzt frei und wir sagen, okay,
das mit dem Verklemmen, das ist nicht so wild,
das kriegen wir schon gelöst irgendwie.
Aber wir machen die jetzt mal so.
So, dann müsst ihr irgendwann drankommen.
In welcher Konstellation kommt das jetzt
genau nicht dran
Hände die Ressource nicht mehr freigeben und die Pensionen endlich essen.
Genau, wenn man da unendlich länger isst, okay,
die Annahme trennt man auch nicht, was würde bedeuten,
dass die Ressource mir freigeben? Wir sagen ja,
okay, nein, doch, die wird freigegeben,
aber jetzt sage ich, der bleibt trotzdem immer hier.
Wodurch kann das in der Realität passieren? Da gibt es
mehrere Gründe für, warum das passieren kann.
Wie ist das ein? Dass ich halt entweder verlasse,
Christoph Rechte oder linke, sondern mindestens einer von Wahrheiten,
was da ist und da hier alle dabei benötigten.
Nee, nee, ich habe das jetzt nochmal,
um das nochmal klarzustellen, wir haben das wieder aufgelöst und haben gesagt,
das sind zwei getrennte Zugriffe
Das heißt nur, dass ich rechts und links irgendeinen habe,
sobald ich immer eine rechte Gabel habe, habe ich die,
dann schalte ich und irgendwann kommt die andere Gabel und
dann komme ich da rein, behaupte ich jedenfalls.
So, aber in der Realität kann was passieren. Na,
der eine könnte im Zugriff auf die Gabel schneller sein als der andere.
Genau, ne? Wir nehmen einfach ein zweijähriges Kind und
einen von euch, packen die Gabel dazwischen und sagt,
wer nicht ist, der verhungert, fertig.
So, ist die Frage, ob man aus moralischen Gründen,
wenn man sagt, ab und zu darfst du mal essen.
Das ist nämlich die Fairness-Geschichte dabei oder ob man sagt,
okay, ich will die Konfett werden und greife sich
nur zuerst die Gabel und Kind verhungert am Tisch
Ja, also, das ist sozusagen die krasse Variante,
die politisch unkorrekte sozusagen, die spannende Sache ist natürlich für Prozessoren,
ist einfach, wenn das Teil aus irgendwelchen Gründen einfach immote liegt und der andere ist lokal.
Und dieser Zugriff erfolgt lokal, dann kann man Pech haben,
dass man einfach aus Versehen, dadurch,
dass es auf demselben Rechner läuft, das sofort,
der sagt das, oh, ich will das jetzt,
zack,
und greife das Teil,
während der hier der Remote irgendwie anfragen muss und dann erstmal
eine Nachricht hinschickt und eine Information kriegt und dann das Teil abholen möchte,
dass der sozusagen
gar nicht zum Zuge kommt so richtig
So, und das heißt, es kommt also auf die entsprechende Implementation an.
Das heißt, man kann sich aus Versehen so etwas einbauen.
Und genau dafür gab es dann diese verschleppungsfreie Schaltregel und faire Schaltregel
und das päere Verhalten und so weiter und so fort.
Und das beschreibt dann unterschiedliche Phänomene im System.
Und da gibt es dann unterschiedliche Dinge, die man dann
gerne fassen möchte und die man gerne drin haben möchte.
So, bei dritten Teils kommen gleich noch mal ein bisschen
in anderer Form noch mal dran. So, das heißt,
hier haben wir jetzt also unsere Problematik mit der Fairness,
wobei wir eben die faire Schaltregel haben,
was ein faires Verhalten
Irgendwie haben sollte und lokales Verhalten versus globalem Verhalten, ist dann die Frage.
Kann ich sozusagen für alle hier was zum Essen haben und jeder kriegt irgendwas oder sorge ich dafür,
dass ich sozusagen nur lokal gucke und ich nehme mir das,
ich nehme mir das, ich bin ja zufrieden,
ich kriege das ja immer oder erst die, dann die Gabel,
jetzt esse ich wieder zurück und ich komme wieder dran und merke nicht,
dass sozusagen rundherum alle anderen am Tisch verhungern, sozusagen.
Oder dass eben bestimmte Sachen kein Update erfahren und dadurch sozusagen
System etwas passiert, was wir eigentlich nicht haben wollen.
Dass nämlich ein Prozess auch ständig dran ist und die anderen nicht.
Das war früher bei diesem Mir bleibt System durchaus ein Thema,
wie man das genau hinkriegt und wie man dort diese Zuordnung,
diese entsprechenden Prozessoren sauber auf die Reihe bekommt.
Heute sind die Verfahren alle sozusagen so weit verstanden, dass relativ klar ist,
wenn man das sauber hinbekommt. Und interessanterweise kann man sich angucken,
dass es immer noch Betriebssystemänderungen gibt,
man schaut sich in die letzten Betriebssysteme auf den PCs an,
auf den Laptops und so weiter,
wie die sich sozusagen gerade ändern, wie die Strategien geändert werden,
wann, welche Zeitslots sozusagen vergeben werden wegen Ressourcensparen,
wegen Energiesparen,
aber auch wegen Geschwindigkeitsdingen dabei und wie man sowas unterschiedlich behandelt.
Aber das hört ihr in eurem Betriebssystem Vorlesung
dann entsprechend
Die erst mal suchen müsst. Gut, faires Verhalten.
Ein PT-Netz hat ein faires Verhalten oder verhält sich fair.
Das sind diese beiden gleichen Begriffe. Wenn in jeder unendlichen
Schaltfolge, nee, jede Transition Tee unendlich oft vorkommt.
So, das heißt, ich habe jetzt irgendein System und
jeder von euch kommt jetzt mit dem Essen dran.
Also wir legen die Gabeln hier hin, setzen uns einen
großen Kreis hin und jeder von euch kommt unendlich oft dran.
Und wir sorgen also dafür, dass dann haben wir sozusagen
ein faires Verhalten. Was erfordert das? Das erfordert,
einen globalen Systemzustand irgendwie propagiere, dass klar ist, das heißt,
wenn ich jetzt also gerade am Essen bin und ich merke,
oh, du hast lange Zeit nichts abgekriegt,
dass ich automatisch sage, okay, jetzt bist du ja wohl mal dran,
dass sozusagen man irgendwann sozusagen das macht.
Und das machen wir für alle. Das heißt, es gibt
quasi ein globales Bild. Und das ist natürlich im verteilten System eine Sache,
die man teilweise nicht im voll herstellen kann und mit großem Aufwand.
Das heißt, das ist durchaus schwierig, das da reinzubekommen.
So, und jetzt haben wir eben die entsprechende Lebendigkeit,
die eben von unvermeidbaren Patientenverklemmungen irgendwas aussagt.
Also wir haben Wir können, wenn wir wollen,
die Transition jetzt zum Schalten bringen. Das heißt,
wenn ich essen will, dann bekomme ich auch etwas zum Essen.
Das ist sozusagen die Geschichte in der Hinsicht, dass ich,
wenn ich gezielt das so durchschalte in dem System und sage,
ach, du warst jetzt so lange nichts gehabt,
jetzt sorgen wir dafür, dass wir jetzt alle das so hinkriegen,
dass du jetzt drankommst sozusagen.
So, das ist die eine. Und Fairness bedeutet eben
von faktischen Patientenverklemmung, das heißt, wir sorgen dafür,
dass es auch nicht irgendwie so im Vorbeigehen passiert,
weil wir sonst ja das System systematisch dazu bringen müssen.
Das heißt, wir sorgen aber dafür,
dass es immer so stark ständig irgendwie ein Poken rumläuft oder irgendwas,
irgendeinen zusätzlicherlichen Mechanismus drin sein.
Oder ich habe eine globale Perspektive auf das System
entsprechend drin
So, das Netz schaltet jetzt produktiv oder verschleppungsfrei oder nach
der versteppungsfreien Schaltregel. Ich habe schöne, viele Begriffe.
Wenn für alle Transitionen und für alle Markierungen kein Wort existiert,
sodass wir hier dieses W entsprechend haben.
Und das T ist in diesem W permanent aktiviert.
Das heißt, wir tun irgendwas und die ganze Zeit
nicht die Gabel da, aber der kommt nicht dran.
Also die Gabel lichtet, das teile ich jetzt hier.
Und ihr macht auch irgendwas nur,
ich kriege das nicht sozusagen, also verschleppungsfrei,
weil ich einfach selber das Ding mir jetzt nicht nehme an
der Stelle
Verschleppungsfrei bedeutet also, dass ich irgendwann das,
wenn ich dann unendlich auf dabei bin und ich bin die
ganze Zeit aktiviert in diesem entsprechenden Wort, dann kann es nicht passieren,
dass das Ding gleich null bleibt an der Stelle.
Gut, erst mal ist es aber, nur dass sie
überhaupt drankommen sozusagen in dem Wort und nicht unendlich oft.
So, dann haben wir also hier diese Geschichten drin,
dass wir jetzt hier also irgendwie schalten und wenn jetzt hier so diese Marke ist, was haben wir dann?
Naja, jede Transition ist aktiviert und jetzt ist die Frage,
kommt mir jeder mal dran? Und wenn ich jetzt nur einen Prozessor habe,
dann sage ich, na gut, kriegen wir der hier vorne,
das Netz tut ja auch was und das ist ja egal bei nebenläufigen Systemen,
wer was tut, ich habe jetzt sozusagen nur einen Prozessor,
der schaltet immer fleißig durch, Dann wäre jetzt also die Frage hier,
jetzt sind die ja beide aktiviert,
diese und diese Transition.
Und jetzt ist die Frage, kommt der auch wirklich dran?
Und das kriegen wir eben durch diese produktive Produktivität sozusagen hin.
So, die verschleppungsfreie Scheideringleite war nicht aus.
Warum? Naja, wenn ich jetzt die Situation hier habe,
der ist ja nicht permanent aktiviert.
Die A und B sind nicht permanent aktiviert.
Warum? Naja, wenn einer erstmal geschaltet hat,
dann ist er hier deaktiviert. Geht hier rum,
kommen wir zurück und dann läuft das wieder hier oben durch.
Also genau das, was mit den Philosophen passiert,
wo ich also das hinlege, wieder wegnehme,
wieder hinlege, wieder wegnehme.
Also da will ich nicht permanent dort
Sondern sie liegt immer wieder mal da. Und jetzt ist
die Frage, ob ich dann da drankomme. Jetzt muss ich
das irgendwie anfangen zu zählen oder wie oft ich dran war.
Also da muss ich also was anderes an der Stelle machen.
Das Netz ist also lebendig, aber auch unter der
verschleppungsfreien Schaltregel haben wir kein faires Verhalten.
Weil wir eben nicht dafür sorgen, der ist ja nicht permanent aktiviert,
dass sozusagen der Hauptgrund an der Stelle.
So, das Netz verhält sich jedoch fair bei der fairen Schaltregel.
Und das ist jetzt sozusagen das Spannende, also halt oben, oben längs.
Und jetzt schaltet es fair, das war fairen Schaltregel,
wenn für alle Transitionen und für alle Marken kein Wort existiert oder soktiviert ist.
Das ist bei diesen Tee unendlich oft aktiviert,
also nicht permanent aktiver, sondern unendlich oft aktiviert.
Und wir sind gleich null. Das ist nicht der Fall dann.
Gut. Wir haben also diese produktive Schaltregel und die faire Schaltregel.
Und da haben wir eben aber das permanent aktiviert und das
unendlich oft aktiviert. Das ist sozusagen der kleine Unterschied.
Jetzt ist die nächste Frage, erreicht die faire Schaltregel aus?
Eigentlich kein, ich würde sagen, auf dem Beispiel,
nein, weil wir können ja nur endlich hochzeiten
Ja, aber das ist der ähnliche Bescheid. Ja, weil dann kommen wir zum nächsten Wort.
Genau, aber dadurch, dass wir jetzt zum nächsten Wort packen, ist das dann immer wieder entsprechend drin. So,
und die faire Schalltregel reicht eben nicht aus, weil wir das jetzt,
weil wir jetzt aufgrund dieser Fünferkonstellation dafür sorgen können,
dass diese beiden abwechselnd und was tun können,
also alle hier, alle anderen können das machen,
nur der nicht, weil der wird quasi nie aktiviert,
wenn ich das als getrenntes, als geschlossenes Ganzes hier sozusagen ansehe,
weil eben dafür gesorgt wird,
dass er links und rechtswarne Marke hat,
aber nicht beide gleichzeitig und dadurch kommt er halt nicht
zum Zug und deswegen brauchen wir auch genau die fünf,
was die Antwort auf meine Frage am Anfang war
Das hatte ich eigentlich gehofft, dass Emil das dann gleich
so beantworten könnt an den Stellen. Gut, und das heißt,
deswegen braucht man diese fünf und mit vier kommt man nicht aus,
man hat dann diese Konstellation nicht so hinkriegen kann, dass man einen rausstellt,
an der Stelle mit den restlichen anderen Phänomenen auch noch dabei.
So, das Netz ohne Vergröberung ist nicht lebendig und unter der vierten Scheidung hatte ich gesagt,
ein faires Verhalten, verhindert mir die Verklemmung durch andere Maßnahmen,
zum Beispiel höchstens vier Philosophen in den S-Raumen lässt,
dann ist das Netz lebendig und fair bei der fairen Schaltriegel.
So, wie kommt das jetzt rein? Naja,
ich sorge dafür, dass eine Art Symmetriebrechnung passiert.
Also ich habe sozusagen nur noch vier Entsprechende zugreifen,
aber wir haben fünf Ressourcen. Ich muss also mehr Ressourcen haben,
als ich Bedarf habe sozusagen an der Stelle,
nicht jedes 1 zu 1, sondern ein Meer.
Und dadurch passiert eine entsprechende Triebrechung und man kommt in diese Konstellation
dann entsprechend nicht mehr rein. So, das heißt also,
ich kann insgesamt die Symmetrie in dem Grafen brechen.
Nicht jeder greift immer nach rechts,
aber dann haben wir wieder dieses Problem mit dem gegenseitig Totschalten sozusagen,
je nachdem, welche Konstellation man da gerade hat,
dass man geschickt den mobbt,
indem man falsch,
falsch zugreift
Und die andere Variante ist eben, dass man einfach sagt,
okay, gut, ich habe jetzt einen Raum,
da wartet irgendein Philosoph und die eine,
vier sitzen am Tisch und dann können sie auch fleißig essen
und kommen auch dann zum Essen entsprechend.
Gut, dann nochmal ein ganz kurzer Exkurs. Ja,
starke und schwache Fairness. Wir hatten ja am Anfang jetzt diese Dinge schon,
hatten die schon bei Herrn Falk mal so ein bisschen,
G&F und endlich oft oder ab irgendwann.
Und wichtig sind jetzt eben jetzt auch Finness-Aussagen, die ausdrücken,
dass jede Transition, die oft genug bereit ist,
auch oft genug ausgeführt wird.
Also Endtransition geben, drücken wir das folgendermaßen aus. Das ist Enable,
die K ist, die Transition ist bereit und executed,
die Transition K wird eben entsprechend ausgeführt.
Das ist das, was wir üblicherweise dahinter sehen und wir können
es jetzt unter enabled dahinter packen. Und was starker Fairness,
haben wir eben jetzt genau dieses unendlich oft enabled,
dann wird es auch irgendwann, wird es auch unendlich oft ausgeführt sozusagen.
So und das sorgt eben hier dafür,
dass es eben, wenn es immer aktiviert wird,
dass es dann auch entsprechend ausgeführt wird.
Das war genau das, was wir da da drin haben
Eine schwächere Fairness, wenn es irgendwann aktiviert ist,
dann wird es auch unendlich oft ausgeführt.
Das haben wir jetzt hier in diesem Schalt, in diesem Bild sozusagen veranschaulicht.
Und dann haben wir noch eine dritte, eine unbedingte Fairness. Das heißt,
es wird garantiert immer ausgeführt und das werden wir sehen,
das kommt im Ataneble-Protokoll,
das wird in der nächsten Woche dann nochmal vorgestellt,
das Ataneble-Protokoll in Form von Petri-Netzen an den Stellen.
Ja, gut,
das war bei den fairen Kriptstrukturen
Und mit den beiden Beispielen einer der Tiefe,
einer sich ständig wiederholenden Alternative, wird irgendwann auch einmal gewählt.
Das waren diese Hardware-Geschichten oder ein gestörter Kanal übermittelt immer wieder
einmal eine Nachricht korrekt. Das war eben beim Archanibel-Protokoll,
was wir da noch sehen werden an den Stellen.
Und das Ganze ist eben ausdrückbar in CTL Stern bzw. RTL und nicht in CTL,
aber das hätten wir halt gerne wegen der besten Komplexitätseigenschaften.
Und wie wir darum rumkommen, ist dann entsprechend mit einer entsprechenden fairen Semantik.
Und die Fans-Eigenschaften sind eben oft auch durch entsprechende Zustandsmengen ausdrückbar.
Und das war eben genau eine faire Kripke-Struktur, die ja schon kennt.
Und das besteht eben aus diesen entsprechenden Tuppeln hier.
Und wir haben eben einen Pfad, der heißt fair,
falls es ihm unendlich oft besprechend da drin ist.
Gut. Und Fairness wird also über eine Akzeptanz bedingt definiert,
die wir bereits von Büchautomaten kennen.
Also auch da haben wir jetzt genau solche Dinge drin,
die wir da schon mal gesehen hattet.
Und da hatten wir halt diese entsprechenden Beispiele,
wo das entsprechend drin vorkommt,
wo man jetzt diese Durchläufe hat und wo dann
auch mal sozusagen da drüben was reinkommt an den entsprechenden Stellen
Gut, okay, das... Erstmal dazu. Nächste Wiederholung
. Kantenkonzerte Netze, gehe ich im Schnellverfahren nochmal durch.
Wir hatten ja diese Faltung von dem Platt Fransitionsnetzen hin zu den entsprechenden,
also von den B-Netzen sozusagen zu den PT-Netzen hier und hatten da diese Faltung dann gesehen,
dass man das halt so sprechen machen kann.
Das Gleiche hatte ich auch schon erzählt, zu den Kantenkonstanten Netzen,
dass wir jetzt hingehen und versuchen wollen,
sozusagen die Identitäten zu behalten und das in Form von den entsprechenden Konstanten,
die wir da drin stehen haben und auch an die Kanten ranschreiben zu machen.
Und dann hatte ich erzählt, jo,
es gibt hier sowas wie,
wir können hier jetzt hin und die entsprechenden Variablen benutzen,
anstelle der entsprechenden Konstanten,
da müssen wir es nur eben reinschreiben und das ist das,
was jetzt heute sozusagen nochmal drankommt.
Das heißt, wir haben also da die entsprechende Netzweisung
zum Kantenkonstanten Netz gehabt und haben uns das da angesehen.
Dann hatten wir diese Abbildung, sagen wir,
das war Auto A auf dieser Stelle 1 und haben
das entsprechend mit dem A da reingepackt und gesagt,
ah, schaltet sie oben längs und Bier hier unten.
Und da gibt es die entsprechenden Signale und dann können wir
das noch entsprechend zusammenfassen an den einzelnen Stellen,
wie wir es jetzt hier mit dem RSA und RSB gemacht hatten,
was wir einfach eingefärbt haben, das ist die Stelle hier zusammengepackt haben.
Da haben wir festgestellt, okay, gut,
es gibt Multimengen davon, das heißt,
es gibt jetzt irgendwelche mehreren Möglichkeiten von denselben Autos auch darauf zu haben.
Wir haben also irgendwie dreimal ein Auto von Firma 1
und zweimal Firma 2 im Rennen oder sowas ähnliches.
Und dadurch gibt es diese Multimengen. Schaltregel läuft so,
wie es intuitiv auch klar war. Ich glaube,
das war auch soweit verstanden worden an den Stellen.
Dann gab es eben die Abbildung, als die Darstellung als Abbildung,
als Vektoren oder als Wort, je nachdem,
wo wir uns gerade befinden, ist das eine oder andere passender.
Können wir entsprechend benutzen. Das haben wir halt für die
entsprechenden PT-Netze gemacht und hatten das dann auch für die anderen Sachen gemacht.
Dann hatten wir hier diese entsprechenden Multimengen. Meine Frage war nochmal,
ist die jetzt eigentlich kleiner als diese Menge hier drüben?
Besser für sie kleiner ist? Wer ist da für sie
nicht kleiner ist
Okay. Gewonnen. Die Mehrheit war dafür zu sagen,
dass sie nicht klein ist. Genau, das war wegen der Unvergleichbarkeit.
Ich muss aufpassen, das hatten wir eine der richtigen Dinge,
das war genau die Monotonieeigenschaften bei den Netzen.
Also was ihr sozusagen machen müsst, ihr müsst auf solche Sachen
draufsehen können auf Mengen und sozusagen die einschätzen, wo die liegen.
Und nur weil da viele Dinge drin rumschwören,
heißt noch lange nicht, dass es wirklich größer ist oder so etwas.
Denn diese Stelle sind sie halt einfach unvergleichbar,
weil ich hier eben Dinge drin habe, die bei dem nicht vorkommen.
So, hier habe ich einfach nur eine Menge,
hier mit drücke ich eine Multimenge,
aber trotzdem kann ich das auch als Mootiming natürlich wieder aufpassen.
Ist ja klar. So,
und da gibt es entsprechende Rechenoperationen mit Plus und Minus
und ich kann halt Vergleiche machen und die Mächtigkeit feststellen,
indem ich sage, okay, wie viele sind da eigentlich drin und so weiter.
Und das dann auch noch bezüglich der einzelnen Dinge, die da drin sind.
Das hatten wir aber alles schon benutzt. Dann gab es die entsprechende Definition,
sodass wir halt sagen, es gibt ein endliches Netz,
wir haben die Farbmengen, wir haben jetzt Farbzuweisungsabbildung an der Stelle,
das heißt, dass den Stellen jetzt die entsprechenden Farben zugeordnet werden.
Und wir hatten die Kantengewichtung, wobei wir dafür sorgen mussten,
dass natürlich die Gewichtung an der Kante, der,
der an der Stelle entspricht, weil ich natürlich ein A,
wenn ein A drin liegt, ich möchte auch ein A abziehen,
möchte das entsprechend dranschreiben.
Oder wenn ich da bestimmte Dinge abziehen will,
ein A und ein B schreibe ich in A und B
ran und dann habe ich die entsprechende Farbe sozusagen schon dahinter,
aber es sind erstmal nur Konstanten, die wir da definieren.
Und damit ist das Ganze recht einfach. Die Anfangsmarkierung muss dann
entsprechend natürlich eine Multimenge der entsprechenden Farbmenge der Stelle sein,
was sich entsprechend hier durch dieses Bag von der Color Domain von RP sozusagen genau ausdrückt.
Gut, das waren hier die Beispiele dazu. Hier sind die Farben,
die man dann auch angegeben haben mit A und B und S
für den Starter und RSA und RSB und SSA und SSB
als die entsprechenden Timing.
So, dann haben wir gesehen, okay,
wir können auch das Schalten hinkriegen.
Wir können hier also diesen Vektor hinschreiben und entsprechend die Fide
dazwischen oder eben als Abbildung
dahin packen
Ich erkläre mir das gerne darstellen möchte an den Stellen.
So, und wir kommen also von dem ABS zu AB, RSBS hin.
Was passiert da? Naja, das ist das B sozusagen weitergefahren,
das Auto entsprechend. Und der kann jetzt sozusagen,
das wäre die Signal an den Starter schicken,
dann schaltet sozusagen, dann fährt das Auto Arbeiter,
sodass beide Signale vorliegen,
sodass dann das Startsignal SS A für A und B gegeben
werden kann und dann kann eben hier entsprechend wieder Autobil und Auto A,
können dann entsprechend losfahren.
Und in die Nachfolgeposition kommen
Das ist das, was man dann hier unten entsprechend in
den Schalterungen sieht. So, was wir so haben,
ist eine Markierung da drin. Das heißt, jetzt wieder
ein Vektor über diesen entsprechenden Multiming von diesem Farbmengen der Stellen.
Und eine Transition ist eben aktiviert an der Menge,
falls eben genügend viele Marken entsprechend der Kantenbeschriftung im Vorbereich der Transitionen liegen.
Bei der Transition, die wir jetzt hier uns angucken.
Auch hier haben wir wieder diese Pfeilnotation. Sieht also alles genauso aus wie vorher,
nur dass wir jetzt eben in einem anderen Kontext stecken.
Das ist etwas, was ihr generell habt,
dass ihr bezogen auf den Kontext bestimmte Dinge lesen müsst.
Und an dieser Stelle ist das halt
genau so
der Fall
Soll halt noch hier wieder das Spielchen mit dem,
wie Schlange, dass man wieder zuordnen muss,
ob es null oder nicht,
null ist und weil die Kantengewissenschaft sich definiert ist und da wir sonst halt entsprechend zuordnen müssen,
weil das so entsprechend einführen, wenn es in deren Menge ist,
dann sagen wir es ist dann entsprechend null.
Oder beziehungsweise die leere Menge da drin. Und das Ganze,
wenn wir jetzt hier irgendwelche Operationen ausführen,
sind es Multimengen, Operationen, die wir da ausführen,
obwohl er ein ganz normales Plus steht.
Er hat auch ein anderes Symbol hinschreiben können,
aber intuitiv funktioniert das eigentlich ganz, ganz,
ganz gut an den Stellen.
So, und die entsprechenden tatsächlich Ausrechnerei passiert eben genau
wie sonst auch. Wir haben also die Nachfolgemarkierung für bestimmt
aus der Nackierung
Dem, was wir rausnehmen und das, was wir reintun.
Klassisch. Gut, das war die wichtige Geschichte,
die euch da an der Stelle merken solltet.
Eine der zwei Dinge, wo ich bis jetzt gesagt habe,
das solltet ihr euch merken. Gut, dann kann man
das Ganze jetzt wieder unter Matrix darstellen. Das haben wir
auch schon bei den Innenvarianten jetzt wieder nochmal verstärkt angeguckt.
Nur haben wir jetzt da schon irgendwelche Zahlen noch eingetragen in
diese Mengen und haben gesagt, wie das so rüberschaltet.
Und das Ganze kann man dann nachher auch entsprechend für die
entsprechenden Kantenkonstanten Mengen machen,
wobei man dann eben entsprechend kompliziertere Matrizen hat und muss eine
Operation wieder darauf ausführen und natürlich andere Operationen auf
der Matrix durchführen
So, das heißt, da gibt es also das gleiche Teil hier,
dass wir uns was angucken müssen und hier haben wir zum Beispiel T3,
was da passiert und gucken uns an, wenn das T3 schaltet,
muss es halt genau diese Wirkung haben,
dass es hier die Sachen abzieht.
Und das hier ist der Vorbereich, die Eingangs-Matrix.
Und das hier ist der Vorbereich, das ist der Nachbereich. Gut,
das, und jetzt haben wir hier eben gerade die Formel,
die eben brannte, dass wir das eben genau für diese Transition T3 hier uns jetzt genau angucken können.
So, damit waren wir quasi durch mit den konstanten Netzen
und jetzt sind sozusagen die Gefärbtennetze dran,
die CPNs,
die Kyler Patry Nets
Mit oh, geschrieben, wenn sie kurz nach Kurt Jensen
nimmt, weil der sozusagen die fritische Schreibweise bevorzugt.
Ansonsten haben wir die amerikanische Schreibweise, könnt ihr euch immer wieder aussuchen.
Müsst ihr halt locker drüber wegsehen, ob das nun mit
O-U oder O geschrieben wird. Aber es gibt einen Grund,
warum wir das dann häufiger mit O-U schreiben,
wo wir sonst amerikanische Schreibweise haben,
wenn man sich auf die gefärbten Netze von Kurt Jensen bezieht,
weil es ein feststehender Name ist.
Nur so als kleine Anmerkung. So, jetzt sind wir
wieder bei diesem Teil. Wir wollen von unseren BE-Netzen
sozusagen, also Bildungseignis-Netzen, sozusagen mit irgendwas falten.
Und hier hatten wir das Problem, dass wir jetzt quasi Informationen verlieren.
Das fanden wir nicht so schön
So, die andere Variante war jetzt,
dass wir hingehen und hier die falschen Senkantenkonstantennetzen gehen und dann,
wenn wir die jetzt nochmal wieder falten,
dann kommen wir halt hin zu diesen entsprechenden Sachen.
So, und hier ist ein kleiner Schreibfehler im Skript,
weil da steht immer noch wieder das.
Oder und nicht das und und darf der Vogel ist jetzt richtig,
aber nicht in dem im Skript,
müsst ihr halt da entsprechend korrigieren.
Gibt es an zwei Stellen oder einer Stelle mindestens 147 oder was war das?
162, okay, gut und noch irgendeine andere Seite wahrscheinlich.
Gut, also dieses zweite und muss hier rein.
Was heißt denn das hier unten?
Das werden wir gleich noch sehen,
greift einmal vorweg
Wenn ich jetzt hier schalte,
habe ich das A und ich muss natürlich sagen,
dass es x gleich A ist und das Y muss dann sozusagen das RSA sein,
weil es muss ja genau diese Kante sein.
Wenn es jetzt hier oben längst schaltet, dann muss natürlich
B und RSB sein und das ist natürlich beides hier drin.
Und eins von den beiden wird eines x gebunden und
das Y wird entsprechend an das RSB gebunden.
Wie das genau gleich aus, werden wir gleich nochmal näher angucken.
So, informelle Einführung, gefärbte Netze. Wir haben also
jetzt hier wieder dieses Teil und wir haben jetzt einen Kantenkonstanz
gefärbtes Netz und wie kommen wir da jetzt eigentlich hin?
Naja, im Grunde genommen ist lauter Modi,
in dem wir jetzt schalten, das heißt,
die Transition bekommen jetzt Farben an der Stelle
Also wir färben jetzt die Transition auch noch ein.
Vorher hatten wir einfach mal gesagt, ja, das ist
ein kranken Konstantes Netz und die Transition nimmt eben genau das,
was so so rein rauskommt. Damit kann ich schon quasi sagen,
hat sie auch eine Art Farbe, aber eben immer genau eine klar bestimmte.
Jetzt hier habe ich verschiedene Modi und kann sie jetzt verschieden einfärben,
genau wie ich das auf anderen stellen kann. So,
das heißt also, ich gebe jetzt an,
immer wenn dann A und da muss dann ja auch ein A sein,
das ist dann RSA,
das ist quasi nur die abkürzende Schreibweise für Mut 1,
UMO 2, soll ich jetzt 20 Autos habe,
mache ich hier einen Mod 1 bis 20,
mache hier die entsprechenden Tuppel ran und bin dann fertig.
Von der Netzstruktur bleibe ich gleich,
aber von den Modi ist das sozusagen dann das,
was ich dann
entsprechend auflisten kann
So, wir haben also entsprechende Transitionsmodi dabei. Und wir haben hier
unsere normalen Farben, wie Sie vorher auch schon hatten,
dass das also die Ready Signals und Start-Signed sind für diese RSA und SSA und SSB-Geschichten.
So, das ist sozusagen der eine Teil. Und wenn wir jetzt dann nochmal anders drauf gucken,
gucken wir jetzt nicht mehr,
indem wir da sozusagen immer so ein AB immer alles auflisten,
sondern wir wollen das jetzt so machen,
dass wir sagen, okay, wir haben Variablen,
X, Y,
Z und S,
Z hier um und S
für hier an der Stelle
Und, ähm, ist ja auch noch ein S da drüben.
Ähm, ein bisschen unglücklich, weil das eine ist
ein Wert, das andere ist ein Variable.
Haben wir noch nicht geändert. Muss man wieder mit aufpassen.
Dass der Compiler damit auch keine Probleme, müsste ja nur aufpassen,
wie ihr das sozusagen wegsortiert. Nur so als allgemeine Info. So,
das heißt, hier oben haben wir ein X und das
X kann gebunden werden an A oder B. Das waren genau die beiden Modi,
die ich eben gerade vorher hatte, bin ich hier drüben, ups,
reingehe, habe ich genau das A oder das B,
das genau an das, was ich das X binden kann.
Das ist genau das, was wir jetzt hier machen.
Wir haben hier das X, dass wir da rausholen,
dann sagen wir,
wenn es X gleich A ist und dann müssen wir natürlich
das Y auf RSA setzen bei BBSA rausgeholt haben,
ah, meine Batterie geht aus.
Schade aber auch. Die neue Akkus rein, na gut.
Müssen wir das Y auf RSA setzen. Das heißt,
wir wollen ja, wenn A reinkommt,
das entsprechende richtige Signal für das Auto A schon geben,
damit der Starter weiß,
wie wir alles schon von welchen Autos er jetzt die Signale schon entsprechend hat.
Und das Gleiche eben für das B. So. Und dann haben wir
als nächstes eben die entsprechenden Möglichkeiten hier, Sachen abzugreifen.
Das heißt, hier kann ich einfach zwei Konstanten,
gibt es auch wieder ran. Das geht also durchaus auch
wieder. Da muss ich also keine Variablen ransetzen.
Ich muss also das Teil nicht so da reinschreiben,
sondern ich kann weiterhin mit diesen entsprechenden Sachen arbeiten.
Also ob ich jetzt hier sozusagen das S meine mit der
entsprechenden Variable oder ob ich das S meine, als den Wert,
kann man jetzt an dieser Stelle gerade nicht unterscheiden.
So, dann wird hier jetzt entsprechende S,
aber egal, was ich jetzt hier gerade meine,
entsprechend richtig bunt und hier rübergepackt.
Und hier kommen die anderen konstant wieder raus.
Und hier oben prüfe ich jetzt das Z und Y.
Hätte ich jetzt hier auch ein X reinschreiben können
Steppt. Bis Z. Jetzt muss ich
nur auf normalen Programmierkenntnisse aus SE1 und SE2 benutzen.
Mehr nicht. Ja. Gut, warum?
Weil nur im Jahr, die war ja auch sowieso hier
Genau. Aber jetzt habe ich sozusagen, ja,
wenn ich das X jetzt hier mal gebunden habe,
ist das dann nicht schon da irgendwie vorgebunden?
Ja. Du kannst ja dann wieder erfolgen. Man kann
es wieder neu, aber muss es denn auch passieren?
Die Antwort ist ein bisschen doof gefragt. Es ist halt
ein anderes Skope, deshalb kann man, muss man aber nicht.
Genau. Wir wollen das gerne so definieren.
Das ist völlig richtig, also hast völlig recht gehabt.
Das ist, warum? Ja, eine Begründung. Die
Idee ist, dass unsere Transition jeweils lokal agieren. Das heißt,
jede Transition für sich hat eine eigene Lokalität und die Variablen,
die ich da binde, gelten genau dort.
Wenn ich das Ganze also jetzt hier mit den entsprechenden X oder Z benutze,
ist das völlig egal. Ich könnte auch hier Sachen umändern,
nur wird es dann, wenn ich,
soweit ich jetzt Typen einführe, müsste ich aufpassen,
mit diesen Y hier drüben und dem hier vorne,
da gibt es dann sozusagen schon mal was,
dass man da von verschiedenen Colorsets ist,
was dann sozusagen schon mal zu überdenken ist,
ob das überhaupt möglich ist, dass man das so darf.
Da wir jetzt hier sozusagen ja nur irgendwie Buchstaben so in
der Tafel stehen haben, ist das natürlich machbar.
Da muss man gucken, welche Sprache man jeweils hat und
ob die das dann jeweils vertragen.
Dass man den Typ mit einmal wechselt und dass man sagt,
okay, je nach Lokalität hat er unterschiedliche Typen auch noch dabei.
Da muss man halt gucken, wie diese Sachen sind.
Hier soll eigentlich gelten, dass es immer die entsprechenden Farbmengen sind,
für die man vorsieht und dann ist das mit dem Y natürlich so eine Geschichte,
dass man da zwei verschiedene Farbmengen hat.
Gut, okay, genau. Dann geht es jetzt entsprechend
weiter mit den Möglichkeiten, wie schaltet das Teil jetzt eigentlich?
Hier haben wir jetzt zwei Z, die wir rausnehmen wollen.
Das könnten zufälligerweise die Bs werden wohl.
X und Y haben wir oben, muss man
irgendwie rausnehmen
Ja, lassen wir das addieren oder sowas. Das ist
die Frage, was man da eigentlich jetzt genau mit meint.
Und Y soll gleich Z sein. Und wir wollen
ein Y-Z dahin packen. Wie binde ich die jetzt?
Wie ist mein X, mein Z und mein Y gebunden?
In dieser Transition. Ja, warum
Weil die Firmung setzt an, die Beinsetzer,
für 200 Sets von Land, von Pilzfall, 1200 Meter.
Genau. Und? Hier oben muss es auch noch gleich
B sein. Und weiter? Dementsprechend. Ja, okay
, weil nichts anderes drin liegt. Ja, gut.
Und Z? Ja, das war es halt. Genau,
das wird aufgrund der erzwungenen Gleichheit dort in den Modus.
Das sagt, ich verlange, dass die beiden gleich sind,
packen uns entsprechend da rein.
Sollte jetzt also hier auch so erscheinen
Siehe da, wir haben also zumindest B und das A. So,
jetzt haben wir ein Kanten konstantes Netz dazu,
das würde also genau so aussehen,
dass wir das halt genauso darauf abbilden auf diese entsprechenden Abbildungen hier,
unterscheiden des Kanten konstanten Netzes wäre dann eben genau,
dass wir das B hier raufpacken, A und B abziehen.
Hier bleibt das C übrig, weil die beiden Bs abziehen und
so weiter. Okay, so, dass wir sehen,
ist also, dass wir auch die Bs vernichten,
weil wir nichts erhalten oder sowas, welche Werte,
das ist genau wie vorher,
dass wir da wieder diese Sachen mit drin haben.
Und genau so schalten letztendlich jetzt also diese gefärbten Netze,
indem sie da
entsprechend dann reingehen
Und das ist das, was man dann entsprechend dann hier sieht,
dass das eben genauso abgebildet wird und man da eben genau
das X-Bus Y entsprechend zuordnet und einbaut in diesen Reihenfolgen.
So, jetzt kommen wir nochmal ein bisschen genauer auf das Tuppel.
Kann ich an der Transition auf direkt ein Token VR oder
WRAN schreiben oder muss das eine Variable sein,
der einen Wert zugewiesen wäre für in der Transition?
Also irgendein Tuken kannst du Konstante reinpacken. Ja, genau
. Ja, das, wenn ich sage,
mein X ist gleich A und A
ist ein Wert
Den wir da drin haben, dann ist das auch okay.
Kommt, wie gesagt, immer auf den Formalismus drauf an.
Das werden wir nochmal bei Ringen heute diskutieren,
weil da sind ja Java-bezogene Sachen drin,
wenn ich zum Beispiel Liste als Ansprechbeschriftungssprache hätte oder Scream,
was wir auch haben.
Es gibt auch einen Scream-Modus für Leute, die funktionale Programmierung interessieren.
Da kann man es auch entsprechend damit beschriften und
dann umsetzen und dann eben genau die Dinge tun,
die man auch in dem Scream oder Java eben entsprechend machen kann.
Dass dieser einen CPN oder CPN-Tools,
was wir jahrelang vorher benutzt hatten,
das hat eben ML als Beschriftungssprache und das sorgt eben für
eine sehr große Typsicherheit in dem Bereich zum Beispiel
So, was passiert jetzt hier? Wir haben jetzt wieder
ein gefärbtes Netz. Kallad Pitschu Netz,
da haben wir wieder das OU von Sprache des TPN.
Und das wird als Tuppel mit PT, FC,
CD war Guard, Vedach und im Null definiert.
Wobei wir das eben genauso haben wie vorher. Wir haben
ein endliches Netz und wir haben eine Menge von Farbmengen,
die wir da drin stecken haben in den Sachen.
So, damit sind wir schon mal so wie bei den Gefärbnetz
erstmal so ein bisschen dabei. So, dann haben wir
eine entsprechende Farbzuweisungsabbildung. Sie wird also durch die so abgebildet,
dass man die entsprechenden Fs, also die kannten auf die Farbdomänen zuweist.
Und zwar muss man jetzt aufpassen mit X und Y. Das heißt,
jetzt gibt es das für die eine und für die andere Richtung der Pfeile.
Entscheidend ist für die Farbzuweisung, für die entsprechenden Stellen,
dann für die Filikanten, dass man hier hingeht und sich anguckt,
das liegt dann an der Stelle drin.
Und die wird entsprechend genommen. Das heißt,
wir nehmen die Color Domain von X, wenn es eine Stelle ist,
an der Stelle, und wenn es vier drin ist,
dann nehmen wir eben das Y entsprechend.
Also je nachdem, was jetzt hier Stelle oder Transition ist,
nehmen wir die entsprechende Farbmenge der Stelle
Das dürfte klar sein, oder?
Ja, nein. Gut, okay, alles klar.
Dann haben wir eine Variablenmenge und mit den entsprechenden Wertebereichen.
Wir haben also eine Domäne irgendwie, wo wir zu sagen können,
wo gehört das denn eigentlich mit rein?
Ups, das war einem zu viel, aber lassen wir einfach mal.
Guards wollten in jeder Transition trägen und ein Prädikat Tee mit den Variablen aus Wahl zu.
Das heißt, wir weisen jetzt diesen entsprechenden Teilen Guards zu.
Hatten wir vorhin schon gesehen, x gleich Y oder so ähnlich.
Also wir haben irgendwelche Dinge ranschreiben, wo wir sagen,
das, ich muss zu wahr evaluieren, sonst wollen wir das Ganze nicht.
Wie, wenn wir gleich was schauen? Und haben wir
eben die entsprechende Belegung und dieses V-Better ist dann,
also die Belegung der Variablen und das ist eine Menge von Krankengewichtung der Form,
dass wir jetzt diese Krankengewichte hier wieder auf die Multinänge der Farbmengen sozusagen abbilden von den entsprechenden Kanten.
Wobei wir eben genau das hier wieder als die Kantenmenge von den,
als Multinänge von den Farben der entsprechenden Kanten dann nehmen müssen.
Und das gilt eben für für alle kannten sozusagen.
So, das heißt, wir gucken es jetzt an,
was steht denn da an den Kanten dran? Naja,
und die Beschriftung dessen, was ich da dran haben darf,
muss natürlich genau mit der Farbmenge übereinstimmen, mit dem,
was sie von den Stellen runterholen.
Ist eigentlich ja relativ, klar,
ist sie da nicht irgendwie einfangen, wenn da Autos abgezogen werden,
hole ich nicht mehr meine Ladengläser daraus, ja.
Das funktioniert einfach nicht an der Stelle. Gut,
und natürlich haben wir wieder Anfangsmarkierung, wobei wir dann wieder
über die entsprechenden Multimengen der Farben der Stellen letztendlich gehen,
die wir dann hier auch entsprechend stehen haben. So,
also eigentlich gar nicht so viel anderes als die Kanten,
konstanten Netze, wobei die Kantenkonstanten jetzt ja eben ein Ticken einfacher waren,
weil sie nicht diese Variablenzuweisungsgeschichte hatten Dieser Farbmodi für die entsprechenden Transitionen damit nicht machen konnten.
So, und jetzt wählt eine Belegung, die den Guard eben erfüllt.
Und da haben wir eben genau dieses entsprechende ABB entsprechend hier mit drin.
Und ABC wäre jetzt auch so eine entsprechende Belegung.
Geht das? Geht das nicht? Ich glaube ja,
weil du hast Zeit ja irgendwie so umändern mit der Transition.
Weil dann würdest du sagen, das Ding ist zu sehr egal,
dass wir das sehr,
sehr einfach machen
Ja, wir können also irgendwo so Belegungen jetzt haben,
aber die Frage ist jetzt, ist das wirklich eine andere Belegung,
die jetzt sozusagen zum Schalten führen kann letztendlich nachher?
Das ist das, was uns dann jetzt interessiert. Das heißt,
ist es eine Belegung, ja,
wir können irgendwas drauflegen, wir stellen mal fest,
dass sozusagen der Gart nicht funktioniert an der Stelle,
weil wir ja Y gleich Z nicht hinbekommen,
weil das sozusagen nicht drin ist und deswegen ist das halt einfach entsprechend nicht schaltbar an der Stelle.
Hätte ich auch wieder aufflammen lassen können.
Das ist sozusagen die wichtige, wichtige Sache,
weil das nicht schaltbar ist
So, dann haben wir die Markierung von einem gefärbten Netz.
Das wird jetzt nochmal eine Runde spannender. Das haben wir so als entsprechenden Vektor.
Auch wieder über die entsprechende Multimenge der Farbmenge der Stellen.
Und das wird entsprechend zugeordnet, so wie wir es auch vorher vorher kennen.
So, und dann geht es aber los.
Dann haben wir mit Better eine Belegung für die Variablentransition Tee,
die wir da drin haben, aus der Menge der Transitionen.
Die heißt eben Better aktiviert und warum jetzt Better für die Belegung aktiviert.
Das war genauso, was wir gerade eben als Thema hatten,
der Belegung. In einer Markierung M,
falls der Guard von dieser Belegung Tru ist,
also die Belegung kann es geben, aber die kann Venture nicht Tru sein.
Und für alle Stellen haben wir aus der Menge aus dem,
für alle Stellen im Vorbereich der entsprechenden Transition,
die wir uns jetzt hier gerade angucken, schauen wir,
dass wir auf der entsprechenden Stelle genügend Marken liegen haben und zwar mehr,
als wir für diese Art von Belegung Dinge abziehen aus der Stelle für diese Transition.
So, und das schreiben wir jetzt hin und jetzt ändert sich hier etwas,
weil wir jetzt hier nämlich das T-Kommawetter hinschreiben,
weil wir dort sozusagen auch die Belegung jetzt noch angeben müssen,
jetzt sagen müssen, okay, unter welchem Modi schaltet denn jetzt diese Transition?
Und das ist genau dieser Modi,
Belegung und Modi fallen an dieser Stelle jetzt hier zusammen,
wobei jetzt hier das, wenn sie aktiviert ist,
hier eben drin steckt schon, dass das der Garzo Truh evaluiert.
Das heißt, es können nicht alle Belegungen da rein,
sondern nur die, wo auch der Gard entsprechend zu Truh evaluiert.
Es gibt durchaus eine Menge, also das sind lauter Klitze,
kleine Dinge, so ein Ättchen da und einer hier und das zusammen passt alles. Die gefärbten Fetenetzdefinitionen,
bevor Kurt Jensen die in sein Buch veröffentlicht hat,
hat er mehrere Jahre lang immer wieder seine internen Berichte gehabt
und hat die auch verschickt und hat ihn von seinen Kollegen Korrektur lesen lassen,
da waren immer wieder kleinere Fehler oder kleinere Anmerkungen noch drin,
weil man das beim Aufschreiben eben dann doch irgendwo noch irgendeine Ecke vergessen hatte für ein Spezialgeschichte dabei.
Da waren nicht viele Fehler drin, aber so zwei,
drei waren dabei, die einfach sich ergeben, wenn man da nicht genau genug hinguckt.
Das heißt, dass ihr seht, ist, jupp,
das ist ein Netz, das kann so durchgehen und lieber ein,
zwei, drei, vier, fünf, sechs,
das ist ganz klar.
Aber wenn ich da bestimmte Sachen in der Klausel abfrage,
dann kommt es auf diese Details an. Wenn ich frage,
kann die Belegung jetzt, kann es nur diese Belegung schalten?
Ja, nein oder ist das eine Belegung oder ist das aktiviert oder und so weiter?
Ja, gibt es also alle möglichen Dinge,
nach denen ich also Möglichkeiten habe, euch auszutricksen. Also,
mein Wunsch ist, dass ihr euch da nicht austrickst,
ein Last an der Stelle, in dem ihr einfach genau wisst,
was in diesen Definitionen gilt und was nicht gilt,
sodass ihr dann da eine Menge Punkte mit absagen könnt.
Weil wenn ihr die einmal könnt, habt ihr sozusagen ganz klare Möglichkeiten,
es sind die Fragen auch sehr leicht beantworten könnt.
Deshalb auch notwendig, um wirklich das Verhalten dieser Netze zu verstehen.
Weil das ist das, was jetzt sozusagen gleich in Folgen wieder noch kommt.
Wir haben ja also jetzt die entsprechende Beliebung,
dass man wieder dieses entsprechende Zuweisen, weil welche das noch berücksichtigt müssen,
wenn da eben keine Kante ist, dann müssen wir irgendwie rechnen können,
dann müssen wir die ihre Menge dabei haben, damit es auch funktioniert.
Und das müssen wir beide Richtungen haben. So,
und ist das Tee in diesem M-Better aktiviert?
Dann ist die Nachfolgemarkierung definiert durch, genau dieses Teil.
Und jetzt kommen wir zur gleichen Rechnerei wie vorher.
Das wäre also die, erst mal als Vorbedingung haben,
dass wir mehr Marken da drin haben als ankannten, jeweils dransteht.
Und dann wird die Nachfolgemarkierung eben im Strich berechnet durch die alte Markierung minus dem,
was wir rausnehmen, das, was wir darauf tun.
Also genau dasselbe, was wir bei der Kantengeschichte auch hatten.
Nur haben wir jetzt hier immer noch dieses klitzekleine Wetterchen
da dran stehen
So, und weiterhin ist es eben wichtig,
dass es sich um Multiming-Operationen handelt und nicht nur eins plus eins oder sowas gerechnet wird.
Also muss man Multiming-Operationen darauf arbeiten. So,
und genau das ist dann hier,
jetzt gehen wir mal als ganzen gegen unsere üblichen Leserichtung,
aber weil wir es im anderen Bild noch so drin war,
hier sieht man uns den Fall, der von oben kommt.
Wie man dann entsprechend schaltet für die entsprechenden Belegungen und
wie man dann da entsprechend da hinkommt.
So, das heißt also, da haben wir jetzt das
Verhalten dieser Netzstrukturen. Ich hatte euch ja schon gezeigt,
wie das bei den PT-Netzen mit der Zustandsraumexplosion aussieht
Eine Marke mehr auf der Stelle und wir sind statt bei 4000,
bei 3 hoch 86 mit der Menge der möglichen Zustände.
Dadurch, dass wir jetzt hier nicht mehr nur einfache schwarze Marken haben,
sondern auch noch gefärbte Marken jetzt sozusagen,
die da drauf legen können, wird das Ganze noch schlimmer.
Ja, so. Das Interessante ist aber, das entspricht ganz normal, euer normalen Programmiersprache. Das heißt,
wenn ihr programmiert, müsst ihr die ganze Zeit mit solchen Zustandsraumexplosionen eigentlich umgehen,
Und was sie eben bei SE1 und 2 und so weiter lernt,
sind halt irgendwie, da gibt es Muster und da gibt es bestimmte Sachen,
wie man das designt und es gibt bestimmte Ideen von,
wir hier in Hamburg, Werkzeugmaterial und so weiter.
Alles schicke Sachen, die auch genau dazu führen,
dass wir eine bestimmte Struktur auf eure Software drauflegt,
sodass noch in der Lage sei, überhaupt abzuschätzen,
was da eigentlich passiert und wie das eigentlich funktionieren soll.
Und das sind nicht irgendwelche wilden Operationen auf euren Sachen nach,
die dann auch irgendeinen Effekt haben, aber dann vielleicht an irgendeinem Zustandsbereich,
damit einmal irgendwas tun, was ihr nicht haben wollt.
Das heißt also,
dass das gute Design von so einer Software ist spannend,
Genauso ist es aber auch,
dass ihr das gute Design für ein entsprechendes Netz euch genau überlegt müsst,
um dort zu guten Ergebnissen zu kommen.
Das ist gar nicht so einfach an den Stellen. So,
die Möglichkeiten, ihr habt ja schon das Rinho runtergeladen.
Nächstes Mal werde ich noch, weil das kriege ich
auch nochmal ganz kurz mit vorführen hier im Rande,
so wahrscheinlich
Ihr könnt da einfach mal ein bisschen mit rumspielen.
Ihr könnt euch auf das Design CPN runterladen, aus Vorwärts
in Ohrhus. Und jetzt ist es halt in Einhofen.
Und das findet ihr bei unserer Webseite. Wir sind,
wir hosten hier die für die Fitness-Community, hatte ich ja schon erwähnt.
Und darüber findet ihr auch alle möglichen Werkzeuge. Und einfach,
um euch sozusagen klarzumachen, wie das Schaltverhalten wirklich ist,
könnt ihr euch solche Werkzeuge einfach runterladen und damit ein bisschen mit rumspielen.
Das, was man so als Softwareentwickler ja durchaus macht und
als Informatiker ja auch,
dass man da halt ein bisschen rumspielt mit den Dingen und guckt,
was geht und was geht nicht damit
So, und im Wesentlichen hängt es nachher an den Beschriftungssprachen,
was man damit machen kann oder nicht machen kann.
Wir werden also zum einen jetzt die Notation,
die noch teilweise eben aus dem MLK-Bereich stammt,
weil es eben von den TPN-Tools in Calore Patreonets-Ecke kommt.
Und die Java-Sachen von Rinho werden wir beide benutzen.
Und ihr müsst beides lesen können und in der Klausur entsprechend beides auch entsprechend verwenden können.
Ohne sie das ganze Handbuch komplett gewälzt haben müsst,
aber ein bisschen rumgespielt haben, solltet ihr mit dem Remi-Werkzeug,
das war ja auch genau die Sache,
dass ihr es runtergeladen habt.
Gut, jetzt kommen wir nochmal zur gleichen Frage,
wie beim wir es
schon mal hatten
Wir haben jetzt also hier das PT-Netz und wir haben die
konstanten Netze. Da hatten wir gesehen, okay,
gut, das ist jetzt ein Token.
Jetzt die Frage ändert sich jetzt, was durch die Gefärbtennetze dabei?
Wenn wir jetzt so runterzählen, was passiert da eigentlich?
Und wenn wir jetzt runterzählen, ist das eine,
wenn wir das Ganze als Kalab-Netz haben, was mache ich da?
Wie baue ich das jetzt auf? Wenn ich eine 7
habe und ich möchte es runterzählen, was mache ich da?
Damit ich also siebenmal diese Transitionen schalten kann.
Ja, dann brauche ich ein X,
das ich quasi rausnehme
Und nimmst sie dann, dass ich zurückkriege. Ja,
okay, das war eigentlich zu schnell gedrückt hier,
genau, hat geprellt, Entschuldigung, ja, genau.
Man geht dann runter, packt einen zurück und jetzt schaltet
die siebenmal und die auch, sag ich.
Ja, nein. Warum ist es richtig und warum ist
es falsch? Ihr dürft, beide Antworten sind richtig,
ich will nur die Begründung hören. Das kommt darauf an,
was für eine Farbmenge in der Stelle liegt,
wenn das nur positive Zahlen sind,
dann kann die
nur siebenmal schalten
Das aber Z ist, dann kann ich besuche ich nach unten runter.
Wenn es nur positive Zahlen sind, wie oft kann es dann schalten?
Also alle größter gleiche Null, dann kann es siebenmal schalten.
Genau, das ist jetzt wie die nächste Tricking-Geschichte,
wo wir als Informatiker immer wieder darüber stolpern,
die natürlichen Zahlen mit oder ohne Null und so weiter und so fort.
Und weil ich halt die Null wieder zurücklegen möchte fürs Schalten,
dann muss es halt sozusagen auf die Null raufpacken sein.
Wenn aber das Z ist oder ja,
oder was weiß ich, IQ oder was auch immer,
dann habe ich das Problem,
dass ich natürlich jetzt hier einen Guard einbauen müsste und
sagen müsste,
X muss was sein
Grüß alles mal. Aber das ist eine große Sache.
Ich glaube, das heißt... Ich grüße gleich eins.
Also wenn sich Ko oder Ernte berücksichtigen wollen. Das typische Problem mit
diesem Grenzbereich, ein mehr oder weniger und so weiter.
Das ist das, was so phänomenal bei diesen Informatiksystemen ist.
Es hängt immer davon ab, dass ein Bit sozusagen sozusagen ausreicht,
um das Verhalten mit einmal anders zu machen.
Was ist im Gegensatz zu sozialen oder sonstigen Systemen,
die wir mit dem Auto fahren?
Ob ich das Lenkrad um ein Grad nach links oder zwei Grad
nach links drehe, das ist so gering der Effekt,
weil ich dann hinterher so gleich wieder ausgleiche durch mein
ständiges Hin und Her
Auf der Straße. Ja, es gibt keinen, der wirklich gerade ausfährt, ja.
Das ist kein Mensch so da, ne? Also,
ja, man ist also die ganze Zeit so und so
am Lenken und deswegen ist es in der natürlichen Umgebung überhaupt kein Problem an der Stelle.
Nur die Informatiksysteme, das ist ja das,
was Herr Falk auch ganz am Anfang wahrscheinlich als Motivation genommen hat für unsere Verifikationsdinge,
warum ihr überhaupt diese Sachen jetzt alle angucken sollt,
ist ja genau eben,
weil dieses System es empfindlich reagieren auf eine einzige Geschichte,
ja oder nein und schon geht etwas oder geht etwas nicht mehr.
So, wenn wir jetzt hier den Guard haben und so weiter,
was war da nochmal die wesentliche Aussage,
können die,
wenn beide dasselbe
Warum nicht? Na, was sollen die jetzt tun?
Die sollen? Genau, die sollen runterzählen, ne?
Siebenmal. So. Können sie das dann,
wenn der Guard richtig ist und ich die richtige Begrenzung habe
und so weiter,
bei dem Teil
Die Antwort ist, ja, ne? Können Sie, haben wir jetzt so gebaut.
Aber haben Sie dasselbe Verhalten? Ich kann ja links am Ende,
wenn ich die sieben Marken abgezogen habe, habe ich nichts mehr hin,
aber in den Bekannten letztlich, der trotzdem immer noch eindrückt.
Richtig? Also, da ist schon mal ein Unterschied.
Hinterher liegt hier immer noch ein Poken, aber da liegt nichts mehr.
Gut, okay. Das sieht also schon mal anders aus,
weil der Zustand im System ist schon mal ein anderer,
weil ich mir das noch merke, obwohl,
wenn ich das sage, okay, das ist null,
dann mache ich eine Komplementärstelle,
kann ich auch noch,
kann ich dann wieder drüben
In der linken Variante haben wir immer sieben, sechs,
fünf und zweiter Sachen auf dem, auf der Stelle liegen.
Und rechts haben wir da nur eine Sache. Genau,
wir haben auf der linken Seite mehrere Dinge liegen und hier
nur eine, das kommt auch dazu.
Und jetzt möchte ich auf das Verhalten nochmal zu sprechen kommen.
Was können Netze von Prinzip, wenn wir es nicht anders definieren,
machen bei einer Transition, bei einer Schaltung?
Wofür hatten wir uns die Parschal-Order-Sachen angeguckt
Welche Semantiken haben wir für Petri-Netze? Außer der fairen und sonstigen Kaltregel.
Genau, ja. Ja, ist schon abgestimmt hier unten
. Alle nicken, ja, was meine ich damit?
Ja, wahrscheinlich das nebenläufige Verhalten. Das nebenläufige Verhalten,
was meine ich damit, ja? Ja,
jetzt noch eine zweite Transition dran bauen,
die auch ein ab zielt und dann könnten wir nebenläufig in
einem Schritt zwei Marken rausziehen,
aber da wir einen Gefährtennetz nur eine Marke drin haben können
An die Marke halt rausgenommen und dann wieder ins Surfen so verändert,
zugetilgt werden und wir können sie ja nicht nebläufig entscheiden und bald,
weil es halt, wie gesagt, noch ein einziger.
Gut, okay, das ist richtig. Ich kann sogar aber
noch mehr. Also, jetzt war ihm gesagt worden,
ja, ich kann ja hier jetzt noch eine Transition daneben
bauen und dann kann ich nebenläufig was tun.
Das kann ich da nicht. Man könnte bei der Linken
auch eine Marke rausnehmen und dann vielleicht noch einer Mark draußen,
wenn man dieselbe Transition. Das kann ich hier ja auch,
da nehme ich SC7 raus und nehme ich gleich die sechs raus.
Aber ich sechs komme da erst zurück, dann trans zufällig.
Ja, richtig.
Und hier
Das war richtig, du meinst das Richtige, genau, ja?
Hier kann man eine Marke reinnehmen, die Transition schalten lassen
und wir haben die Transition schaltet, hier nochmal treffen.
Genau, das heißt, sie ist wirklich völlig unabhängig,
ich kann auch sozusagen gleich alle sieben auf den Schlag nehmen,
ich kann auch fünf nehmen und dann die zwei nochmal kurz
danach auch noch und dann sozusagen weitermachen dabei.
Das war genau das, was wir mit den Prozessen dann versucht haben darzustellen,
wir müssen das jetzt bei dem Prozess nämlich hin,
wie würden wir das als Prozess hinmalen an dieser Stelle,
also an dieser Stelle.
Also für dieses Beispiel
Ja. Genau, ne? Ich würde hier die entsprechende,
machen wir jetzt mal für drei Marken hinmalen,
würde das hinzeichnen und könnte als Prozess das machen.
Was würde ich für das gefärbte Netz machen als Prozess?
Also haben wir nicht gemacht, aber die Übertragung sollte euch jetzt klar sein.
Ja, die lineare Kette von acht Plätzen und in sieben Transitionen dazwischen.
Ja, und dann entsprechend das durch und dann immer wieder. Und das wäre immer dieselbe Transition,
immer wieder immer das T, was wir mehrfach hätten,
wobei das eben dann mit der Abbildung entsprechend die Sachen sind und das hier würde natürlich auch immer wieder Tee sein,
wobei wir das natürlich mit deinem Ereignis 1, Ereignis 2,
Ereignis 3 oder sowas bezeichnen würden und dann eben hier Ereignis 1 Ereignis 2 und 2. Je nachdem,
wie wir das jetzt erfüllen und wie wir sie alle benennen,
weil die Stellen umbenennen und so weiter und die Abbildungsfunktion,
das hatten wir beim Prozess gesehen, wie wir das machen.
Und dass ihr das nochmal anguckt, damit ihr es konstruieren könnt.
In der Klausur hatte ich ja auch schon erwähnt. Genau,
und dadurch sehen wir, dass wir hier auf dem Schlag
sozusagen sieben oder beliebig schnell sozusagen durchschalten könnt,
was wir da verloren haben. Dafür war völlig richtig gesagt,
wir haben hinterher noch einen Wert und wir können wir abprüfen und gucken,
ist der gleich null und dann tun wir folgendes. Das heißt,
damit haben wir mit einem anderen Test auf null unsere solche Sachen mit drin,
was ich jetzt ausgelassen habe bei dem Vortrag von eben,
weil da waren eigentlich noch die Touring-Mächtigkeit der Gefärbtennetze und der Netze überhaupt nochmal mit drin,
wann die eigentlich Touring-mächtig werden.
Das werden wir am Ende der nächsten Woche dann nachholen,
weil das sozusagen nicht direkt für die Hausaufgaben und Fügungsaufgaben relevant war.
Gut, so, was haben wir jetzt also jetzt geschafft oder gemacht?
Wir haben jetzt hier diese entsprechende Faltung von den Plätzen gehabt.
Das haben wir jetzt verbessert, indem wir hingehen und hier
jetzt die entsprechende Faltung zu den gefärbten Netzen haben,
wobei wir dann eben keinen Informationsverlust da drin stecken haben an der Stelle.
Und dadurch, dass wir jetzt noch ein paar Tricks da drin mehr drin haben,
wenn wir jetzt also Funktionen auch noch verwenden,
statt einfach eine Auflistungen von bestimmten Dingen,
kann man eben noch mehr erreichen als das, was man vorhalte.
Auf jeden Fall haben wir hier schon mal keinen Informationsfluss.
Wir können uns immer genau sagen, wann hier irgendeine Marke ist,
wie wir das eigentlich abwickeln würden Richtung BE-Netze.
Oder wie wir sie zusammenfalten, entsprechend. So,
damit sind wir mit dem ersten Teil von Kapitel 8 erstmal soweit schon schon mal halsgehend durch,
wenn wir nächstes Mal wieder durchgehen, vielleicht noch ein,
zwei Beispiele, dass wir, haben wir jetzt genauer anguckt.
So, jetzt kommen wir zu den Anwendungsbereichen,
wo man also diese Netze jetzt ganz gut verwenden kann.
Und das, sag ich mal,
bekannteste in der Nicht-Kerninformatik-Ecke von den Netzen bekannte Gebiet,
wo entsprechend Peter Netze verwendet werden, bis dann entsprechend die Workflow-Modellierung.
Das heißt, die Ablauf- oder Geschäftsprozessmodellierung,
wobei Geschäftsprozesse eben den gesamten Prozess In einem Unternehmen beschreiben,
werden die Workflows sich auf die Steuerung dieser Geschäftsprozesse im Wesentlichen erst mal jetzt kaprizieren.
Und wer dafür ein entsprechendes Modell hinterliegen. Also diese Workflows sind etwas,
was sich in natürlicher Weise in den Unternehmen ergeben sollte.
Business Process Modeling Management. Irgendwie gibt es jede Menge BPX-Geschichten
in der Disatur. Da seid ihr bestimmt schon begegnet.
Es gibt auch jede Menge Techniken, mit denen man diese Sachen modellieren kann.
Das Spannende war, dass aus der Ecke der Pädchennetz,
wo gesagt, ja, das war trivial. Das Spannende ist aber,
dass, wenn man dann versucht, das Ganze mal systematisch aufzubereiten,
das durchaus einige Papiere gekostet hat, bis alle,
ich sag mal, wesentlichen Erkenntnisse zu diesen Sachen in Form von Netzen ausdrückbar sind.
Und alles, was man jetzt sozusagen in den normalen Werkzeugen,
die sich mit Geschäftsprozessmodellierung beschäftigen, findet, sind eigentlich Dinge,
die mit Netzen auch vom Prinzip darstellbar sind.
Insbesondere mit höheren Netzen, ohne Hinweisen, tue ich mich,
hier kann man so und so alles mit darstellen,
aber man kann es auch recht intuitiv mit darstellen und leicht verständlich
Vielleicht ist aber die Frage, warum kam man überhaupt zu den Workflows?
Also eine Sache, die ich schon in frühen Anfängen der 80er
sozusagen in den Firmen hatte, wo ich gearbeitet habe,
wo es um Abläufe in den entsprechenden Unternehmen ging,
wo Dokumentenmanagement und solche Sachen behandelt wurden.
Und da gab es halt keine Geschäftsprozessmodellierung, dadurch,
dass ich aber mit den Netzen im Hinterkopf dann mal drauf geschaut habe,
waren für mich das immer völlig klar,
was die Leute immer wollten
Aber ich konnte mich mit den Leuten immer nicht verständigen,
weil ich immer dann sofort im Peter-Netz-Sling verfallen bin und die
mir gar nicht verstanden habe, wo ich eigentlich rede.
So, was ich dann gemacht habe, ist ja,
ich habe das Ganze dann umgesetzt auf einfache Modelle,
aber das war dann so eher mein persönliches Kommunikationsfeld.
Erst Mitte der 90er ist es dann erst weitergegangen,
das werden wir gleich nochmal sehen.
Also ganz am Anfang gab es irgendwelche Anwendungen,
die laufen auf irgendeinem Rechner und gibt es ein entsprechendes Interface zu den Anwendungen dazu.
Und das Ganze basiert dann auf dem Betriebssystem und
so baut man dann sozusagen die Anwendung.
Das ist schon ein paar Tage her,
das ist nämlich sozusagen 60er-Jahre-Stil sozusagen von Bauen von Anwendung
Dann kamen die neueren Sachen in den 70er,
da kam auf die Idee, irgendwas mit der Datenhaltung.
Das ist ja irgendwas, was man sozusagen rausziehen kann.
Und da wurde eine Menge im Reich Datenbanken gemacht.
Das war das, was ich dann sozusagen auch genossen habe.
Gerade Anfang der 80er, dass es dort sozusagen eine Menge verschiedene,
ganz tolle Datenbanksysteme gibt, über die heute noch lächeln würdet.
Damals war es eine große Erleichterung im Verhältnis zu den Sachen,
was man vorher halt entsprechend benutzt hat.
Und dass man dann auch in vielen Softwarebereichen natürlich gefunden hat.
Dann kam auf die Idee, dass man irgendwie sagen musste,
okay, in den 80ern, da kam irgendwie diese Benutzungsoberfläche noch obendrauf,
weil man da dann irgendwie erkannt hat, okay,
für den Rechner muss ich jetzt irgendwie noch diese Oberfläche
da ranbekommen
Microsoft und Co. lassen grüßen, Apple, das waren so die Ideen,
das waren noch ein paar andere Sachen noch obendrauf hat,
aber genauso auch schon bei den entsprechenden Mehrplatzrechnen. So,
dann kam, dass man hingegangen ist,
okay,
und ich habe mir gesagt,
irgendwie haben wir jetzt da drin noch Abläufe und die möchten
wir auch noch mitfassen und das kam erst in den 90ern hoch und wurde dann entsprechend durchaus populär,
dass man in irgendeiner Weise so eine Engine in diese Kisten
mit einbauen muss,
die man da produziert
Und dass die dann sozusagen sowohl auf dem Betriebssystem laufen mussten,
als auch sozusagen unterhalb der Benutzungsoberfläche,
aber neben den Datenbanken und neben den Kernfunktionalitäten der Anwendung,
das ist die Steuerung, dass die Funktionalität,
und das sind die Daten, wäre ja schon was von Aris gehört hat,
kann sich auch in einer Form dann nochmal durchaus entsprechend wiederfinden,
wobei das dann diese Steuerungssachen in die Mitte rutschen.
Jo, was haben wir denn dann damit veranstaltet? Naja,
jetzt kann man irgendwie hingehen und sich überlegen,
wo tritt das eigentlich auf und da haben wir im Skript das entsprechende Beispiel,
wo jetzt verschiedene Fälle dargestellt werden, wie so eine Abarbeitung halt aussehen kann.
Und da hatten wir eben die Aufnahme an der Beschwerde,
also irgendwas registriert in einem Unternehmen und dann geht es entsprechend weiter und sagen,
okay, gut, da packen wir zwei Marken raus.
Das heißt, wir wollen jetzt irgendwas eveluieren und wir wollen irgendwie
so einen Fragebogen an den Kunden, wenn er sich beschwert,
dann soll er irgendwas mal beantworten und soll da irgendwas zu machen.
Und was mir jetzt also als nächstes hat,
ist dann diesen Fragebogen zu verschicken,
Und die Bewertung und diese beiden Dinge sind erst mal unabhängig voneinander,
weil ich das in meiner Firma so regeln kann,
dass die eine Abteilung schickt den Beschwerdeboden raus und die andere,
die prüft erst mal intern, was da eigentlich los ist.
Das müssen wir ja womöglich zahlen oder sowas.
Das werden wir gleich gucken. So, das heißt,
hier sind wir entsprechend einen weiter und da sind wir auch entsprechend einen weiter.
Also jetzt haben wir hier die Alternative. Entweder kommt der Kunde auf die Idee und beantwortet dieses Teil,
das ist jetzt ja quasi außerhalb von unserem System,
was jetzt hier ein bisschen schräg ist und das ist das,
was eigentlich Mitte der 80er schon im Bereich der strukturierten Systemanalyse geklärt worden ist und dann direkt in die Objektorientierung eingeflossen ist,
dass man sozusagen durchaus zwischen den internen,
den externen Systemen und sowas unterscheiden sollte und dass man sowas auch berüchtigt,
dass es hier erstmal jetzt nicht mit drin.
Wir tun so, okay, das postet das Recht schon näher.
Das bedeutet, also ich habe da irgendwas,
was ich verarbeiten kann, kann ich aus den internen Prozessen sehen,
weil was von außen gekommen ist.
Oder ich habe so intern etwas, dass ich sage,
ich habe hier so ein Timeout.
Gut, der Kunde antwortet einfach nicht. Muss ich
auch immer weitermachen. Das wäre so die eine Variante.
Und dass sozusagen hier oben die vier die Fragebogenauswertung und Ansonsten
haben wir indem sie nicht Berücksichtigung des Fragebogens an der Stelle.
Und das wäre dann, dass ich da oben Headling schalten kann,
ich glaube ich nur oben rum oder unten rum gehe,
das ist dann ziemlich egal.
So, was kann ich dann machen? Dann habe ich
sechs und sieben noch. Je nach Ergebnis der Bewertung aus
drei, also da habe ich schon mal irgendwie geguckt,
wie sieht das eigentlich aus? Also der sagt hier,
schönen guten Tag, aber du bist gar keine richtige Beschwerde
oder oh ja, Teil X geht nicht oder sowas.
Und da sagt man einfach, okay,
ist mir doch egal, was da passiert.
Nur Prozessing passiert nichts in unseren Firmen,
ignorieren wir einfach
Aber er sagt, jupp, hier muss irgendwas passieren und dann wird hier unten weitergearbeitet.
Das sind also die beiden Möglichkeiten und dann sagen wir,
okay, gut, Beginn der eigentlichen Prüfung ist jetzt,
dass wir jetzt hier mal was tun wollen,
dann packen wir das mal darauf und sagen, okay,
jetzt gucken wir mal, was damit ist.
Was kann er jetzt machen? Naja, er hat immer
noch da oben seine Archivierungsmöglichkeit, kann er jetzt schalten?
Nein, da liegt keine Marke, ist ungünstig.
Also müssen wir halt erst mal hier unten weitergucken.
Hier haben wir unsere 8, was können wir da machen?
Da wird die Bearbeitung der Beschwerde unter Brücksingens Fragebogens gemacht.
So, ich will schon mal sehen,
also da geht man davon aus, dass man irgendeinen Fragebogen benutzt.
Da liegt aber nur eine schwarze Marke dran.
Das heißt also, die Interpretation ist also etwas,
was sich dem Steuerfluss in dieser Form jetzt hier gar nicht direkt ausdrückt.
Man sagt nur, okay, gut, ich muss zumindest
das Teil hier oben irgendwie abgearbeitet haben und erst dann kann ich weitermachen.
Wenn ich noch keine Antwort habe und auch der Timeout war
noch nicht, dann kann ich hier nichts machen.
Ich kann also diese Bearbeitung erst dann wirklich anfangen,
wenn ich entweder dieses entsprechende Zeit gewartet habe oder wenn
der Fragebogen halt da ist und dann kann ich loslegen
Deswegen das als Nebenbedingung in diesem Ablauf. Das heißt,
ich habe dort die Möglichkeit von Nebenbedingungen einzubauen und zu sagen,
ja, nur wenn das und das der Zustand erreicht ist,
oder wenn das und das passiert ist,
oder wenn das da ist, dann mache ich das.
Wobei es sich im Wesentlichen erstmal auf die Steuerfluss jetzt hier bezieht,
bei den konkreten Beschwerdebogen sehen wir jetzt ja gar nicht,
was das für eine Auswirkung hat oder was damit passiert.
Wir sagen nur, das soll da irgendwie da sein.
So, dann schalten wir also weiter. Was machen wir
dann? Dann machen wir unser Check-Processing. Das heißt,
wir machen jetzt die Bewertung, was wir da gemacht haben.
Kann ja irgendwas bei rauskommen
Und entsprechend kann ich jetzt zwischen 10 und 11 warten.
Ich kann das eine neunte Prüfung machen,
kann sie wieder durchlaufen, nochmal durchlaufen, hier mehrfach.
Oder ich kann das Ganze jetzt abschließen, was wir jetzt auch tun.
Da wir auch immer zum Ende kommen und sagen,
okay, gut, das war jetzt in Ordnung,
haben wir so abgearbeitet und das ergibt sich dann.
So, und entsprechend dann wird es hierhin narchiviert,
weil das ist die letzte Aktion,
die wir da drin haben und wir legen das Ganze ab.
So, damit haben wir jetzt einfach mal so einen Eindruck,
welche Aktivitäten da stattfinden.
Nämlich wir haben hier so eine Art Nebenläufigkeitsanstoßung sozusagen
Schlecht Deutsch sozusagen zu formulieren, irgendwelche direkten Verabarbeitungen sequenziell,
wir haben hier Alternativen drin, wir haben hier Nebenbedingungen drin,
wir haben Schleifen drin, all das ist etwas, was wir,
und hier natürlich die, hier ist Blit und Join sozusagen,
das Auseinandergehen und wir zusammenführen von Kontrollfluss,
haben wir in irgendeiner Form dabei.
Das bedeutet, wir haben also eine ganze Menge Möglichkeiten da drin,
Abläufe im Unternehmen zu beschreiben, nämlich eigentlich so die meisten Dinge,
die euch erstmal so spontan direkt einfallen dürften,
sollte man hiermit abbilden können.
So, jetzt haben wir die Frage,
was für Netze haben wir denn jetzt aber hier eigentlich vorliegen
Was sind jetzt die Besonderheiten von diesem Netz? Und wie
definiere ich das jetzt allgemein? Das war sozusagen das,
was der Will van der Altsicht dann halt nett überlegt hat
und entsprechend aufgeschrieben hat. So, NVT-Netz heißt Workflow Netz,
falls es zwei besondere Plätze gibt, A und E,
die eben im Vorbereich nichts haben und im Nachbereich nichts haben,
beziehungsweise das A im Vorbereich nichts und das E im Nachbereich nichts.
Das ist nämlich der Staat und das Ende von diesem Workflow.
Haben wir genau hier drin,
wir haben da das A und da haben wir das E,
das ist das, was wir da gerne drin haben möchten.
Das sind diese beiden entsprechenden markierten Stellen
So, was haben wir noch? Jetzt kommt noch ein
B dazu. Alle Plätze und Transitionen auf Faden zwischen A
und E liegen. Ist das so? Naja,
jede Transition hier kann ich irgendwie auf so einem Pfad irgendwo feststellen,
wenn ich das so mal so angucke.
Ja, also ich kann das irgendwie sehen,
auf dem Pfad liegen die irgendwo.
Ob sie wirklich drankommen, ist damit nicht sichergestellt,
ist klar. Hatten wir gerade eben gesehen. Ich bin
hier unten auch gar nicht hingekommen bei zehn. So,
und das brauche ich jetzt noch für ein Workload Netz.
Ich brauche noch eine Anfangsmarkierung und eine Endemarkierung,
wo ich sage, okay, das Ist etwas,
was wir da drin, auch noch definieren möchten,
ist man die Anfangsmarke, möchte ich haben,
damit ich auch ein Verhalten dann in das Netz reinbekomme.
Und ich sorge dafür, dass die Anfangsbewegung so aussieht,
dass ich in die A stelle,
am Anfang halt genau diese eine Marke entsprechend draufpacke.
So, und jetzt ist die Frage, ist jetzt immer so,
dass da hinten immer nur eine Macke ankommt oder kann was
liegen bleiben und so weiter und so fort.
Also das ist ja die Frage, die sich Richtung Korrektheit dann wieder bewegen.
Und da muss man halt mal schauen, wie das aussieht. So,
jetzt habe ich aber ja nicht nur einen einzigen Kunden,
den ich bearbeiten möchte, sondern ich habe ja eigentlich mehrere Fälle.
Ich muss also für mehrere Leute das sozusagen abarbeiten
Und dann gehe ich hin und packe hier ganz viele Marken
drauf und dann habe ich jetzt ein Problem. Also,
ne, ich habe jetzt hier Case 3 und Case 1 und Case irgendwas hier,
denkt euch welche aus, Case 5, irgendwelche entsprechende Marken, die euch zusammengehören.
Das schreit geradezu nach dieser Lösung hier oben,
dass man sagt, okay,
irgendwie hätte ich jetzt gern ein gefärbtes Netz und ich gehe hin und sage,
okay, dann mache ich da mal so einen roten Böppel draus und die mache ich grün und die mache ich blau und ja,
da kann ich dann auch noch so einfärben,
je nachdem, wie ich das jetzt gerade haben möchte,
die werde ich aber jetzt nicht alle bunt anmalen,
glaube ich hier
So, das heißt,
wir können also jetzt das Ganze färben in der Hinsicht,
dass wir diese zusammengehörigen Dinge so packen und sagen,
wenn ihr jetzt eine Transition schaltet,
dann muss immer die gleichen Farben dann als Schaltmodi auch nur benutzen,
weil sonst wäre hier eine Menge aktiviert an den Stellen gleichzeitig für tausend Sachen,
obwohl eben das hier noch gar nicht so weit ist oder so.
So, was wir dann beim nächsten Mal ein bisschen angucken werden,
ist, dass es dann entsprechend typische Strukturen gibt.
Es gibt so Workflow-Patterns, die kann man entsprechend beschreiben.
Diese Patterns sind zufälligerweise auch vom Begriff her an die Patterns 200 Promimierung angelegt,
sind aber da einen Ticken anders zu sehen und gibt es eine ganze Liste davon,
die auch in den verschiedenen Werkzeugen oder entsprechenden Beschreibungssprachen entsprechend drin sind.
Manche werden von allen hier unterstützt.
Inzwischen werden eigentlich fast alle Konstrukte von allen Umgebungen unterstützt.
Und das werden wir noch ein bisschen angucken.
Und wir werden dann auf diese nebenläufigen und sequenziellen Dinge eingehen.
Und was man dann dafür wiederum einführt,
dass man solche komischen Dinge hat, dass man sagt,
ich habe eine Transition, aber nur eine Marke kommt an der Ecke raus.
Das war eine der Dinge, die lange Zeit dagegen gesprochen haben,
ist im Fitness-Bereich, sich diese Netze durchgesetzt haben.
Weil wir einmal eine Transition im Nachbereich nur eine Marke ausspuckt,
obwohl sie zwei Ausgangskanten hat.
Das ist etwas, was natürlich verboten ist,
aus Sicht der Petri-Netzsemantik
Wenn ich aber die Semantik dahinter so lege,
dass ich sage, ich habe dahinter ein Netz liegen,
was genau Semantik hat, das entweder da oder dort was rauskommt,
dann kann man das durchaus ja machen.
Das wird auch genauso inzwischen zu gesehen. Die spannende Frage ist,
was ist das eigentlich hier für eine komische Geschichte mit dem Ohr?
Und das guckt ihr euch bitte mal zum nächsten Mal nochmal genauer an,
damit wir am Donnerstag,
dass wir gemeinsam hier besprechen können,
was das Ohr und XO denn eigentlich bedeutet und welche verschiedenen Möglichkeiten das Implicit und Explicit or,
was das eigentlich aussagt, gedanklich.
Und was man damit eigentlich anstellt oder nicht anstellt bei
der Modellierung
Ja, wir entsprechen in Formen dafür,
werden wir uns dann anschauen und wie wir das dann Ganze noch so ein bisschen adoptieren kann,
dass man sagen kann, okay, das passiert automatisch,
das wird durch den Benutzer von außen gemacht.
Das war genau das, was ich gerade meinte,
dass man irgendwie diese Sachen von außen versucht mit aufzunehmen,
was zu der Zeit, wie das eingeführt wurde,
schon lange state of the art war.
Aber insbesondere eben auch Nachrichten, Benachrichtigungen oder eben Ereignisse als
System und Zeit wurde mit eingebaut. Auch das Dinge,
die die Leute nicht so gern in diesen Netzen erstmal haben wollten.
Es gibt durchaus ja zwei größere Communities im Periods-Bereich,
nämlich Lidly mit und die, die ohne Zeit arbeiten,
zum Beispiel Rassisch und Nicht-Trassische Netze,
da werde ich euch aber in dieser Veranstaltungsfreiheit nicht mehr allzu viel mit belästigen,
aber die Ausdrucksmöglichkeiten könnt ihr dann in anderen Veranstaltungen nochmal sehen.
So, und was wir damit machen und welche Vorzüge wir
da haben, sehen wir dann beim nächsten Mal.
Also,
dann bis Donnerstag