Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/28134
Title: | Communicating generators in Javascript |
Authors: | Micallef, Kurt Vella, Kevin |
Keywords: | World Wide Web Computer science Parallel programming (Computer science) |
Issue Date: | 2016-08 |
Publisher: | Open Channel Publishing Ltd |
Citation: | Micallef, K., & Vella, K. (2016). Communicating generators in Javascript. Communicating Process Architectures 2016, Copenhagen. 87-119. |
Abstract: | This paper outlines the design, performance, and use of an application programming interface and library for concurrent programming with CSP in JavaScript. The implementation harnesses ECMAScript 6 Generators to provide cooperative scheduling and channel communication within a single JavaScript engine. External channels lie atop WebSockets, amongst other web technologies, to enable multicore and distributed execution across standard web browsers and Node.js servers. Low-level benchmarks indicate that scheduling and messaging performance is within expectations for this dynamic and diverse execution environment. Sample code snippets highlight the applicability of CSP to contemporary web development in hiding the location of computation and state through the channel abstraction. The ”callback hell” scenario common to many JavaScript applications is alleviated by using channels instead of callbacks, and the possibility of performing parallel and scientific computing is explored with promising results. Finally, the limitations of the present design are discussed, and possible enhancements such as the dynamic migration of state and code are considered. |
URI: | https://www.um.edu.mt/library/oar//handle/123456789/28134 |
Appears in Collections: | Scholarly Works - FacICTCS |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
2016 - CPA - JS Generators.pdf | 1.13 MB | Adobe PDF | View/Open |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.