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)
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.
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
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
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.
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
Updated
by XiangYang Li, August 2011