Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

   

2009 Research Summary

Ptolemy II--Heterogeneous Concurrent Modeling and Design in Java

View Current Project Information

Thomas Huining Feng, Man-Kit Leung, Ben Lickly, Isaac Liu, Jia Zou, Christopher Brooks, Edward A. Lee and Bert Rodiers

Center for Hybrid and Embedded Software Systems, National Science Foundation 0720882, National Science Foundation 0720841, Army Research Office W911NF-07-2-0019, Air Force Office of Scientific Research FA9550-06-0312, Air Force Research Laboratory FA8750-08-2-0001, California MICRO, Agilent Technologies, Robert Bosch GmBH, HSBC, Lockheed-Martin, National Instruments and Toyota

Ptolemy II [1-4] is a set of Java packages supporting heterogeneous, concurrent modeling, simulation, and design of component-based systems. The emphasis is on a clean, modular software architecture, divided into a set of coherent, comprehensible packages. The kernel package supports definition and manipulation of clustered hierarchical graphs, which are collections of entities and relations between those entities. The actor package extends the kernel so that entities have functionality and can communicate via the relations. The domains extend the actor package by imposing models of computation on the interaction between entities.

The Ptolemy II graphical user interface is called Vergil. Vergil itself is a component assembly defined in Ptolemy II. Ptolemy II includes facilities for code generation from models.

In addition to the complete version of Ptolemy II, the following sub-versions are available:

  • HyVisual: Hybrid System Visual Modeler [5];
  • VisualSense: Visual editor and simulator for wireless sensor network system [6]; and
  • Viptos: Visual interface between Ptolemy and TinyOS [7].

Figure 1
Figure 1: A synchronous dataflow model shown using Vergil, the Ptolemy visual editor

[1]
J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong, "Taming Heterogeneity--The Ptolemy Approach," Proceedings of the IEEE, Vol. 91, Issue 1, January 2003, pp. 127-144.
[2]
C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II," UC Berkeley EECS Department Technical Report No. UCB/EECS-2008-28, April 1, 2008.
[3]
C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture)," UC Berkeley EECS Department Technical Report No. UCB/EECS-2008-29, April 1, 2008.
[4]
C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains)," UC Berkeley EECS Department Technical Reports, UC Berkeley EECS Department Technical Report No. UCB/EECS-2008-37, April 15, 2008.
[5]
C. Brooks, A. Cataldo, E. A. Lee, J. Liu, X. Liu, S. Neuendorffer, and H. Zheng, "HyVisual: A Hybrid System Visual Modeler," UC Berkeley Electronics Research Laboratory, Memorandum No. UCB/ERL M05/24, July 15, 2005.
[6]
P. Baldwin, S. Kohli, E. A. Lee, X. Liu, and Y. Zhao, "VisualSense: Visual Modeling for Wireless and Sensor Network Systems," UC Berkeley Electronics Research Laboratory, Memorandum No. UCB/ERL M05/25, July 15, 2005.
[7]
E. Cheong, E. A. Lee, and Y. Zhao. "Joint Modeling and Design of Wireless Networks and Sensor Node Software," UC Berkeley EECS Department Technical Report No. UCB/EECS-2006-150, November 17, 2006.