Jaka jest różnica między modelem współbieżności aktora a komunikowaniem procesów sekwencyjnych

26

Usiłuję objąć głowę prawdziwymi różnicami między modelem współbieżności aktora a modelem współbieżności procesów komunikacji sekwencyjnej (CSP).

Do tej pory najlepsze, co udało mi się wymyślić, to to, że Model aktora pozwala na zmianę liczby i układu węzłów, podczas gdy CSP ma stałą strukturę węzłów.

twhitlock
źródło
1
Zobacz także Model aktora na ~ 14: 45 na kanale 9, gdzie Carl Hewitt omawia Model aktora dogłębnie. Zauważa, że ​​różnica między aktorami a CSP polega na wykorzystaniu kanałów komunikacji w CSP na bezpośrednią komunikację w Modelu aktorskim.
Whymarrh,

Odpowiedzi:

18

Uważam, że podstawową różnicą jest to, że w CSP procesy synchronizują się po otrzymaniu wiadomości (tzn. Wiadomości nie można wysłać z jednego procesu, chyba że inny proces jest w trybie odbioru), podczas gdy model aktora jest z natury asynchroniczny (tj. Wiadomości są natychmiast wysyłane do adres innych procesów, niezależnie od tego, czy aktywnie czekają na wiadomość, czy nie).

Powinna być jednak inna, bardziej rozwinięta odpowiedź.

Daniel Apon
źródło
1
To właściwie odpowiedź, którą bym napisał. W oryginalnym modelu aktorskim (Hewitt, Agha) proces odbioru nie zapewniał nawet automatycznie dostępu do nazwy nadawcy, choć bardziej nowoczesne realizacje (takie jak aktorzy Scali). Inną różnicą jest to, że aktorzy umożliwiają wysyłanie identyfikatorów aktorów w wiadomościach, jak wskazano w pytaniu, podczas gdy nie jest to możliwe w CSP. (Możliwe również w rachunku różniczkowym, ale nie w CCS.)
Dave Clarke
Więc w zasadzie chodzi o skrzynkę pocztową?
Jörg W Mittag
Co z różnicami wymienionymi tutaj: en.wikipedia.org/wiki/… i en.wikipedia.org/wiki/… ? Inną ważną różnicą dla wcześniejszych wersji CSP jest nieograniczony niedeterminizm (patrz te linki).
Blaisorblade,
2
Nie jestem pewien, czy to podstawowa różnica, ponieważ CSP może mieć buforowane kanały umożliwiające asynchroniczne wysyłanie wiadomości. Być może chodzi bardziej o identyfikator procesu, w procesach CSP procesy są anonimowe, a aktorzy są nazywani.
CMCDragonkai