Programming Cyber-Physical Systems
198:671 Graduate Seminar, Fall 2010
(index 16096)


Annoucements

Class Information

Meeting times/location: Fridays, 10:00am-1:00pm, CoRE B (CoRE 305, small conference room, third floor in CoRE building).
We will not use a text book, but a selection of papers that cover the discussed topics.

If you have any questions regarding this seminar, please contact me by email (uli@cs.rutgers.edu) or stop by my office (CoRE 318).

Course Description

There is a large class of system architectures that contain software (cyber) and physical components. Physical processes may change particular conditions that a cyber component senses. In response, the software components may perform a particular computation and/or may influence the physical processes through physical actuators, which in turn may result in new sensor readings etc. This interplay and feedback between cyber and physical components defines a cyber-physical system, which in some cases also includes human interactions ("human in the loop").

The phrase "Cyber-Physical Systems" was termed around 2006 to describe systems that include real-time and embedded systems, with the additional feature of possible communication between system components. This allows cyber and physical processes to collaborate with each other to form a distributed system, increasing the overall complexity of the resulting architecture over traditional real-time and embedded systems.

Cyber-physical systems include (incomplete list)

Most of these applications have strict requirements with respect to some or all of the following
  1. real-time
  2. reliability and robustness (dealing with uncertainty)
  3. correctness assurance (verification and validation)
  4. human in the loop interactions
For example, before new hardware or software can be integrated within a car, plane, or medical device, there are strict correctness requirements that have to be met. The cost of this certification process is very high. As a result, hardware or software components are typically not changed during the lifetime of a product due to the high cost of re-certification necessary after any modification. While in traditional real-time and embedded systems a "closed box" approach may be used for verification and validation, this strategy may not be applicable in cyber-physical systems due to the unpredictability / uncertainty of possible inputs and interactions.

Cyber-physical systems also include systems where no particular execution deadline can be enforced due to the nature of the underlying computing or communication architecture. These systems are typically opportunistic and provide a service that is desirable, but not crucial for the survival of the entity that tries to access the service. For instance, a cyber-physical system that optimizes airflow for heating and cooling of a building may miss a duty cycle (miss a re-adjustment deadline) with only minor consequences to the inhabitants of the building. However, a vehicular cyber-physical system for collision detection that misses the deadline may result in serious injuries to the passengers.

In this course, we will focus on issues related to cyber-physical systems with soft execution time deadlines . We will also concentrate on systems that are battery operated, i.e., cyber-physical systems where energy is a crucial resource that needs to be managed, possibly trading off system functionality for energy savings. Our target cyber-physical systems are

  1. Sarana, a programming architecture (middleware) for spatiotemporal applications in a dynamic, opportunistic network of smart phones (e.g.: iPhone, Android phone).
  2. A programming system for autonomous underwater vehicles (AUVs), targeting the Slocum glider and groups of gliders.
  3. Intel's SCC, a high-performance, multi-core programming architecture that allows energy vs. performance tradeoffs, and can serve as a single-chip cloud computer as part of a cyber-physical system.
Students taking this graduate seminar will learn about the design and programming challenges of cyber-physical systems, their energy consumption, and their overall evaluation.

Course Outline

Students are required to present at least two research papers, work on one larger project, and write and present a project report. The tentative syllabus is as follows:
  1. Introduction and overview; Sarana, the Slocum glider, and the SCC
  2. Power, energy, and thermal management issues
  3. Small project: Using a power measurement infrastructure
  4. Topics in spatiotemporal programming - paper presentations
  5. Topics in AUV programming - paper presentation
  6. Programming the SCC - paper presentations
  7. Project discussions and assignments
  8. Other topics for cyber-physical systems
    1. Security and privacy in dynamic networks
    2. Challenges in power evaluations
    3. Power/energy management for high-performance systems
  9. Project presentations
Since I believe that you cannot optimize or improve what you cannot measure, students will learn how to use a power measurement infrastructure, and how to use this infrastructure to measure the power/energy behavior of a system. The main project will be the core part of the course. Depending on the particular project, students may work by themselves or within groups. The project report should be workshop quality, i.e., at a level that would allow publication. As a consequence, the projects will contain a significant experimental evaluation component. Course participants are expected to help each other during the evaluation process (e.g.: take part in a dynamic network of smart phone on campus).

Sample Projects

Here is a list of possible projects (tentative and incomplete). All projects will require the design and implementation of an evaluation methodology of the new cyber-physical system.

Main Project

Three possible projects cover Sarana, the SCC, and Slocum glider. The project report should have the following template (pdf, tex).

Due date: not yet determined.

Lectures and Presentations (incomplete list, subject to change, not necessarily in chronological order)

Under Construction

Small Power Measurement Projects

The goal of the first project is to make you appreciate the challenges involved in measuring power and energy in a real system. You will perform power measurements on a desk top system available in the EEL lab (Core 334). A short description of the overall power measurement infrastructure, and the initial project is available by clicking here. A short project report (no more than 3 pages in pdf) is due on October 22.

Other projects of interest to us would be:

How to Survive Graduate School, Keep the Big Picture in Mind, and More




Last updated by Ulrich Kremer at 11:35pm on September 2, 2010