
actorom
Actorom : Java-based Actors Object Model
Actorom is a pure Java implementation of the Actors Concurrency Model, aimed at making message-passing concurrency mainstream in everyday Java development.
Features
- Based on Java 5 and annotations.
- Intuitive, minimal APIs.
- Object model best fitting the main concepts behind the Actors model.
- Support for local, in-memory, actors, as well as remote actors based on the client/server paradigm.
- Support for lightweight threads, as well as native ones.
- Very fast.
- Linearly scalable.
Actorom and the Actors Concurrency Model
The Actors Concurrency Model is a form of message-passing concurrency, based on the following concepts:
- Actor: the computational unit capable of sending messages and reacting to received ones by executing a given function.
- Message: the form of communication used by actors in order to exchange data and carry on some kind of computation based on that data.
- Mailbox: a kind of buffer every actor has for storing received messages which haven't been processed yet.
Every actor can send messages to other actors by obtaining their mailbox "address"
: this is the only way an actor has for changing the state of the system.
Every actor can receive messages and process them by executing a behavior function: such a function can only change the state of the actor itself, or send new messages to other actors (already existent or created on-the-fly).
Every actor is completely asynchronous and decoupled.
Actorom provides an object model based on almost the same concepts and interactions:
- Topology: is the main access point you use for spawning and retrieving actors.
- Actor: is the object you use for send your messages.
- Handler: is the plain old java object you write for implementing the behavioral methods that react to received messages.
- Message: is the plain old java object you write for implementing your communication.
Moreover, it provides the following advanced features:
- Futures.
- Links.
- Dynamic code swapping.
- Exit traps.
- Fail-over and restart policies.
Plus a nice DSL to make dealing with actors easier and even more intuitive!
Do you want to know more?
Then take a look at the documentation and example sections below!
Documentation
- Getting Started Tutorial
- Install Guide
- Concepts Guide
Source code examples
- Local Actors Ping-Pong Test
- Remote Actors Ping-Pong Test
Releases
Project Information
- License: Apache License 2.0
- 66 stars
- svn-based source control
Labels:
java
actors
concurrency