Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Actra-a multitasking/multiprocessing smalltalk
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
Using continuations to implement thread management and communication in operating systems
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Proceedings of the ACM 2000 conference on Java Grande
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Concurrent Programming in Java: Design Principles and Patterns
Concurrent Programming in Java: Design Principles and Patterns
Java Virtual Machine Specification
Java Virtual Machine Specification
Programming dynamically reconfigurable open systems with SALSA
ACM SIGPLAN Notices
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Engines build process abstractions
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Continuation-based multiprocessing
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Evaluating distributed functional languages for telecommunications software
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors
LCN '04 Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Concurrency oriented programming in termite scheme
Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
Why events are a bad idea (for high-concurrency servers)
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
Making events less slippery with eel
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
Flash: an efficient and portable web server
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Event-Based programming without inversion of control
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Responders: language support for interactive applications
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Linguistic symbiosis between actors and threads
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Connector Rewriting with High-Level Replacement Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Linguistic symbiosis between event loop actors and threads
Computer Languages, Systems and Structures
Amalgamating sessions and methods in object-oriented languages with generics
Theoretical Computer Science
Actors in a new "highly parallel" world
Proceedings of the Warm Up Workshop for ACM/IEEE ICSE 2010
Context-oriented programming with EventJava
International Workshop on Context-Oriented Programming
IWMSE '09 Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering
Actor frameworks for the JVM platform: a comparative analysis
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
EventJava: An Extension of Java for Event Correlation
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Implementing joins using extensible pattern matching
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Scalable i/o event handling for GHC
Proceedings of the third ACM Haskell symposium on Haskell
Inferring ownership transfer for efficient message passing
Proceedings of the 16th ACM symposium on Principles and practice of parallel programming
LADS'10 Proceedings of the Third international conference on Languages, methodologies, and development tools for multi-agent systems
Supporting Deadline Constrained Distributed Computations on Grids
GRID '11 Proceedings of the 2011 IEEE/ACM 12th International Conference on Grid Computing
Parallel programming in morpho
PARA'10 Proceedings of the 10th international conference on Applied Parallel and Scientific Computing - Volume Part I
Programming and deployment of active objects with application-level scheduling
Proceedings of the 27th Annual ACM Symposium on Applied Computing
TransDPOR: a novel dynamic partial-order reduction technique for testing actor programs
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Node.Scala: implicit parallel programming for high-performance web services
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
Ownership-Based isolation for concurrent actors on multi-core machines
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Load balancing non-uniform parallel computations
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Hi-index | 0.00 |
There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer. In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM.