CAL(ID:5741/cal005)

GP language for the Ptolemy project 


for CAL Actor Language

general-purpose symbolic and parallel language based on graph-oriented computation

Part of the Ptolemy project at Berkeley


References:
  • Chris Chang, Johan Eker, Jörn W. Janneck, Yang Zhao "A New Method for Specifying Dataflow Actors" Technical memorandum UCB/ERL M02/28 September 2002 view details
  • Janneck, Jörn W. "Actors and their composition" Technical memorandum UCB/ERL M02/37 December 2002 view details pdf Abstract: Modern environments for modeling and designing concurrent computational systems increasingly support heterogeneous system models, which are characterized by different coordination mechanisms governing the interaction between concurrent components in different  parts or at different levels of the model. These interaction semantics, also called models of computation, pose a major challenge to the definition of the meaning of heterogeneous models, especially if such a definition is to be independent of any specific set of models of computation, ways of describing actors, or notations for describing models.

    This paper makes three main contributions.
    (1) It presents a framework for describing the semantics of actors and models of computation. The key notion is the concept of a model of computation as a program transformation that composes actor descriptions into a description of a composite actor. This framework is entirely independent of any specific syntax for describing actors, or any particular modeling language.
    (2) It uses this framework to describe properties of actor compositions and models of computation, and to classify and analyze them.
    (3) Finally, it discusses the implications of this theory for the design of languages for describing actors and models of computation.
  • Willink, Edward D.; Eker, Johan; Janneck Jörn W. "Programming Specifications in CAL" view details
          in OOPSLA Workshop on Generative Techniques in the Context of Model-Driven Architecture November 2002 view details
  • Ernesto Wandeler "Static Analysis of Actor Networks" Technical memorandum UCB/ERL M03/07 March 2003 view details Abstract: In this thesis we present a new interface theory based approach to static analysis of actor systems. We first introduce a new interface theory, which is based on Interface Automata [5] and which is capable of counting with natural numbers. Using this new interface theory, we can capture both, the temporal aspects of an actor interface as well as an actor’s token exchange rate. We will show, how to automatically extract this information from actors written in the Cal Actor Language (CAL). We further present a method to capture the interface information as well as the connection information of dataflow system environments into an interface automaton. In our approach, this automaton acts as glue between the actor automata of the system, and by successfully composing all actor automata with it, we can prove interface compatibility of all actors with the system environment. After successful composition, the composition automaton will contain the complete token exchange information of the composite actor system. We will extract this information into a Petri Net, which we then analyse to make statements on boundedness, deadlock as well as on the existence of legal firing sequences for the composite actor system.
          in OOPSLA Workshop on Generative Techniques in the Context of Model-Driven Architecture November 2002 view details
  • Johan Eker, Jörn W. Janneck "A structured description of dataflow actors and its application" Technical memorandum UCB/ERL M03/13 May 2003 view details Abstract: Many embedded systems have significant parts that are best conceptualized as dataflow systems, in which actors execute and communicate by sending each other packets of data. This paper proposes a structured view of these actors that focuses on their dataflow characteristics, and it sketches a notation that directly
    represents this view. It then shows how exploiting this actor structure opens new opportunities for efficiently implementing dataflow systems, demonstrating a technique that distributes actors into several concurrent threads and that synthesizes the required synchronization code. As a result, actor descriptions become more reusable, and reasonably efficient implementations are possible for a larger class of dataflow models.
          in OOPSLA Workshop on Generative Techniques in the Context of Model-Driven Architecture November 2002 view details
    Resources
    • Berkeley project summary
      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.

      An Actor is a computational entity that communicates with other actors and the environment by passing tokens via its input and output ports. Actor may have state and parameters. When an actor is executed, it is said to be fired. During a firing, input tokens are consumed, output tokens are produced, and the internal state is updates. Actors are connected to form models or applications.

      CAL is a small domain-specific language for writing down the functionality of actors - including specifically their ports, their 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.
      external link
    • Caltrop home page
      external link