Instructor: Xiang-Yang
Li
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:
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.
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
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 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.
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