Several programming and formal modeling languages are designed based on actors. Each language has certain policies for message delivery between actors and for handling the messages in the buffers. These policies are implicit in the semantics of each language. One can infer interesting properties of actor languages related to communication and coordination based on different policies and their interactions. We define the “Transparent Actor” model where we make policies explicit as points of possible variations. We identify an abstract network entity and define the semantics of Transparent Actors in three parts: actors, network, and composition. We define a core actor language named Babel as a basis to describe the semantics of Transparent Actors using structural operational semantics (SOS) rules with variation points. These parametric rules make the implicit policies clear and can be used as a template to define the semantics of different actor-based languages. We evaluate the applicability of the template by examining the semantics for actor-based languages Rebeca, Lingua Franca, ABS, AKKA, and Erlang. We implemented Babel in Maude as a proof of concept, then concretized the parametric rules to implement some of the above languages. We considered a few properties, checked them via a set of designated litmus test cases using our Maude implementations, and discussed the policy interactions.
Mon 15 MayDisplayed time zone: Hobart change
11:00 - 12:30
|A Dafny-based approach to thread-local information flow analysis
Graeme Smith The University of Queensland
|Transparent Actor Model
|Using cylindric algebra to support local variables in rely/guarantee concurrency