Schauen wir uns zunächst einmal an, was mit dem Kausalitätsprinzip gemeint ist, was Kausalität
eigentlich bedeutet. Da werden wir sehen, dass es um die Frage der Parallelisierbarkeit von
Aktionen geht, wie eine Kausalordnung innerhalb von Programmen oder Anweisungen zu sehen ist und was
die Bedeutung von Aktionsfolgen eigentlich ist. Nun, solche nebenläufigen Aktionen sind Dinge,
die dann erst dann möglich sind, wenn sie praktisch durch ein nicht sequenzielles Programm
beschrieben worden sind. Das ist der große Unterschied zum Begriff des sequenziellen
Programms, wo man sagen kann, dass immer jede Anweisung im Endeffekt strikt nur
nacheinander stattfindet. Wenn wir Nebenläufigkeit erreichen wollen, dann müssen wir weg von dem
sequenziellen Programm hin zu dem nicht sequenziellen Programm, sodass wir dann halt eine Möglichkeit
besitzen, mehr als eine Aktion zugleich ablaufen lassen zu können. Die Nebenläufigkeit beschreibt
dann eben auch so ein Verhältnis von, wie man sagt, nicht-kausal abhängigen Ereignissen. Das
sind dann also Ereignisse, die sich nicht beeinflussen. Schauen wir uns mal an diesem Beispiel hier an,
an diesen einfachen fünf Programmzeilen. Da haben wir zum Beispiel hier die Aktion der Zuweisung in
der Zeile 1 und die Aktion der Zuweisung in der Zeile 2. Diese beiden Aktionen können
nebendräufig zueinander stattfinden, weil letztendlich die Zuweisung unterschiedliche
Ereignisse repräsentiert. Hier zum Beispiel konkret eben unterschiedliche Variablen betreffen,
die miteinander nichts zu tun haben. Jedenfalls in diesem Moment, wo wir die Zeilen 1 und 2 betreffen.
Dann haben wir die Zeilen 3 und 4, die hier interessant sind. Hier können wir sagen,
dass die Aktion der Zuweisung, wie auch die Aktion der Addition in Zeile 3, wie auch in
Zeile 4 zueinander nebendräufig stattfinden können. Aber man sieht halt bereits, dass praktisch die
Aktionen in Zeile 3 oder die Aktionen in Zeile 4 nicht nebendräufig zu 1 und 2 stattfinden können,
denn die variablen Funbaren müssen mit Werten vorbelegt werden können, damit wir überhaupt
erst die Addition durchführen können. Hier haben wir denn durchaus aufgrund der Logik des Programms
eine gewisse Sequenz zu sehen, die dann einzuhalten. Das Gleiche gilt in Bezug auf Zeile 5. Hier wurde
dann praktisch diese Anweisung, also die Aktion der Zuweisung, wie auch die Addition, jetzt dann
durchführbar wäre, wenn praktisch alle anderen Anweisungen abgelaufen sind. Nun in logischer
Hinsicht sind denn so eine Aktionen eben immer nur dann potenziell nebendräufig, wenn eben keine das
Resultat der anderen benötigt. In physischer Hinsicht bedeutet es, dass man praktisch für jede
dieser Aktionen, die wir gerade gesehen haben, eigentlich einen eigenen Aktivitätsträger benötigen,
der dann letztendlich eigentlich autonom agieren kann. Dieser Aktivitätsträger kann Fred sein,
kann Prozess sein im Endeffekt. So, Kausalität beschreibt dann die Beziehung zwischen der Ursache
und der Wirkung in Bezug auf wenigstens zwei Ereignissen. Das ist dann praktisch die ursächliche
Verbindung zwischen diesen Ereignissen. Und wir sagen, dass diese Ereignisse dann eben genau dann
nebendräufig stattfinden können oder auftreten, wenn eben keines Ursache des jeweiligen anderen
Ereignisses ist. Hier mal grafisch ein bisschen dargestellt oder vertieft, wie die Beziehung
zwischen dieser Ursache und Wirkung bezogen auf ein bestimmtes Ereignis zu sehen ist. Das ist das
Ereignis EI. Da haben wir jetzt hier, sagen wir mal, drei Prozesse A, B, C, die in ihrem jeweiligen
Verlauf Ereignisse generieren. Hier der A generiert ein Ereignisrecht zum Anfang, der Prozess B
generiert Ereignisse, Prozess C generiert Ereignisse, die immer jeweils durch diesen
schwarzen Kasten halt dargestellt sind. Wir sehen hier eine bestimmte Beziehung zwischen Ereignis
von Prozess A und Ereignisse von Prozess B. Das soll eine Ursache Wirkung Beziehung sein. Wir sehen
auch durchaus eine gewisse logische Beziehung innerhalb der einzelnen Programmsequenzen eines
Prozesses, indem wir sehen, dass bestimmte Ereignisse, wie hier zum Beispiel das zweite
Ereignis von Prozess B von der Logik des Programmablaufs erst implizit nach dem ersten
Ereignis stattfinden würde. Das gleiche gilt bei A und bei B in der Situation. Und all diese
Ereignisse, die jetzt hier in diesem rot unterlegten Bereich sind, die müssen dann stattgefunden haben,
damit einfach das Ereignis EI stattfinden kann. Das heißt, die Ursache von EI sind dann praktisch
all die Ereignisse, die in der Vergangenheit relativ zu EI stattgefunden haben. Wenn EI stattgefunden
hat, dann wirkt es. Dann kann das Ereignis eine gewisse Wirkung auf die weiteren Verläufe dieser
Prozesse ABC haben. Wir sehen also dann hier weitere Ereignisse, die dann daraufhin generiert
Presenters
Zugänglich über
Offener Zugang
Dauer
00:19:16 Min
Aufnahmedatum
2020-11-10
Hochgeladen am
2020-11-11 03:48:28
Sprache
de-DE