CAL: A Novel Actor Language


Researchers: Joern Janneck, Chris Chang, Yang Zhao
Advisor:Edward A. Lee

The concept of actors was first introduced by Carl Hewitt as a mean of modeling distributed knowledge-based algorithms. Actors has since then become widely used.

CAL is a small domain-specific language for writing down the functionality of actors - including specifically their ports, parameters, typing constraints, and firing rules. It is designed to be embedded in an environment providing necessary infrastructure, such as data types, operations and function libraries. The goal is to provide a concise high-level description of actors by providing statically analyzable information about the behavior of an actor, such as production and consumption rates, to facilitate schedule, compose, and static check of actor networks.

Current work includes:

  1. using program transformation techniques for manipulating CAL actor specifications, and compositions of CAL actors. The transformations are expressed as XSLT scripts manipulating the XML document that represents the CAL abstract syntax tree.
  2. generating executable code from an actor description, in order to simulate or eventually implement an actor on some target platform.
  3. scheduling.
  4. compatibility checking between connected actors.
  5. CAL language developing and changing.

For more information about CAL, see http://embedded.eecs.berkeley.edu/caltrop/

Last updated 11/20/03