PTIDES: Programming Temporally Integrated Distributed Embedded Systems

Slobodan Matic, Jia Zou, Edward A. Lee, Shanna-Shaye Forbes, Isaac Liu, Jeff C. Jensen and John Eidson

Center for Hybrid and Embedded Software Systems (CHESS), 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, Lockheed-Martin ATL, National Instruments, Thales and Toyota

The PTIDES project focuses on developing a programming model for real-time distributed systems and studying algorithms that can statically check whether a model meets the specified timing requirements over a network of distributed systems.

This programming model exploits time synchronization protocols such as NTP and IEEE 1588, which provide a global notion of physical time in distributed systems. PTIDES uses discrete-event (DE) models as programming specifications for distributed real-time systems. In the DE model of computation, software components communicate via time-stamped events. We refer to the values of the time stamps as "model time." In [1], we use model time to define execution semantics and add constraints that bind certain model time events to physical time. We limit the relationship between model time and physical time only to those circumstances where this relationship is needed. Paper [2] studies the semantic properties important to implementation. It provides an execution model that permits out of order processing of events without sacrificing determinacy and without requiring backtracking.

In [3] we describe a simulator for PTIDES built on Ptolemy II design environment, and give some preliminary measurements of implementation properties on a small network of prototype platforms using a pre-commercial implementation of IEEE 1588 from Agilent. In [4] a backtracking mechanism has been implemented, not to ensure the processing order of time-stamped events as in the Time Warp approach, but to tolerate failures in the execution, such as failure in upstream components to meet deadlines and unexpected hardware errors.

Our future activities include work on several other components of the PTIDES framework as shown in the figure below. One of the challenges here is to provide schedulability analysis for the PTIDES programming model, which would allow for a static analysis of the deployability of a given application on a set of resources. We plan to build mixed simulator that can combine the PTIDES model with a plant and network model. A hardware-in-the-loop simulator is also envisioned to stitch together the plant model and the deployable hardware platforms. A code generator integrated from the Ptolemy II environment will glue together the software components to produce executable programs for each of the platforms in the network. The code will be executed in the context of the PtidyOS runtime environment that can be considered as a lightweight operating system with PTIDES semantics. Our prototype implementation of PtidyOS will run over a set of LuminaryMicro micro-controllers with hardware assisted support for IEEE 1588 protocol.

Figure 1
Figure 1: PTIDES project workflow diagram

[1]
Y. Zhao, J. Liu and E. A. Lee, "A Programming Model for Time-Synchronized Distributed Real-Time Systems," in Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 07), Bellevue, WA, United States, April 3-6, 2007.
[2]
J. Zou, S. Matic, E. A. Lee, T. H. Feng, and P. Derler, "Execution strategies for ptides, a programming model for distributed embedded systems," in Proceedings of the 15th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 09), San Francisco, WA, United States, April 13-15, 2009.
[3]
P. Derler, E. A. Lee, and S. Matic, "Simulation and implementation of the ptides programming model," In Proceedings of IEEE International Symposium on Distributed Simulation and Real Time Applications (DS-RT 09), Vancouver, Canada, October 23-25, 2008.
[4]
Thomas Huining Feng and Edward A. Lee, "Real-Time Distributed Discrete-Event Execution with Fault Tolerance," in Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 08), St. Louis, MO, USA, April 2008.

More information: http://chess.eecs.berkeley.edu/ptides