CS557: Cyber-Physical Systems: Networking and Algorithms

Instructor: Xiang-Yang Li

Description and Goals

Cyber-Physical Systems (CPSs) are dynamical systems that have both continuous and discrete components. CPS can form a unifying modeling framework for many different scientific and engineering problems. Examples include - but are not limited to - embedded systems, robotics, real-time software, power networks, transportation systems, process control, green building, mobile health, biological systems, etc.

The course will start with a review of necessary background topics such as applications of CPS in different fields, the emerging enabling technologies such as wireless sensor networking, RFID, smartphone and mobile computing, and mesh networks. Then, the course will discuss wireless sensor networks, real time systems, modeling, analysis and design of hybrid systems. Presentations of wireless sensor networking technology, existing real time system scheduling, algorithms and protocols for various networks will complement the application oriented material of the class. New and emerging topics in both theoretical CPS research and CPS applications will be presented as well.

The goal of the course is to provide students with the necessary foundations to apply wireless sensor networking, scheduling theory, and algorithms in the field of CPS. The focus of this class is to discuss and understand the challenges in emerging Cyber-Physical systems, open distributed real-time systems, mobile computing, and wireless sensor networks. We will study different perspectives of wireless networks, such as various MAC protocols, routing protocols, scheduling protocols, localization, clock synchronization, data aggregation and data fusion, compressive and cooperative sensing, security, fault detection and diagnosis, online programming, and networked control systems. We will also study the interaction of different systems and explore possible solutions from different perspectives, such as from specifications, system modeling, agent design, architecture design, sensors/actuators, wireless sensor networks, and software engineering, etc.  The topics are directly related and linked to several NSF funded projects:

  1. USA NSF CNS-1035894, NETS-CPS: Managing Loosely Coupled Networked Control Systems with External Disturbances,

2.   USA NSF CCSS-1247944, EARS: Providing Predictable Service and Spectrum Access with Realtime Decision in Cognitive Multihop Wireless Networks,

3.   USA NSF CCSS-1343306, EARS: Modeling and Analysis of Radar / Communications Spectrum Sharing Opportunities,

4.   USA NSF CMMI 1436786: Collaborative Research: Coordinated Real-Time Traffic Management based on Dynamic Information Propagation and Aggregation under Connected Vehicle Systems


1)   Classroom: Stuart Building 107

2)   Date/Time: Monday 6:25pm-9:05pm (see IIT calendars for holidays: Martin Luther King, Jr. Day, January 20th, No Classes; Spring Break Week, March 17th-March 22th, 2015, No Classes; Last Day of Class, May 2, 2015.)

3)   Instructor: XiangYang Li; Electronic contact: xli at cs dot iit dot edu; Office: SB 229C; Office hours: M, W: 2-3pm

4)   Teaching Assistant: TBA, Email: TBA; Office: SB 019B, Office Hours: Friday 1PM to 3PM.

5)   Course Lectures: See the following links for the course schedule and lectures

6)   Paper Presentation: See possible papers to present (papers published before 2011, and papers published between 2011 and 2015), See this link for the possible schedule of papers to be presented (schedule will be based on topic), and the term project group information.

Important Due Dates:

The following are important due dates

1.   Project Group Information: January 26th. Sent to TA the project topic, and student members.

2.   Paper selections/presentations: due by Feb 2nd, 11:59PM. Sent to TA.

3.   The PPT/PDF file of your presentation: draft one week in advance, and final version one week within your presentation. Upload to Blackboard.

4.   2-page Project Proposal due: Feb 2nd, at 11:59pm. Upload to Blackboard.

5.   First draft of Term paper due: April 27, at 11:59pm. Upload to Blackboard.

6.   5-page paper summary of the paper you presented: April 27th, 11:59PM. (Recommended: first draft one week within your presentation). Upload to Blackboard.

7.   Final project Demo by: May 1st, at 11:59pm. Demo to instructor or TA.

8.   Final project (your programming code) due: May 2nd, at 11:59pm. Upload to Blackboard.

9.   Final Term paper update due: May 2nd, at 11:59pm. Upload to Blackboard.


Undergraduate/graduate courses in networking and programming are preferred but not required. Some knowledge about electronic engineering, linear systems, and computer networking is an advantage. However, the course will provide a short review on the necessary background material. Finally, it is assumed that the students are familiar with some programming language, such as C, or NesC.


There is no mandated textbook. Recommended books are:

1)   J, Liu, Real Time Systems, ISBN-10: 0130996513 | ISBN-13: 978-0130996510

2)   Wireless Ad Hoc and Sensor Networks: Theory and Applications, ISBN-13: 9780521865234, Pub. Date: June 2008, Cambridge University Press. By XiangYang Li

3)   TinyOS programming, By P Levis

4)   P. Tabuada, Verification and control of hybrid systems: a symbolic approach, Springer-Verlag 2009

5)   J. Lygeros, Lecture notes on hybrid systems, 2006

6)   C. Cassandras, S. Lafortune: Introduction to Discrete Event Systems, Springer 2007

7)   A.J. van der Schaft, J.M. Schumacher, An Introduction to hybrid dynamical systems, Lecture Notes in Control and Information Sciences, Vol. 251, Springer-Verlag, London, 2000.

8)   D. Liberzon, Switching in systems and control, Birkhauser, 2003

9)   E. A. Lee, P. Varaiya, Structure and Interpretation of Signals and Systems, 2002

Grading (this is tentative grading policy, and the instructor reserved the right to do small changes).

a)   One Technical paper presentation (25% of your score) (Each student is expected to read SEVERAL research papers in one research area and be able to lead the discussion about the papers.)

i)     Paper presentation counts for 15%.

ii)   Summary (10%): For the technical paper presentation, EACH student needs to write a 5-page summary in IEEE proceedings format. The summary should be your own summary of the paper you presented and some recent papers closely related to what you presented. The technical summary paper is NOT the term paper report.

b)   One term project (50% of your score) (term project is formed by a team of students, but the team size should be 2 typically, and NOT have more than 3 members)

i)     (35%) You have to really implement the project in real hardware system (or smartphones) and show that it works.

ii)   Each student in the group will be graded equally unless it was reported to me and confirmed that some student did not do the project equally.

iii)  (3%) Each group need to submit a 2 page project proposal based on the deadline mentioned. Upload this to blackboard for your group.

iv)  (12%) Each group need to demo your project to me by the deadlines mentioned (total 3 presentations). You can arrange special timeslot for demo if you receive permission from the instructor before Nov. 20th, 2013.

c)   One term paper (20% of your score) (a research paper that successfully addressed some challenging questions on the team project is encouraged. If it is a team term paper, the team should be same as the one for term project.)

i)     8-15 pages paper in IEEE conference format (thus counted as term paper for team project. Upload this to blackboard for your group.

d)   Class attendance (5% of your score)

i)     We will do attendance monitoring. You can miss one class at most among all monitored class attendances. This account for 5%.

e)   No midterm and final exams for this course.


To get A, you need perform well in all aspects of the class. Generally, (this is tentative), you get grade A, if your score is at least 90 (out of maximum 100). You get B, if your score is [75, 89], and C if your score is [60,74]. For undergraduate students, you will get D if your score is [50,59] and you will get E if your score is [0,49]. For graduate students, you will get E if your score is [0,59]. The instructor reserves the right to change the scale here.


The term project is a team project; each team can have up to 3 team members from the class. All students are required to do team project (exceptions will only be made for remote students who cannot form a team). All members in each team will be graded equally for the team project unless it has been verified that some students contribute significantly less.
If the term paper is not about findings from the term project, the term paper must be submitted individually and it should be the result of individual effort. Examples of individual term paper include, but are not limited to, (1) survey on some research topics, (2) successful addressing of some challenging research questions. Having said that, discussions with your classmates on the research topics are strongly encouraged. It should be written in conference format.
If the term paper is from the term project, it must be formed like a conference paper that summarizes the results from term project, including, technical challenging questions that are successfully addressed, and NEW algorithms or protocols that are presented and implemented, and new experiment results collected from the project.
If you are remote students who cannot form a team with other students, term project and term paper could also be individual effort. Note that you still need to term project and term paper. If you are remote student and cannot do your presentation in the classroom 239SB, you can prepare PPT, video-tape your presentation, and send me your files. We can then play your presentation of the paper in classroom.

Term Paper Ideas:

1)    Reading papers on some related topics, and then writing a comprehensive survey on some topics. Examples of topics are: application of CPS in various industries, scheduling results in CPS, and security issues in CPS.

2)    Comprehensive and well organized literature review from last CPSWeek conferences or other related conferences.

3)    Work on some specific challenging research topics and write a paper about your research results. This could be a theoretical problem which could lead to publication in some research oriented conferences or journals.

4)    Work on some specific systems (this is typically the system your team work on as a term project), and then write a technical paper that addresses the challenging issues in your systems. This is similar to papers published in ACM MobiCom, ACM Sensys, ACM MobiSys, ACM/IEEE ICCPS, ACM HotMobile, IEEE INFOCOM and so on.

Term Project ideas (you are encouraged to propose your own team projects, and discuss with me the feasibility of your projects.):

1)    Modeling/Simulation/Verification/Synthesis/Implementation of some CPS systems

2)    Something related to your own research. You implement the protocols you designed and then evaluate the performances of your protocols in real systems or testbeds.

3)    Real CPS systems, such as

i)     using multi-hop sensor networks to control the movement of a toy-car (an imaginary scenario is that this toy-car has some attached devices, such as camera, that can help some rescue activities)

ii)   using wireless sensor networks to monitor the environment, and collect the data, and control the system (examples including wastewater processing systems, and water monitoring (see EPA report on this), and greenOrbs Projects)

iii)  mobile health, using wireless sensor networks (examples of smart health, mobile health. See GE and Intel Joint Venture)

iv)  security protocols for CPS (See a link from TUD on Security issues of CPS)

v)   CPS for structure health monitoring (SHM), examples include CPS for wind turbine monitoring (some papers Paper 1; Paper 2), CPS for bridge monitoring(see UIUC project by B Spencer, and G. Agha), and Green Building

vi)  Smart home system: using sensors and actuators to control the light of a room, where the control is done by cell-phone. Some system and papers can be found at (Green Buildings: Optimization and Adaptation) http://www.seas.upenn.edu/~cis800/papers.html 

vii)Smart car systems: using cell-phone to start/turnoff the air condition in a car.

viii)       Video monitoring systems using cameras and sensors.

Group Project deliverables (each will count toward your overall score for project):

1)    2 page project proposal (Feb 2)

2)    15-20min presentation at the middle of the semester to introduce your project (Feb 9)

3)    15-20min presentation at the late weeks of the semester to demo the progress of your project (date  March 30th  )

4)    15-20min presentation at the end of the semester to demo the final results of your project (April 27th). Bring your own laptop to present slides and to demo your application. The presentation should demo your implementations of some real systems. Your group needs to run your application or demo your system. Demonstrate what it does for its users. Show that your system functions properly. You also need to submit the programming code that work properly and the possible hardware design if possible.

5)    8-15 pages paper in IEEE conference format (thus counted as term paper for team project).

Individual Paper presentation deliverables (each will count toward your overall score for project):

1)    Paper presentation slide

2)    5-page summary of papers read by you.


Project grading: a successful project paper should be of the order of a conference paper. In particular, the following four aspects of a paper were considered in project grading:

1)   Project has a clear goal

2)   Goal has a clear value if achieved

3)   There are novel ideas involved in achieving the goal

4)   These ideas work

In summary, the project grade is based on answers to these questions: Clear goal? Has value? New ideas? Ideas work?

All "YES" means an "A". Exceptional performance on these dimensions is an "A+". Deficiencies in one or more dimensions result an "A-" or lower, depending on their severity. If you would like to get detailed written feedback on your project report please let me know and I will give you a marked hard copy. If you disagree with my assessment of any of the above regarding your project, please see me. I would be happy to discuss the final project grade with you and fix it if appropriate.

Paper and Project Presentation guidelines (you should follow this to present papers and your projects.):

Paper presentation: See these two lists for possible papers to present (papers published before 2011, and papers published between 2011 and 2015). You can also suggest some really good papers to present, but this needs to be approved by the instructor before you can present this paper. The selection of the paper from the list is first-come-first-service. No TWO students are allowed to select the SAME paper. Each student is required to read and lead the presentation of one paper (starting from April 6th 2015, ending on April 27th 2015). Bring your own laptop to present slides and paper.

Each paper presentation will last 30 minutes (25 minutes for presentation and there are additional 5 minutes for Q&A). The presentation is done in alphabetic order of studentí»s last name.

Each of the 3 project presentations will be 25 minutes (20 min for presentation, and 5 min for Q&A). The presentation order is given by instructor. This order will also serve as the presentation order for the mid-state presentation, and the final presentation. For team projects (implementing some systems), each presentation can be done by the group together or by one student. However, EACH student in EVERY term project group HAS to do a presentation about the team project at least once.

The three project presentations of the group will be as follows

1)   Presentation Kickoff covers the following material. What is your proposed project? Define clearly the goal of your project and what we should expect from your project. The background and literature review of existing projects related to your proposed project. The possible challenges in implementing your projects. The possible design and implementation approaches.

2)   Presentation Mid-Stage covers the following material: Explain your design. Discuss design alternatives, Computer science and cyber-physical system aspects of your project, such as algorithms, choice of programming languages, software architecture, development tools, testing, etc; The current status of your project; The possible challenges faced by your group in implementing the project; Management aspects such as your project plan, critical paths, means of team communication (e-mail, chat room, meetings, version control system).

3)   Presentation Final: covers the following material: Explain your design. Discuss design alternatives, Computer science and cyber-physical system aspects of your project, such as algorithms, data to show the performance of your systems, system architecture. The challenges faced by your group in implementing the project and how you address these challenges; Lessons learned from the project, and future plan for the project. Management aspects such as your project plan, critical paths, means of team communication (e-mail, chat room, meetings, version control system).


How to do a good presentation: Wear professional attire; Clear and concise manner of speaking; Professional-looking audio/visual material such as slides; Split the presentation time about evenly among the members of your team and rehearse the hand-off when the presentation is done by a team. Rehearse your presentation and demo, and time the duration of each part.

One or more group members may deliver the presentation, but all group members are expected to be present and available to answer questions about the project. During the presentation all group members should join together with the presenter at the front of the room. Please put any electronic materials on a memory stick or post to the web in a readily available location.

For Remote Students: If you are remote student and can only do the individual term project, you can do a scaled-down implementation project and still need do the 3 presentations about your project. Your presentation will be played on the empty slots that are not reserved by other students or groups. You also still need to write term paper and do technical paper presentation.

If you are remote student and get approval from the instructor that you can do individual term project that mainly focuses on research questions to replace the project that purely focuses on implementing CPS systems, you need to do three technical paper presentations in total in the semester, and your three presentations will be composed of presenting three different technical papers related to your research. Notice that you still need to write a term paper for the semester that addresses some NEW challenging problems, in addition to the requirement for each presentation (such as writing a summary report for the presentation). It is strongly recommended that you talk with me on the research project before you start working on it.

Course Subjects (tentative)

This course covers the unfolding research challenges and directions in distributed sensor networks and cyber-physical systems, discusses common misconceptions, presents the underlying theoretical foundations, and sheds light on related recent standards and embedded system technologies. The class is primarily paper-reading. It is divided into four main parts;

1.   a brief introduction to distributed cyber-physical systems,

2.   a description of emerging applications,

3.   a list of major distributed services and underlying foundations, and

4.   a description of software design, development, and testing challenges.

We may cover the following detailed topics,

1)    Review: Continuous systems theory

2)    Review: Discrete event systems

3)    Modeling frameworks and systems properties

4)    Modeling and simulation tools

5)    Introduction to wireless sensor networks

6)    Introduction to real time scheduling

7)    Introduction to hybrid systems

8)    Controller design and synthesis

9)    Scheduling in control systems


See the following links for the course schedule and lectures


List of papers/articles related to this course (recommended reading) (In PDF format) --- papers till 2011.

List of papers/articles related to this course (recommended reading) (In PDF format) --- papers 2011--2013.

Updated by XiangYang Li, Jan-8 2015