Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

   

2008 Research Summary

Ptalon, A Language for Higher Order Component Composition

View Current Project Information

Elaine Cheong, Thomas Huining Feng and Edward A. Lee

Actor-oriented design [1] is a common design strategy in embedded system design, where actors are concurrent components which communicate through ports by sending signals to one another. Such systems are frequently modeled with block diagrams, where the blocks represent systems and lines or arrows between blocks represent signals. Examples include Simulink, LabView, and VHDL/Verilog.

A common problem in such environments is managing complexity, particularly when the designs become large. Most actor-oriented design environments allow hierarchy, or systems (blocks) which are composed of other systems (blocks). To take this a step further, we are developing the Ptalon programming language, which allows users to parameterize components with other components.

We have developed a preliminary interpreter for the Ptalon language in the context of Ptolemy II, a general-purpose design environment for actor-oriented systems. We have also developed a mathematical framework for such languages, to help aid our understanding [2]. We are currently investigating the resource management issues inherent in supporting large block-diagram models.

[1]
E. A. Lee, "Model-driven Development--From Object-Oriented Design to Actor-Oriented Design," Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation (a.k.a. The Monterey Workshop), Chicago, IL, 2003.
[2]
A. Cataldo, E. Cheong, T. H. Feng, E. A. Lee, and A. Mihal, "A Formalism for Higher-Order Composition Languages that Satisfies the Church-Rosser Property," UC Berkeley EECS Technical Report No. UCB/EECS-2006-48, 2006.
[3]
J. A. Cataldo, " The Power of Higher-Order Composition Languages in System Design," EECS Department, UC Berkeley, Technical Report No. UCB/EECS-2006-189, December 18, 2006.