Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/107017
Title: JavaScript framework for actor-based programming
Authors: Buhagiar, Andrew (2022)
Keywords: JavaScript (Computer program language)
Node.js
Issue Date: 2022
Citation: Buhagiar, A. (2022). JavaScript framework for actor-based programming (Bachelor's dissertation).
Abstract: This dissertation explores the suitability of the actor model when used to bring concurrency and parallelism to JavaScript. Actors are concurrent isolated units of computation which process messages using their predefined behaviour. The prototype takes the form of two frameworks for both the Node.js and browser environments respectively, allowing developers to intuitively reason about engineering JavaScript programs through the spawning and sending of messages to actors. Isolated actors can be safely spawned on remote devices over a network as well as utilise multiple cores on a local processor. This allows for distributed and parallel computation which have the potential of shortening the time taken when executing computationally intensive tasks. A WebSocket server is used to connect a finite number of Node.js instances and browsers hosting actors over the network. Faster communication links are explored using inter-process communication when hosting multiple processes on a local device. The prototype abstracts the adaptive use of different communication links and provides location transparency for remote actors. Benchmarks analyse the frameworks’ performance when used on a single instance using Node.js or a browser, as well as the speedup introduced when utilising additional local or distributed cores working on the same task. This dissertation’s implementation is evaluated against existing JVM and JavaScript actor framework implementations. It performs Savina benchmarks faster than other actor frameworks while demonstrating near linear performance when distributing a task over multiple cores. The relative performance of the communication links used when distributing actors is also explored. Browsers are found on devices such as smart fridges and TVs, each of which is able to run JavaScript defined behaviour. Using this prototype, Node.js server-side applications would be able to host actors which can communicate with actors hosted on browsers, enabling uniform and flexible scaling of applications. Moreover, the limitations of the prototype are discussed, as well as its untapped potential when it comes to freezing and migrating actors across the web.
Description: B.Sc. (Hons)(Melit.)
URI: https://www.um.edu.mt/library/oar/handle/123456789/107017
Appears in Collections:Dissertations - FacICT - 2022
Dissertations - FacICTCS - 2022

Files in This Item:
File Description SizeFormat 
21BCS002 - Buhagiar Andrew.pdf
  Restricted Access
4.22 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.