PTIDES: Programming Temporally Integrated Distributed Embedded Systems

Ilge Akkaya, Derler Patricia, John Eidson, Slobodan Matic, Michael Zimmer, Jia Zou and Edward A. Lee

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), Semiconductor Research Corporation Focus Center Research Program, Robert Bosch GmBH, National Instruments, Thales, Toyota and Renesas

Objectives: Design and deployment of PTIDES programming model and its integration with network models and models of physical dynamics, Design of a low-footprint distributed operating system that realizes this programming model, and Development of program analysis techniques that check system implementations for satisfaction of PTIDES temporal semantics.

PTIDES programming model is based on the semantics of discrete-event (DE) systems, which provides a model of time and concurrency. In the DE model of computation, software components communicate via timestamped events. The event time stamps are a formal part of the model referred to as model time. Model time may or may not bear any relationship to time in the physical world, i.e., real time. In [1,3], we use model time to define execution semantics and limit the relationship between model time and real time only to those circumstances where this relationship is needed. Paper [2] studies the semantic properties important to implementation.

The PTIDES code generator produces platform specific code for given models. The generated code comprises two parts: (i) the platform specific operating system, PtidyOS, which performs I/O handling, context switching and scheduling of actors, and (ii) actor code. The actor code contains platform independent code for functionality and timing specifications and platform dependent code for interfacing with the OS and the hardware. The code generation framework for Ptides currently supports 3 different HW platforms (ARM-based Luminary Micro LM3S8962, Renesas 7216 Demo Kit, XMOS development board). The code generation for these platforms is described in [4].

An example of plant modeling in PTIDES is given in our Printing Press model. This application has similarities with motor control applications and involves different types of event sequences (periodic, quasi-periodic, and sporadic). The total application models the paper feed system for a high-speed printing press with both an active and a reserve roll of paper (Fig. 2). As we discuss in [4], the PTIDES-based controller implements the functionality of one of the application controllers.

PtidyOS is a single-stack event-based real-time operating system, which combines PTIDES semantics with earliest-deadline-first scheduling in order to ensure system responsiveness to the highest priority event. PtidyOS kernel includes a scheduler that performs interrupt handling and context switching and a primitive memory management. When compiled, this kernel links against application code and produces one executable. In [5] PtidyOS implementation of the Tunneling Ball Device demo is compared to a manual C implementation.

Synchrophasor measurement units sample voltages and currents at diverse locations on a power grid and output accurately timestamped measurements together with phasor angles. Our Synchrophasor evaluation of PTIDES-based controllers derives from experiments on a system of distributed time-synchronized micro-controllers and an emulation of portions of the electric power grid based on conventional hardware-in-the-loop instrumentation. This emulation using National Instruments PXI hardware and LabVIEW software platform provides pairs of signals representing the outputs of voltage and current monitors typically found in substations or at critical points in the transmission system. All frequencies and phases are relative to a single real-time clock, which is synchronized to the real-time clocks in the monitoring and control devices. This allows us to emulate several generators each with different load conditions and frequency and to permit the generation of synchrophasor data. The preliminary work is reported in [6].

Figure 1
Figure 1: PTIDES Project Workflow Diagram

Figure 2
Figure 2: Prinitng Press Model

[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]
John Eidson, Edward A. Lee, Slobodan Matic, Sanjit A. Seshia and Jia Zou. Distributed Real-Time Software for Cyber-Physical Systems. Accepted for publication in Proceedings of the IEEE, 2011.
[4]
P. Derler, J. C. Eidson, E. A. Lee, S. Matic and M. Zimmer. Model-Based Development of Deterministic, Event-Driven, Real-Time Distributed Systems. Submitted for publication in Proceedings of the International Workshop on Model-Based Design with a Focus on Extra-Functional Properties (MBDEFP), 2011.
[5]
J. Zou, S. Matic and E. A. Lee. From PTIDES to PtidyOS, Designing Real-Time Embedded Systems. Submitted for publication in Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2012.
[6]
S. Matic, I. Akkaya, M. Zimmer, J. C. Eidson and E. A. Lee. PTIDES Model on a Distributed Testbed Emulating Smart Grid Real-Time Applications. Accepted for publication in Proceedings of the IEEE Conference on Innovative Smart Grid Technologies (ISGT-EUROPE), 2011.

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