Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Actor model Novotný Marek Svata Bohuslav Lhotan Petr.

Podobné prezentace


Prezentace na téma: "Actor model Novotný Marek Svata Bohuslav Lhotan Petr."— Transkript prezentace:

1 Actor model Novotný Marek Svata Bohuslav Lhotan Petr

2 O čem to bude Úvod - Historie - Modely předcházející Actor modelu - Základy Actor modelu Formální systémy Využití Actor modelu Bob1 Bob2 Bob3 Petr 1 Petr 2 Petr 3 2

3 Historie r.1973 Carl Hewitt, Peter Bishop a Richard Steiger publikace návrhu r. 1985 dostává softwarovou podobu na MIT (Massachusetts Institute of Technology)Massachusetts Institute of Technology Inspirace ve Fyzikálních zákonech Ovlivněný programovacími jazyky Lisp, Simula, a jednou z prvních verzí Smalltalku Vytvářen s vidinou „možnst paralelního zpracovávání výpočtů tísícovkami mikroprocesorů“ 3

4 Předcházející modely Lambda Calculus - pro matematické učely (definice funkcí, rekurze) Simula (1. OOP jazyk) - objekty, třídy, metody, garbage collection Smalltalk - přebírá od Simuly - primitivní datové typy jako objekty Petri nets 4

5 Základy Actor modelu Přebírá filozofii „Všechno je Actor“ podobně jako u OOP „Všechno je Objekt“ Actor je „výpočetní“ entita, která může jako odpověď na přijatou zprávu - posílat určitý počet zprávy ostatním Actorům - vytvářet určitý počet nových Actorů - stanovit reakci která se má použít při příští přijaté zprávě Není žádná sekvence podle které se to uskutečňuje. Komunikace probíhá asynchronně. Souběžné „provádění“ během komunikování a dynamického vytváření Actorů. 5

6 Formální systémy Operational semantics - pro programovací jazyky popisuje jak jsou programy interpretovány jako sekvence výpočetních operací Laws for Actor systems Denotational semantics - přístup k formalizování významu programovacích jazyků vytvářením matematických objektů, které vyjadřují význam výrazů z jazyků. - počítačový program jako funkce, která „mapuje“ vstup na výstup Transition semantics 6

7 Využití Actor modelu Actor model může být používán jako framework pro modelování a pochopení konkurenčních systémů. Elektronická pošta - Actor je Emailový účet - Adresa je Emailová adresa Webové služby se SOAP Objekty se „zámky“ (např. Java,C#) kontrolující přístup pomocí vláken k objektu. Synchronizační mechanismus. Matematické modely 7

8 Komunikace Vychází z paketových sítí Přímá - Funguje bez bufferu / enviroment buffer Asynchronní - Nevyžaduje handshake Lokální

9 Komunikace Podobnost s IP pakety Actors mají adresy Adresy lze vkládat do vytvářených Actors Adresy posílány ve zprávách Odpověď je přímá nebo skrze prostředníka (resumption)

10 Komunikace Podobnost s IP pakety Pseudo packet switching zprávy mohou putovat různými cestami při neuspěchu doručení je zpráva zaslána znovu není zajištěno pořadí zpráv (přijaty v jiném než odeslány)

11 Komunikace Lokálnost Významná vlastnost actor modelu Actor může posílat zprávy pouze na známé adresy : – vložené při jeho vytvoření – zná ze zpracování předchozích zpráv – které přijal ve zprávě – adresy Actors, které sám vytvořil

12 Komunikace zpráva může upravovat chování příjemce může být využit pipelining zpracovávání zpráv Variabilní topologie vytváření Actors adresy ve zprávách Bezpečnost Adresu Actora lze odvodit šifrování // dodatečné úpravy + unbounded nondeterminism

13 Příklad PING PONG Definování zpráv posílaných aktéry case object Ping case object Pong case object Stop

14 Ping Pong V š e potřebn é v bal í čku scala.actors import scala.actors.Actor import scala.actors.Actor._

15 Ping Pong

16

17 object pingpong extends Application { val pong = new Pong val ping = new Ping(100000, pong) ping.start pong.start }

18 Ping Pong $ scalac pingpong.scala $ scala -cp. examples.actors.pingpong Pong: ping 0 Ping: pong Pong: ping 1000 Ping: pong Pong: ping 2000... Ping: stop Pong: stop

19 Testy výkonnosti

20 Zdroje http://lamp.epfl.ch/~phaller/doc/ActorsTutori al.html http://lamp.epfl.ch/~phaller/doc/haller07coor d.pdf


Stáhnout ppt "Actor model Novotný Marek Svata Bohuslav Lhotan Petr."

Podobné prezentace


Reklamy Google