Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2824815.2824821acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Akka.js: towards a portable actor runtime environment

Published: 26 October 2015 Publication History

Abstract

Multiple mature implementations of the actor model of concurrency exist. Besides several ones available for the Java Virtual Machine, there are others, for example, written in SmallTalk or in C++, targeting native platforms or other virtual machines. Recently, runtime environments for platforms such as GPUs have also appeared. However, so far, no full-featured, distributed actor runtime environment has allowed actor programs to run, unchanged, on both Java and JavaScript virtual machines. This paper describes our ongoing effort in providing a portable implementation of the widely-used Akka actor framework.

References

[1]
AJAX. https://developer.mozilla.org/en-US/docs/ AJAX.
[2]
Common.js. http://requirejs.org/docs/commonjs. html.
[3]
EcmaScript 6. http://wiki.ecmascript.org/doku. php?id=harmony:specification_drafts.
[4]
EcmaScript 6 - Modules. http://wiki.ecmascript.org/ doku.php?id=harmony:modules.
[5]
List of languages that compile to JS. https: //github.com/jashkenas/coffeescript/wiki/ list-of-languages-that-compile-to-JS.
[6]
Node.js. http://nodejs.org.
[7]
Redmonk programming language rankings: Summer 2015. http://redmonk.com/jgovernor/2015/07/31/ programming-language-rankings-summer-2015/.
[8]
A short history of JavaScript. https://www.w3. org/community/webed/wiki/A_Short_History_of_ JavaScript.
[9]
Single-page application. https://en.wikipedia.org/ wiki/Single-page_application.
[10]
G. A. Agha. ACTORS - a model of concurrent computation in distributed systems. MIT Press, 1990.
[11]
J. Armstrong. Erlang — a survey of the language and its industrial applications. In INAP’96 — The 9th Exhibitions and Symposium on Industrial Applications of Prolog, pages 16–18, Oct. 1996.
[12]
J. Armstrong. Erlang. Commun. ACM, 53(9):68–75, 2010.
[13]
D. Charousset, R. Hiesgen, and T. C. Schmidt. CAF - the C++ actor framework for scalable and resource-efficient applications. In AGERE!@SPLASH, pages 15–28. ACM, 2014.
[14]
S. Doeraene. Scala.js. http://www.scala-js.org/, 2013.
[15]
P. Haller. On the integration of the actor model in mainstream technologies: The Scala perspective. In AGERE!@SPLASH, pages 1–6. ACM, 2012.
[16]
P. Haller and M. Odersky. Scala actors: Unifying thread-based and event-based programming. Theor. Comput. Sci, 410(2- 3):202–220, 2009.
[17]
S. Halloway. Programming Clojure. The Pragmatic Bookshelf, Raleigh, NC, 2009.
[18]
C. Hewitt. Viewing control structures as patterns of passing messages. Artif. Intell, 8(3):323–364, 1977.
[19]
C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21(8):666–677, 1978.
[20]
T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley, Reading, MA, second edition, 2000.
[21]
B. Liskov and L. Shrira. Promises: Linguistic support for efficient asynchronous procedure calls in distributed systems. In PLDI, pages 260–267. ACM, 1988.
[22]
J. Maassen, R. van Nieuwpoort, R. Veldema, H. E. Bal, and A. Plaat. An efficient implementation of Java’s remote method invocation. In PPOPP, pages 173–182, Aug. 1999.
[23]
E. Meijer. Your mouse is a database. Commun. ACM, 55(5):66–73, 2012.
[24]
H. Miller, P. Haller, E. Burmako, and M. Odersky. Instant pickles: generating object-oriented pickler combinators for fast and extensible serialization. In OOPSLA, pages 183–202. ACM, 2013.
[25]
H. Miller, P. Haller, L. Rytz, and M. Odersky. Functional programming for all! Scaling a MOOC for students and professionals alike. In ICSE Companion, pages 256–263. ACM, 2014.
[26]
D. Nolen and contributors. ClojureScript. https://github. com/clojure/clojurescript, 2011.
[27]
M. Odersky and T. Rompf. Unifying functional and objectoriented programming with Scala. Commun. ACM, 57(4):76– 86, 2014.
[28]
D. Ongaro and J. K. Ousterhout. In search of an understandable consensus algorithm. In USENIX Annual Technical Conference, pages 305–319. USENIX Association, 2014.
[29]
M. Philippsen, B. Haumacher, and C. Nester. More efficient serialization and RMI for Java. Concurrency - Practice and Experience, 12(7):495–518, 2000.
[30]
Typesafe, Inc. Akka. http://akka.io/, 2009.

Cited By

View all
  • (2023)Efficient regression testing of distributed real-time reactive systems in the context of model-driven developmentSoftware and Systems Modeling10.1007/s10270-023-01086-522:5(1565-1587)Online publication date: 6-Mar-2023
  • (2022)PerformERL: a performance testing framework for erlangDistributed Computing10.1007/s00446-022-00429-735:5(439-454)Online publication date: 1-Aug-2022
  • (2020)A Delta-Debugging Approach to Assessing the Resilience of Actor Programs through Run-time Test PerturbationsProceedings of the IEEE/ACM 1st International Conference on Automation of Software Test10.1145/3387903.3389303(21-30)Online publication date: 7-Oct-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
AGERE! 2015: Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control
October 2015
64 pages
ISBN:9781450339018
DOI:10.1145/2824815
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Actors
  2. Java
  3. JavaScript
  4. Scala
  5. portability

Qualifiers

  • Research-article

Conference

SPLASH '15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 19 of 35 submissions, 54%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Efficient regression testing of distributed real-time reactive systems in the context of model-driven developmentSoftware and Systems Modeling10.1007/s10270-023-01086-522:5(1565-1587)Online publication date: 6-Mar-2023
  • (2022)PerformERL: a performance testing framework for erlangDistributed Computing10.1007/s00446-022-00429-735:5(439-454)Online publication date: 1-Aug-2022
  • (2020)A Delta-Debugging Approach to Assessing the Resilience of Actor Programs through Run-time Test PerturbationsProceedings of the IEEE/ACM 1st International Conference on Automation of Software Test10.1145/3387903.3389303(21-30)Online publication date: 7-Oct-2020
  • (2020)Efficient reordering and replay of execution traces of distributed reactive systems in the context of model-driven developmentProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems10.1145/3365438.3410939(285-296)Online publication date: 16-Oct-2020
  • (2018)Parallel and Distributed Web Programming with ActorsProgramming with Actors10.1007/978-3-030-00302-9_1(3-31)Online publication date: 7-Sep-2018
  • (2017)Simpler Coordination of JavaScript Web WorkersCoordination Models and Languages10.1007/978-3-319-59746-1_3(40-58)Online publication date: 27-May-2017
  • (2016)Many spiders make a better web: a unified web-based actor frameworkProceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control10.1145/3001886.3001892(51-60)Online publication date: 30-Oct-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media