Implementace actor modelu pro programovací jazyk OCaml
An actor model implementation for the OCaml programming language
Type of document
bakalářská prácebachelor thesis
Author
Narek Vardanjan
Supervisor
Křikava Filip
Opponent
Špaček Petr
Field of study
Webové a softwarové inženýrstvíStudy program
InformatikaInstitutions assigning rank
katedra softwarového inženýrstvíRights
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Show full item recordAbstract
Aktor model je abstrakce pro konkurentní programování, která pracuje s aktory, nezávislými jednotkami. Tyto jednotky vznikají, aby si mezi sebou posílaly zprávy a následně podle nich měnily svůj stav. Zprávy aktor zpracovává postupně, čímž zaručí nutnou synchronizaci pro změnu stavu. Díky tomu se vyhne potřebě používat nízkoúrovňové synchronizační primitivy jakými jsou zámky. Práce popisuje návrh a implementaci hlavních částí aktor knihovny. Obsahuje stručné shrnutí klasického konkurentního modelu s jeho nedostatky a popis aktor modelu včetně příkladů vlivných implementací. Kromě základních konstrukcí aktor modelu pro spawnování, odesílání zpráv a změn stavu, implementuje i rozšířené funkcionality ve formě monitorování/linkování procesů či převody jmen na adresy konkrétních aktorů. Knihovna je napsaná v Objective Caml s využitím zajimavých aspektů tohoto jazyka. The actor model is an abstraction for concurrent programming, that uses actors, independent units of computations. These units are spawned, so they can communicate with each other via messages and change their states accordingly to them. Messages are processed serially, which guarantees needed synchronization for a state change. Thanks to that there is no need for using synchronization primitives like locks. The work describes the core parts of an actor model library implementation. It consists of a brief introduction to the classic concurrent model with its drawbacks. Then it introduces the actor model and its most influential flavors. Aside from the core constructs of spawning, sending messages, and state changes, the library implements additional functionality for monitoring/linking the actors and name resolving. The library is written in Objective Caml leveraging its language features.
Collections
- Bakalářské práce - 18102 [1724]