Treffer: JavaScript framework for actor-based programming

Title:
JavaScript framework for actor-based programming
Publisher Information:
University of Malta
Faculty of Information and Communication Technology. Department of Computer Science
Publication Year:
2022
Collection:
University of Malta: OAR@UM / L-Università ta' Malta
Document Type:
Dissertation bachelor thesis
Language:
English
Rights:
info:eu-repo/semantics/restrictedAccess ; The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder.
Accession Number:
edsbas.230BD60B
Database:
BASE

Weitere Informationen

B.Sc. (Hons)(Melit.) ; 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 ...