Home

aktörmodeller

Aktörmodellerna är en teoretisk och praktisk ram för samtidighet och distribuerade system där beräkningsenheter kallas aktörer. Konceptet introducerades av Carl Hewitt på 1970-talet och används för att beskriva hur autonoma enheter, som har eget tillstånd, kan skapa nya aktörer, skicka meddelanden till varandra och uppdatera sitt beteende utan delat minne. Kommunikation sker vanligtvis asynkront via postlådor, vilket gör att varje aktör bearbetar meddelanden i egen takt.

Kärnidéerna i aktörmodellerna är encapsulation, kommunikation genom meddelanden och oberoende aktörrnas tillstånd. Varje aktör innehåller sitt

Semantik och egenskaper: systemet blir i hög grad parallellt och felisolering uppnås eftersom aktörer inte delar

Historia, påverkan och användning: aktörmodellen har stark påverkan på moderna ramverk och språk som Erlang, Akka

Jämförelser och begränsningar: jämfört med trådar och delat minne undviks race conditions men kan öka komplexiteten

eget
minnesstate
och
har
full
kontroll
över
hur
den
svarar
på
inkommande
meddelanden.
När
en
aktör
utför
en
åtgärd
kan
den
skapa
nya
aktörer,
skicka
vidare
meddelanden
och
ändra
sitt
beteende
för
framtida
händelser.
Delat
minne
undviks,
vilket
minskar
risker
för
datarace
och
behov
av
låsning
i
konkurrensutsatta
miljöer.
tillstånd
direkt.
Leveransgaranti
och
ordning
av
meddelanden
varierar
mellan
olika
implementationer;
vissa
garanterar
exakt
en
gång,
andra
erbjuder
högre
eller
lägre
garantier.
Eftersom
meddelanden
kan
ankomma
i
olika
ordningar
krävs
ofta
designmönster
för
att
hantera
asynkronitet
och
icke-determinism.
(Scala/Java),
Pony
och
Orleans.
Användningen
är
vanlig
i
distribuerade,
skalbara
och
felbeständiga
system
där
asynkron
kommunikation
och
isolation
mellan
komponenter
är
centrala
krav.
i
meddelandeordning,
debugging
och
systemdesign.
Prestanda
påverkas
av
meddelandeflöden
och
mailboxhantering,
men
modellen
erbjuder
ofta
bättre
felisolering
och
skalbarhet.