Award Abstract # 1646235
CPS: Synergy: Collaborative Research: TickTalk: Timing API for Federated Cyberphysical Systems

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: CARNEGIE MELLON UNIVERSITY
Initial Amendment Date: September 13, 2018
Latest Amendment Date: September 14, 2021
Award Number: 1646235
Award Instrument: Standard Grant
Program Manager: Sandip Roy
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: October 1, 2018
End Date: September 30, 2021 (Estimated)
Total Intended Award Amount: $448,797.00
Total Awarded Amount to Date: $448,797.00
Funds Obligated to Date: FY 2018 = $448,797.00
History of Investigator:
  • Carlee Joe-Wong (Principal Investigator)
    cjoewong@andrew.cmu.edu
  • Robert Iannucci (Former Principal Investigator)
Recipient Sponsored Research Office: Carnegie-Mellon University
5000 FORBES AVE
PITTSBURGH
PA  US  15213-3890
(412)268-8746
Sponsor Congressional District: 12
Primary Place of Performance: Carnegie-Mellon University
NASA Ames Research Park
Moffett Field
CA  US  94035-0001
Primary Place of Performance
Congressional District:
18
Unique Entity Identifier (UEI): U3NKNFLNQ613
Parent UEI: U3NKNFLNQ613
NSF Program(s): CPS-Cyber-Physical Systems
Primary Program Source: 01001819DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7918, 8235
Program Element Code(s): 791800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

The goal of this research is to enable a broad spectrum of programmers to successfully create apps for distributed computing systems including smart and connected communities, or for systems that require tight coordination or synchronization of time. Creating an application for, say, a smart intersection necessitates gathering information from multiple sources, e.g., cameras, traffic sensors, and passing vehicles; performing distributed computation; and then triggering some action, such as a warning. This requires synchronization and coordination amongst multiple interacting devices including systems that are Internet of Things (IoT) devices that may be connected to safety critical infrastructure. Rather than burden the programmer with understanding and dealing with this complexity, we seek a new programming language, sensor and actuator architecture, and communications networks that can take the programmer's statements of "what to do" and "when to do", and translate these into "how to do" by managing mechanisms for synchronization, power, and communication. This approach will enable more rapid development of these types of systems and can have significant economic development impact.

The proposed approach has four parts: (1) creating a new programming language that embeds the notion of timing islands -- groups of devices that cooperate and are occasionally synchronized; (2) creating a network-wide runtime system that distributes and coordinates the action of code blocks -- portions of the program -- across devices; (3) extending the capabilities of communication networks to improve the ability to synchronize devices and report the quality of synchronization back to the runtime system, enabling adaptive program behavior; and (4) extending device hardware architecture to support synchronization and time-respecting operation.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Gadre, Akshay and Yi, Fan and Rowe, Anthony and Iannucci, Bob and Kumar, Swarun "Quick (and Dirty) Aggregate Queries on Low-Power WANs" 2020 19th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN) , v.2020 , 2020 https://doi.org/10.1109/IPSN48710.2020.00031 Citation Details
Hu, Yi and Zhang, Chaoran and Andert, Edward and Singh, Harshul and Shrivastava, Aviral and Laudon, James and Zhou, Yanqi and Iannucci, Bob and Joe-Wong, Carlee "GiPH: Generalizable Placement Learning for Adaptive Heterogeneous Computing" 6th Conference on Machine Learning and Systems , 2023 Citation Details
Ramirez, Ceferino Gabriel and Sergeyev, Anton and Dyussenova, Assya and Iannucci, Bob "LongShoT: Long-range Synchronization of Time" 2019 18th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN) , 2019 10.1145/3302506.3310408 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

The Internet-of-Things (IoT) promises to provide an ever-growing supply of Internet-connected devices that can collect, analyze, and respond to data about their environments. Applications enabled by the IoT include autonomous driving, in which vehicles must detect and avoid collisions with nearby vehicles, and environmental monitoring, in which sensors can collect and display information, such as current noise or ambient temperature levels, about the surrounding environment. Programming such applications, however, often requires specialized knowledge. In particular, many IoT applications naturally involve multiple physical devices, such as multiple sensors or a sensor and a separate server. Coordinating across these devices, then, may require knowledge of distributed systems and networking, particularly if applications must execute in a time-sensitive manner. Ensuring that data from multiple sensors is collected at approximately the same time, for example, may require synchronizing device clocks, which is nontrivial and energy-consuming at fine time granularities. Indeed, many IoT devices are also energy-constrained, which more generally requires application programmers to be aware of the energy consumption of their applications?often not the case, especially if the programmer does not know the specific hardware on which an application will be run. Such specialized knowledge threatens to bottleneck the widespread deployment of IoT programs, by making their development difficult.

TickTalk includes new language, system, network, and device mechanisms for programmers to easily specify and enforce timing constraints. The first part of the project addressed the specific device- and network-level challenge of designing low-power mechanisms for synchronizing clocks on different physical devices. The main insight is to carefully model delays associated with data transmitted between a given pair of devices, which allows this data to be used for synchronizing clocks on these devices. These synchronization methods, which we call LongShoT, allow TickTalk to execute fine-grained synchronization if required by an application.

In addition to clock synchronization, many applications may have deadlines by which they need to be completed. Thus, at the system level, we designed a framework for representing application programs that cleanly slices them into atomic computation units and codifies their timing constraints (e.g., deadlines by which computations should be completed). This representation allows the program to be easily distributed across multiple hardware devices, e.g., across multiple sensors. We further define a protocol for exchanging information between computation units, which carries information about timing constraints and the order in which computations should be executed. Programs written in this framework can then be optimized to meet timing constraints, e.g., by splitting individual computation units across sufficiently fast physical devices. If timing constraints cannot be met, we design fallback mechanisms that detect that the constraint will be missed and instead execute backup code to avoid catastrophic application failure.

Finally, at the language level, we developed an initial prototype of the language mechanisms that has been packaged together and released as TTPython, which runs on Python3. Our language extends the usual Python programming language, allowing programmers to easily specify application timing constraints by adapting their existing Python programs into the TickTalk framework. Once written in TTPython, programs can take advantage of the system, network, and device mechanisms developed to enforce timing constraints in a low-power fashion.

The project additionally facilitated several educational activities. Two courses at CMU made extensive use of low-power synchronization mechanisms developed during the project: one on Wireless Device Architectures and one on Connected Embedded Systems. Five graduate students and one undergraduate student worked on the project over the past three years. The students participated in weekly all-hands meetings as well as individual research meetings with their faculty advisors. Thus, they gained experience in working on a team with diverse backgrounds and managing a large technical project. The public-facing nature of the TTPython open-source release and CPS IoT Week Student Design Competition further trained the students in presenting their research and demonstrating its practical value to a range of audiences.


Last Modified: 02/07/2022
Modified by: Carlee Joe-Wong

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page