Research Projects

Ptolemy II--Heterogeneous Concurrent Modeling and Design in Java

Edward A. Lee, Ilge Akkaya, Remi Barre1, Christopher Brooks, Dai Bui, Daniel Crawl2, Patricia Derler, Elizabeth Latronico3, Ben Lickly, Isaac Liu, Chris Motika4, Aaron Schultz5, Christopher Shaver, Charles Shelton6, Miro Spoenemann7, Stavros Tripakis and Michael Wetter8

Center for Hybrid and Embedded Software Systems (CHESS), National Science Foundation 0720882 (CSR-EHS: PRET), National Science Foundation 1035672 (CPS: PTIDES), National Science Foundation 0931843 (ActionWebs), Multiscale Systems Center (MuSyC), Army Research Office W911NF-11-2-0038 (DDoSoS), Air Force Office of Scientific Research FA9550-06-0312, Air Force Research Laboratory, Robert Bosch GmBH, National Instruments, Thales and Toyota

Ptolemy II [1-4] is a laboratory for experimenting with design techniques. Ptolemy II is implemented as 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]
Johan Eker, Jörn W. Janneck, Edward A. Lee, Jie Liu, Xiaojun Liu, Jozsef Ludvig, Stephen Neuendorffer, Sonia Sachs, Yuhong Xiong, " Taming Heterogeneity - the Ptolemy Approach," Proceedings of the IEEE, Jan 2003, Volume: 91, Issue: 1, p127-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.

1Thales
2UC San Diego
3Bosch
4University of Kiel
5UC Santa Barbara
6Bosch
7University of Kiel
8LBNL

More information: http://ptolemy.eecs.berkeley.edu/ptolemyII