2.2 Berechnungsmodelle
43
– Nachrichtenaustausch (engl. message passing): Beim Nachrichtenaustausch
kommunizieren Prozesse durch das Versenden von Nachrichten miteinander.
Diese Methode lässt sich auch dann einfach implementieren, wenn kein gemeinsamer Speicher zur Verfügung steht. Allerdings ist Nachrichtenaustausch
meist langsamer als Kommunikation über gemeinsamen Speicher. Für diese
Kommunikationsmethode wird zwischen den folgenden drei Techniken unterschieden:
· Beim asynchronen Nachrichtenaustausch, auch nicht-blockierende Kommunikation genannt, kommunizieren die Komponenten durch Senden von
Nachrichten über Kanäle, die Nachrichten puffern können. Der Sender muss
also nicht warten, bis der Empfänger bereit ist, die Nachricht zu empfangen.
Dies entspricht dem Versenden eines Briefs oder einer Email. Hier kann
potenziell das Problem auftreten, dass die Nachrichten gespeichert werden
müssen und die Nachrichtenpuffer überlaufen können. Verschiedene Sprachen, wie z.B. SDL (siehe Seite 68) und SDF (siehe Seite 78), nutzen diese
Kommunikationsmethode.
· Bei synchronem Nachrichtenaustausch, auch blockierende Kommunikation oder Rendez-Vous-Kommunikation genannt, kommunizieren die
Komponenten mittels atomarer, unverzögerter Aktionen, die Rendez-Vous
genannt werden. Derjenige Kommunikationspartner, der die entsprechende
Codestelle zuerst erreicht, muss auf den anderen Partner warten. Dies entspricht einem Treffen oder einem Telefonanruf. Beispiele hierfür sind CSP
(siehe Seite 122) und Ada (siehe Seite 123).
· Erweitertes Rendez-Vous (auch entfernter Methodenaufruf) erweitert die
Rendez-Vous-Kommunikationsmethode dahingehend, dass der Sender nur
dann mit seiner Programmausführung fortfahren darf, wenn eine Bestätigung für die versendete Nachricht erhalten wurde. Der Empfänger muss
diese Nachricht aber nicht unmittelbar nach Empfang der Nachricht senden,
vielmehr kann er z.B. die empfangenen Nachrichteninhalte vor dem Senden
der Bestätigung überprüfen und, falls erforderlich, bei Fehlern eine andere
Antwort senden.
• Organisation von Berechnungen innerhalb der Komponenten:
– Differentialgleichungen: Mit Differentialgleichungen lassen sich analoge
Schaltkreise und physikalische Systeme modellieren. Damit finden sie Anwendung in der Modellierung cyber-physikalischer Systeme.
– Endliche Automaten (engl. Finite State Machines (FSMs)): Dieses Modell
basiert auf einer endlichen Menge von Zuständen, Ein- und Ausgaben sowie
Transitionen zwischen Zuständen. Es kann vorkommen, dass mehrere endliche Automaten kommunizieren müssen, diese bilden dann kommunizierende
endliche Automaten (engl. Communicating Finite State Machines (CFSMs)).
– Datenfluss: Im Datenflussmodell triggert die Verfügbarkeit von Daten (d.h.
der Operanden) die Ausführung von Operationen.
– Diskretes Ereignismodell: In diesem Modell tragen alle Ereignisse einen
vollständig geordneten Zeitstempel, der die Zeit angibt, zu der das Ereig-
43
– Nachrichtenaustausch (engl. message passing): Beim Nachrichtenaustausch
kommunizieren Prozesse durch das Versenden von Nachrichten miteinander.
Diese Methode lässt sich auch dann einfach implementieren, wenn kein gemeinsamer Speicher zur Verfügung steht. Allerdings ist Nachrichtenaustausch
meist langsamer als Kommunikation über gemeinsamen Speicher. Für diese
Kommunikationsmethode wird zwischen den folgenden drei Techniken unterschieden:
· Beim asynchronen Nachrichtenaustausch, auch nicht-blockierende Kommunikation genannt, kommunizieren die Komponenten durch Senden von
Nachrichten über Kanäle, die Nachrichten puffern können. Der Sender muss
also nicht warten, bis der Empfänger bereit ist, die Nachricht zu empfangen.
Dies entspricht dem Versenden eines Briefs oder einer Email. Hier kann
potenziell das Problem auftreten, dass die Nachrichten gespeichert werden
müssen und die Nachrichtenpuffer überlaufen können. Verschiedene Sprachen, wie z.B. SDL (siehe Seite 68) und SDF (siehe Seite 78), nutzen diese
Kommunikationsmethode.
· Bei synchronem Nachrichtenaustausch, auch blockierende Kommunikation oder Rendez-Vous-Kommunikation genannt, kommunizieren die
Komponenten mittels atomarer, unverzögerter Aktionen, die Rendez-Vous
genannt werden. Derjenige Kommunikationspartner, der die entsprechende
Codestelle zuerst erreicht, muss auf den anderen Partner warten. Dies entspricht einem Treffen oder einem Telefonanruf. Beispiele hierfür sind CSP
(siehe Seite 122) und Ada (siehe Seite 123).
· Erweitertes Rendez-Vous (auch entfernter Methodenaufruf) erweitert die
Rendez-Vous-Kommunikationsmethode dahingehend, dass der Sender nur
dann mit seiner Programmausführung fortfahren darf, wenn eine Bestätigung für die versendete Nachricht erhalten wurde. Der Empfänger muss
diese Nachricht aber nicht unmittelbar nach Empfang der Nachricht senden,
vielmehr kann er z.B. die empfangenen Nachrichteninhalte vor dem Senden
der Bestätigung überprüfen und, falls erforderlich, bei Fehlern eine andere
Antwort senden.
• Organisation von Berechnungen innerhalb der Komponenten:
– Differentialgleichungen: Mit Differentialgleichungen lassen sich analoge
Schaltkreise und physikalische Systeme modellieren. Damit finden sie Anwendung in der Modellierung cyber-physikalischer Systeme.
– Endliche Automaten (engl. Finite State Machines (FSMs)): Dieses Modell
basiert auf einer endlichen Menge von Zuständen, Ein- und Ausgaben sowie
Transitionen zwischen Zuständen. Es kann vorkommen, dass mehrere endliche Automaten kommunizieren müssen, diese bilden dann kommunizierende
endliche Automaten (engl. Communicating Finite State Machines (CFSMs)).
– Datenfluss: Im Datenflussmodell triggert die Verfügbarkeit von Daten (d.h.
der Operanden) die Ausführung von Operationen.
– Diskretes Ereignismodell: In diesem Modell tragen alle Ereignisse einen
vollständig geordneten Zeitstempel, der die Zeit angibt, zu der das Ereig-
