CS595: Foundations of Cyber-Physical Systems (Fall 2011)

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, RGID, 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 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. NSF NETS-CPS: Managing Loosely Coupled Networked Control Systems with External Disturbances., NSF CNS-1035894, and
  2. NSF NeTS-NECO: Some Fundamental Problems for Performance Study of Opportunistic Spectrum Utilization, NSF CNS-0832120.

Administrivia

1)   Classroom: Stuart Building 239

2)   Date/Time: W 6:25pm-9:05pm (see IIT calendars for holidays: Thanksgiving Break Begins Wed, Nov 23)

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: TaeHo Jung, Email: tjung@hawk.iit.edu; 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 this link for the list of papers to be presented, and the term project group information.

Prerequisites

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.

Textbook

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 term project (50%) (term project is formed by a team of students, but the team size should NOT have more than 3 members)

i)     You have to really implement the project in real hardware system 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)  Each group need to submit a 2 page project proposal by the end of the 4th week (September 16th, 2011). Upload this to blackboard for your group.

iv)  Each group need to demo your project to me either on December 1st or December 2nd, 2011. You can arrange special timeslot for demo if you receive permission from the instructor before December 1st, 2011.

b)   One term paper (30%) (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). The paper is due on December 7th, 2011 (Wednesday). Upload this to blackboard for your group.

c)   Class attendance and paper presentation (20%) (Each student is expected to read at least ONE research paper and be able to lead the discussion about the paper.)

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

ii)   Paper presentation counts for 15%.

iii)  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. The summary should be submitted to TA (uploaded to the blackboard) by December 7th, 2011.

d)   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 Sensys, ACM MobiSys, ACM/IEEE ICCPS, 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.

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

1)    2 page project proposal by the end of the 4th week (September 16th, 2011)

2)    15-20min presentation at the middle of the semester to introduce your project (dates September 21, September 28,)

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

4)    15-20min presentation at the end of the semester to demo the final results of your project (November 30th, 2011). 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). The paper is due on December 7th, 2011 (Wednesday).

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 Presentation guidelines (you should follow this to present papers and your projects.):

Each student is required to read and lead the presentation of one paper (starting from September 19th 2011, ending on December 3rd 2011). Bring your own laptop to present slides and paper. The presentation dates are decomposed into the following sets:

a)    Project Kickoff Presentation: {September 21, September 28},

b)    Technical Paper Presentation: { October 5th, October 12,  October 19th, October 26th,  November 9th, and November 16th }, and

c)    Project Mid-stage Presentation: { November 2 }, 

d)    Final Project presentation { November 30th, 2011}

Each presentation for a) and b) will last 25 minutes (20 minutes for presentation and there are additional 5 minutes for Q&A). Thus, each day can host at most 6 presentations. For project kickoff presentation, each group will need to reserve a timeslot (numbered 1 to 6) for presentation in one of the two days. 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 (a, c, or d) about the team project at least once.

The Technical paper presentation: EACH student has to do one technical paper presentation. The paper is selected from the list of papers provided by me (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. Send me your selection of the paper no later than September 29th, 2011.

For EACH technical paper presentation, you need to write a 5-page summary in IEEE proceedings format. The summary should be your own summary of the paper you presented and some papers closely related to what you presented.

For Remote Students: If you are remote student and can only do the individual term project, your term project is technical paper presentation. Your presentation will be played on the empty slots that are not reserved by other students or groups. If you do individual term project that mainly focuses on research questions without implementing CPS systems, you need to do three 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.

For group term project that will implement some CPS systems, the three 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.

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)

Updated by XiangYang Li, August 2011