Linguistic symbiosis between event loop actors and threads

  • Authors:
  • Tom Van Cutsem;Stijn Mostinckx;Wolfgang De Meuter

  • Affiliations:
  • Programming Technology Lab, Vrije Universiteit Brussel, Brussels, Belgium;Programming Technology Lab, Vrije Universiteit Brussel, Brussels, Belgium;Programming Technology Lab, Vrije Universiteit Brussel, Brussels, Belgium

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In modern programming languages, concurrency control can be traced back to one of two different schools: actor-based message passing concurrency and thread-based shared-state concurrency. This paper describes a linguistic symbiosis between two programming languages with such different concurrency models. More specifically, we describe a novel symbiosis between actors represented as event loops on the one hand and threads on the other. This symbiosis ensures that the invariants of the actor-based concurrency model are not violated by engaging in symbiosis with multithreaded programs. The proposed mapping is validated by means of a concrete symbiosis between AmbientTalk, a flexible, domain-specific language for writing distributed programs and Java, a conventional object-oriented language. This symbiosis allows the domain-specific language to reuse existing software components written in a multithreaded language without sacrificing the beneficial event-driven properties of the actor concurrency model.