actorom


Actors Concurrency in Java, made simple

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

  • July 02, 2011 : http://actorom.googlecode.com/files/actorom-0.4-dist.zip'>Actorom 0.4 GA
  • July 27, 2009 : Actorom 0.3 GA
  • April 29, 2009 : Actorom 0.2 GA
  • March 29, 2009 : Actorom 0.1 GA

  • Project Information

    Labels:
    java actors concurrency