Towards a light-weight approach for concurrent active objects in Java ∗

The combination of object-orientation and concurrency can lead to severe programming difficulties. The Actor model has lately been used with success in object-oriented languages such as Scala, giving simpler synchronization and communication mechanisms. While Scala encourages functional style actor programming, the Creol language offers imperative style actor programming, and facilitates simple program reasoning. Verification of class invariants is similar to sequential style reasoning. In this paper we investigate an integration of this concurrency model in Java, providing a prototype implementation that facilitates Creol-style concurrent objects in Java. Although Java currently provides classes to support concurrent objects, asynchronous method calls, and futures, it requires a very heavy weight framework, discouraging experimentation with the programming model. We are developing a very lightweight (from the programmer’s perspective) approach to programming in this model using Java. In this paper we will describe our approach to programming concurrent objects in Java.