A Language for Multi-threaded Active Objects - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 2012

A Language for Multi-threaded Active Objects


The active object programming model is particularly adapted to easily program distributed objects: it separates objects into several activities, each manipulated by a single thread, preventing data races. However, this programming model has its limitations in terms of expressiveness -- risk of deadlocks -- and of efficiency on multicore machines. To overcome these limitations, this paper presents an extension of the active object model, called multi-active objects, that allows each activity to be multithreaded. The new model is implemented as a Java library and relies on method annotations to decide which requests can be run in parallel. It provides implicit parallelism, sparing the programmer from low-level concurrency mechanisms. We define the operational semantics of the multi-active objects and study the basic properties of this model. The benefits of our proposal are highlighted using two different applications: the NAS Parallel Benchmarks and a peer-to-peer overlay. This report presents the multi-active object programming model, its implementation in Java, its formal semantics and properties, and some experiments showing its efficiency.
Fichier principal
Vignette du fichier
RR-8021.pdf (794.77 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00720012 , version 1 (23-07-2012)
hal-00720012 , version 2 (15-02-2013)


  • HAL Id : hal-00720012 , version 2


Ludovic Henrio, Fabrice Huet, Zsolt István. A Language for Multi-threaded Active Objects. [Research Report] RR-8021, INRIA. 2012. ⟨hal-00720012v2⟩
284 View
241 Download


Gmail Facebook Twitter LinkedIn More