The Ptolemy Project
The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interaction between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. A software system called Ptolemy II is being constructed in Java. The work is conducted in the Center for Hybrid and Embedded Software Systems (CHESS) in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.
- System Design, Modeling, and Simulation using Ptolemy II, Published by ptolemy.org, 2014, available as a free PDF download and low-cost paperback.
About the Ptolemy Project:
Current Research Thrusts:
- Swarm technologies: This effort is addressing the enormous potential (and associated risks) enabled by billions of networked sensing and actuating devices. See the TerraSwarm Research Center.
- Precision-timed (PRET) machines: This effort reintroduces timing into the core abstractions of computing, beginning with instruction set architectures, using configurable hardware as an experimental platform. See the PRET workgroup.
- Cyber-physical systems: Models of computation with time and concurrency, metaprogramming techniques, code generation and optimization, domain-specific languages, schedulability analysis, programming of sensor networks. See the iCyPhy (industrial cyber-physical systems) consortium and early position paper and publications page for elaborations.
- Distributed real-time systems: Models of computation for orchestrating real-time tasks across a network. See our 2007 RTAS paper on distributed real-time computing, and the PTIDES workgroup.
- Understandable concurrency: This effort focuses on models of concurrency in software that are more understandable and analyzable than the prevailing abstractions based on threads. See a position paper.
- Systems of systems: This effort focuses on modeling and design of large scale systems, those that include networking, database, grid computing, and information subsystems. See for example the Kepler project, which is a scientific workflow management system.
- Semantics: Domain polymorphism, behavioral type systems, meta-modeling of semantics, comparative models of computation. See papers on semantics.
- Hybrid systems: Blended continuous and discrete dynamics, models of time, operational semantics, language design. See the paper on hybrid systems semantics and paper on semantics of mixed continuous and discrete systems.
- The Eleventh Biennial Ptolemy Miniconference will be held on Friday, October 16, 2015 in Berkeley, California.
- January 26, 2015: Ptplot 5.10 released.
- December 17, 2014: Ptolemy II 10.0.1 online demonstrations, documentation and software released.
- October 2, 2014: John Eidson, working with the group of PI Lee, has exposed a serious flaw in a leading Internet standard for network clock synchronization, and has developed a fix to the protocol that will be voted on by the ITU this fall.
- February 13, 2014: TerraSwarm Lunch and Poster Session at the Berkeley EECS Annual Research Symposium (BEARS)
- November 7, 2013: The Tenth Biennial Ptolemy Miniconference will be held in Berkeley, California.
- October 23, 2013: bioKepler 1.0 Amazon Machine Image (AMI) released. Though bioKepler was not developed at UC Berkeley, it does use Ptolemy II. This release means that portions of Ptolemy II are available in the cloud.
- October 4, 2013: System Design, Modeling, and Simulation using Ptolemy II, Published by ptolemy.org, 2014, available as a free PDF download and low-cost paperback.
- August 22, 2013: bioKepler 1.0 Released.
The bioKepler suite facilitates rapid development and scalable
distributed execution of bioinformatics workflows in Kepler while
simplifying access to a wide range of bioinformatics tools executed
locally or distributedly. bioKepler 1.0 contains a set of Kepler
actors, called "bioActors", which are specialized for running
bioinformatics tools along with Kepler directors for distributed
data-parallel (DDP) execution on Hadoop and Stratosphere engines.
Additionally, over 40 example workflows demonstrating how to use these
actors and directors have been packaged in this first release of
Kepler uses Ptolemy II as its execution engine.
- April 28, 2013: jfmi1.0.2, a Java Wrapper for the Functional Mock-up Interface was released.
The Functional Mock-up Interface (FMI) is an emerging standard with the objective to make it easy to share modeling components between various simulation tools and environments.
JFMI is a Java wrapper for FMI.
This release fixes a bug involving reading strings and building shared libraries under Windows.
- March 10, 2013: jfmi1.0.1, a Java Wrapper for the Functional Mock-up Interface was released.
- February 14, 2013: The BEARS lunch and poster session
- January 17, 2013: Professor Lee is leading the TerraSwarm Center. The TerraSwarm Research Center, launched on January 15, 2013, is addressing the huge potential (and associated risks) of pervasive integration of smart, networked sensors and actuators into our connected world.
- October 25-26, 2012: The NITRD National Workshop on The New Clockwork for Time-Critical Systems was held in Baltimore.
- June 18, 2012: JFMI, a Java Wrapper for the Functional Mock-up Interface was released. The Functional Mock-up Interface (FMI) is an emerging standard with the objective to make it easy to share modeling components between various simulation tools and environments. JFMI is a Java wrapper for FMI.
- February 23, 2012: As part of the Berkeley EECS Annual Research Symposium (BEARS), the Ptolemy Project held a a Lunch and Poster Session in 545 Cory Hall in conjuction with the Center for Hybrid and Embedded Software Systems (CHESS) and the Donald O. Pederson Center for Electronic Systems Design.
- November 17, 2011: Dr. Patricia Derler has been awarded her degree
sub auspiciis Praesidentis rei publicae (under the auspices of the President of Austria).
Wikipedia's Latin Honors page says that only one out of 2500 doctoral graduates per year achieve this honor. Dr. Derler was awarded a golden honorary ring of Austria by Heinz Fischer, the president of Austria.
Dr. Derler is a postdoctoral visitor focusing on the PTIDES effort.
(Original Article | Translation)
- November 6, 2011: The UC Berkeley team (Michael Zimmer and Baruch Sterin) tied for first place at the CADathalon@ICCAD. "In the spirit of the long-running ACM programming contest, the CADathlon challenges students in their CAD knowledge, and their problem solving, programming, and teamwork skills." The CADathlon was 9 hours long.
- May 18, 2011: Bosch Research and the Ptolemy
project mentored Carnegie Mellon Master of Software Engineering
students on their Studio Project in the summer of 2010.
The PtDB project was
an effort to use an XML database to manage models. The team received
thd 2011 Coach Award from the Carnegie Mellon Master of Software
Engineering (MSE) department.
"As members of the AY09-10 MSE YALA Studio Team, Yousef AlSaeed, Ashwini Bijwe, Lyle Holsinger, and Wenjiao Wang not only acknowledged their individual cultural differences, they benefited from them. Demonstrating strong commitment, support, and personal affection for one another, they worked deliberately, cohesively for the greater team goals, yet rarely missed opportunities to recreate and enjoy each other's company socially. This extraordinary team exemplified the very essence of professionalism, collaboration, and mutually-respectful partnership."
- May 14, 2011: Hauke Fuhrmann put up Codeswarm videos of the software evolution of the Ptolemy II project. See Chaotic, Less Chaotic.
- February 17, 2011: As part of the Berkeley EECS Annual Research Symposium (BEARS), the Center for Hybrid and Embedded Software Systems held a Lunch and Poster Session in 545 Cory Hall.
- February 16, 2011: The Ninth Biennial Ptolemy Miniconference was held in Berkeley, California.
- October 28, 2010: Ptolemy II 8.0.1 online demonstrations, documentation and software released.
- October 24, 2010: Ptolemy Tutorial: Exploring Models of Computation with Ptolemy II (Scottsdale, AZ).
- October, 2010: First edition of Introduction to Embedded Systems, A Cyber-Physical Systems Approach by UC Berkeley Professors Edward Ashford Lee and Sanjit A. Seshia published.
- October 5, 2010: Ptplot 5.8 released.
- August 18-19, 2010: Berkeley: Workshop on Strategic Directions in Software at Scale (S@S): (Invitation only)
- August 12, 2010: Arlington: CPS Education Workshop (Invitation only)
- February 26, 2010: Ptolemy II 8.0.beta online demonstrations, documentation and software released.
- February 12, 2010: 2010 Berkeley EECS Annual Research Symposium (BEARS). A poster session by students, faculty, and postdoctoral scholars, in the area of embedded software and systems. Areas covered include hybrid systems, control, autonomous systems, modeling and computation, as well as tools and applications in these areas.
- September 30, 2009: Ptolemy Group Research Summaries Updated
- April 15-16, 2009: The Eighth Biennial Ptolemy Miniconference and Ptutorial was held in Berkeley, California.
We applied for and received an Opportunity Award from the UC Discovery Grant program to cover the costs of the tutorial and miniconference.
- March 30, 2008: Thales has joined CHESS.
- March 18, 2008: Ptolemy is again participating in the Google Summer of Code!
- February 12, 2009: 2009 Berkeley EECS Annual Research Symposium (BEARS). A poster session by students, faculty, and postdoctoral scholars, in the area of embedded software and systems. Areas covered include hybrid systems, control, autonomous systems, modeling and computation, as well as tools and applications in these areas.
- October 14, 2008: High-Confidence Design for Distributed Embedded Systems (HCDDES) MURI Review Meeting, UC Berkeley.
- May 14, 2008: The Kepler Project has released Kepler-1.0.0. The Kepler website says:
"The Kepler project's overall goal is to produce an open-source scientific workflow system that allows scientists to design scientific workflows and execute them efficiently using emerging Grid-based approaches to distributed computation."Kepler uses Ptolemy II as its execution engine.
- May 9, 2008: The Hydrant web-based workflow execution system released by Tristan King at James Cook University. Hydrant is based on Kepler, which in turn uses Ptolemy II as its execution engine.
- April 4, 2008: Ptolemy II 7.0.1 online demonstrations, documentation and software released.
- March 17, 2008: PTIDES is participating in the Google Summer of Code!
- March 1, 2008: HSBC has joined CHESS. The Ptolemy Project will be looking into distributed systems using Programming Temporally Integrated Distributed Embedded Systems (PTIDES).
- November 9, 2007: Lockheed Martin Advanced Technology Laboratories (ATL) has joined CHESS. The Ptolemy Project is participating in the NAOMI project, whose object is to explore how the precision of multiple domain specific modeling languages can be leveraged, leading to more accurate and complete models.
- July 19, 2007: Recito Designer 1.0 Beta Released. Recito, developed by SP-Process, is based on Ptolemy II. Recito adds support of data access and manipulation (database, XML dataflow), reports creation, document management and model remote execution.
- February 12-13, 2007: The Seventh Biennial Ptolemy Miniconference and Ptutorial was held in Berkeley, California.
- February 12, 2007: Professor Lee was awarded a contract from the US Army Research Laboratory to do research in Scalable Systems of Systems.
- February 9, 2007: Viptos 1.0.2 source code released. Viptos is an interface between TinyOS and Ptolemy II. TinyOS is an event-driven operating system designed for sensor network nodes that have very limited resources (e.g., 8K bytes of program memory, 512 bytes of RAM). TinyOS, is used, for example, on the Berkeley MICA motes, which are small wireless sensor nodes.
- February 4, 2007: Ptolemy II 6.0.2 online demonstrations, documentation and software released.
- January 14, 2007: Ptplot 5.6 released.
- October 2, 2006: Ptolemy II 6.0.alpha online demonstrations, documentation and software released.
- September 12, 2006: 2007 Research Summaries have been posted.
- June 2, 2006: The The Kepler Project has made Kepler-1.0.0beta1 available. Kepler is based on Ptolemy II and extends it for easier use by scientists in biology, ecology and geology for use with scientific workflows.
- May 8, 2006: The May 2006 IEEE Computer Magazine contains a cover feature by Edward A. Lee: "The Problem with Threads"
For concurrent programming to become mainstream, we must discard threads as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs.
- May 7, 2006: The Ptolemy II Bugzilla Bughandler has been revitalized. Also, CVS checkin email has been enabled.
- November 1, 2005: Viptos 5.1-alpha source code released.
- October 7, 2005: HyVisual 5.0.1 standalone installer released. Hybrid systems are systems with continuous-time dynamics, discrete events, and discrete mode changes. HyVisual is a visual editor and simulator for hierarchical hybrid systems. This is a bug fix release only, no new features were added.
- October 5, 2005: Ptolemy II 5.0.1 released. This is a bug fix release only, no new features were added. See the Ptolemy II 5.0.1 page for details.
- July 28, 2005: Ptplot 5.5 released.
- July 21, 2005: Ptolemy II 5.0 online demonstrations, documentation and software released.
- The Sixth Biennial Ptolemy Miniconference was held on May 12, 2005 on the UC Berkeley Campus. This year, we invited the Kepler community to jointly organize the conference, under the leadership of Bertram Ludaescher, and to give presentations and posters. Kepler is a cross-project collaboration to develop open source tools for Scientific Workflows and is currently based on the Ptolemy II system for heterogeneous concurrent modeling and design. We also invited David Bacon from IBM to give an invited talk on real-time Java. David is one of the world's top experts in this area.
- March 4, 2005: HyVisual 5.0-alpha released.
- August 4, 2004: Ptolemy II 4.0.1 online demonstrations, documentation and software released.
- August 8, 2004: Tobin Fricke wrote "An ode to the 'Exec' actor"
- August 4, 2004: VisualSense 4.0.1 Visual editor and simulator for wireless sensor network system released.
- April 25, 2004: galsC alpha release was made available. galsC is a language and compiler for use with the TinyGALS programming model, which uses TinyOS as the underlying component model.
- February 27, 2004: Chess Open house Donald O. Pederson Center, 5th Floor, Cory Hall, UC Berkeley held in association with BEARS.
- January 26, 2004: Kepler: A System for Scientific Workflows, is a cross-project collaboration to develop open source tools for Scientific Workflows and is currently based on the Ptolemy II system for heterogeneous concurrent modeling and design.
- December 30, 2003: Professor Edward A. Lee was interviewed on ABC TV News about Soft Walls. A few days later, there was a Slashdot discussion.
- December 3, 2003: A review for NSF was held to report on the first year of our NSF/ITR project, which is joint with Vanderbilt University and the University of Memphis.
- September 25, 2003: Ptplot 5.3 released.
- August 21, 2003: Ptolemy II 3.0.2 online demonstrations, documentation and software released.
- August 8, 2003: The Summer Undergraduate Program in Engineering Research at Berkeley - Information Technology (SUPERB-IT) took place from June 16-August 8 2003. The students developed many innovative extensions for Ptolemy II - Project Papers and Posters
- July 29, 2003: The 2003 2nd Quarter MoBIES Quarterly report (plain text) is now available.
- May 9, 2003: The Fifth Biennial Ptolemy Miniconference was held with 85 attendees.
- September 27, 2002: Professor Edward A. Lee and his group will be participating in the Center for Hybrid and Embedded Software Systems (CHESS) project.