Research Projects

Ptolemy II--Heterogeneous Concurrent Modeling and Design in Java

Edward A. Lee, Ilge Akkaya, David Broman, Christopher Brooks, Ian Chen, Daniel Crawl1, Patricia Derler, Shuhei Emoto2, Liangpeng Guo, Siyuan 'Jack' He, Elizabeth Latronico, Long Le3, Hendrik Lohstroh, Mana Mirzaei4, Thierry Nouidui5, Christopher Shaver, Fabian Stahnke6, Armin Wasicek and Michael Wetter7

Center for Hybrid and Embedded Software Systems (CHESS), National Science Foundation 0931843 (ActionWebs), Naval Research Laboratory N0013-12-1-G015, Denso, National Instruments, Toyota, TerraSwarm, a Semiconductor Research Corporation center, sponsored by MARCO and DARPA and iCyPhy, supported by IBM and United Technologies

Ptolemy II [1-4, 8] 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.
[8]
Claudius Ptolemaeus, Editor, " System Design, Modeling, and Simulation Using Ptolemy II", Ptolemy.org, 2014.

1UC San Diego
2IHI
3Univ. of Illinois
4Linkoping
5LBNL
6TU Munich
7LBNL

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