Syllabus for the Course Offering in Spring, 2007.
The syllabus will be updated throughout the semester. You should not
rely on a copy you downloaded. It may become out of date. This schedule
is organized by weeks and lecture numbers. For each week you will find the dates
of the classes of that week, a lecture title, an examination or a holiday, if
any. Lecture titles are accompanied by a list of sections from the textbooks or
other readings that are relevant to that lecture.
-
- Overview of concurrency and related issues with a historical
perspective.
Suggested reading:
- Gomaa: Chapter 1 (you are not responsible for 1.5)
- Gomaa: Chapter 2 Review UML notation in general from start of Chapter 2
through 2.7. (We will come back to 2.8 Concurrent Collaboration Diagrams and
2.9 Deployment Diagrams after we have discussed types of communication
between concurrent processes.)
-
- Dijkstra's classic six (intentionally wrong) solutions and one correct
one. Each inadequate solution illustrates categories of problems that can
occur when attempting to provide mutual exclusion.
- Characteristics of critical sections and conventions for handling them.
Suggested reading:
- Gomaa: Chapter 3
- Tanenbaum: There are excepts from Tanenbaum's Modern Operating Systems
available under the "assignments" link for this week. You'll need to read
them to do the homework and it would be good to have read them sooner than
that.
-
- Communication by shared variables:
- Processes and synchronization
- Locks and barriers
- Semaphores and monitors
Suggested reading:
- Handout: See .pdf excerpts associated with week 2 (from Tanenbaum) on
the assignments page.
- Gomaa: Chapter 4: 4.1.1, 4.1.2, 4.2, 4.3, 4.4
- Smith & Williams, Performance Solutions, Chapters 1 and 2
-
- Given requirements engineering techniques for standalone programs, what
modifications need to be made to accommodate systems of programs?
- A design representation that did not convey concurrency would be
misleading and would lead to inadequate reviews and implementation. We look
at basic UML and see how to modify design representations to convey
concurrency and synchronization issues.
Suggested reading:
- Review Gomaa Chapter 2. Review notations for state diagrams, system
sequence diagrams, domain models, and design diagrams. These topics were
covered in ECEN4/5033 (now ECEN5543/CSCI5548). For the material of this week
and next, review Chapters 7 through 11 for a reminder of basic OO design
methods and the application of UML.
- Performance Solutions (Smith & Williams): Chapters 3 and 4
-
-
- The first class is a continuation of last week. The second class is an
overview of scheduling principles and algorithms.
Suggested reading:
- Gomaa: Part II, Chapter 6 is an overview of Part II. The Word document
outlines are also an abstraction of Part II. Chapters 7 through 11 of Part
II is review from SW Engineering of Standalone Programs or other sources of
basic OO design and UML diagrams. The material that is directly related to
concurrent software is found in Chapters 12 and 14.
- Continue working at reading Chapters 1 - 4 of Performance Solutions.
-
- Rate Monotonic Analysis is a real time scheduling algorithm that is
provably optimal under certain conditions. We look at how to apply it in
several situations; we also look at an extended case study. Of you have
taken ECEN 5623 Real Time Embedded Systems, you learned about Deadline
Scheduling. That is a subset of what this section covers. I refer to
Deadline Scheduling as scheduling with "pre-period deadlines" in these
lectures.
Suggested reading:
- Gomaa: Chapter 17, sections 1, 2, and 6, pp. 423 - 436 and 442-444.
Section 6 applies this theory to the Cruise Control and Monitoring System
(Chapter 20) we've been using as a running example in the last three weeks.
- Smith & Williams, Performance Solutions: Chapter 14, except 14.5.
The case study discussed in 14.5 is optional reading. It's interesting but
it involves a distributed system which is beyond the scope of this course.
If you haven't done the previously assigned reading of chapters 1 - 4 in
this book, chapter 14 will make less sense.
-
- Basic memory management -- avoiding triggering bad memory management
- Input/Output
- File System characterization and implementation choices, file placement
strategies
Suggested reading:
- PDF files to be posted on the course web site.
-
- Basic memory management -- avoiding triggering bad memory management
- Input/Output
- File System characterization and implementation choices, file placement
strategies
Suggested reading:
- PDF files posted on the course web site.
-
- Security environment
- Basics of cryptography
- Attacks from Inside and Outside the System
- Implications for multi-program systems
- Security Testing
Suggested reading:
- PDF files on Security posted on the course web site.
- By now, you should have read Chapters 1 - 4 of Performance Solutions --
this week we do the assignment on Performance Engineering in preparation for
the lectures by Prof. Dameron and by the author after Spring Break.
-
3/26/2007 - 3/30/2007
- University closed, March 30
-
- The actual date Dr. Williams can visit is yet to be determined. This
unit may be moved elsewhere in the semester schedule.
- The guest speaker, Dr. Lloyd Williams, will expand on the material from
the book. He will provide copies of the performance modeling tool, SPEED, so
that we can work examples in class when he is here. Download the modeling
tool when it has been made available. Work the examples along with the class
when viewing the lecture.
Suggested reading:
- No additional reading beyond Chapters 1-4 of Performance Solutions for
this week. You will be turning in the performance engineering assignment
in preparation for the guest lecture this week.
-
- Principles for performance.
- Guidelines to avoid concurrency problems.
- Scheduling and performance.
- Individual student presentations about patterns and anti-patterns from
the Smith & Williams book.
Suggested reading:
- Smith & Williams, Performance Solutions: Performance-Oriented
Design, Chapter 9
- Smith & Williams, Performance Solutions: Performance-Oriented
Design, your chosen section to prepare as a presentation: from Chapter 10
or from the Patterns and Anti-Patterns web site referenced at the end of
Dr. Williams'lecture slides. Links are also on the assignments web page.
-
- Testing interactions,
- Testing object interactions, off-the-shelf components,
- Testing interactions at the system level
- Testing components
Suggested reading:
- McGregor & Sykes -- Chapters 6 and Chapter 10 (p. 343 - 358)
- Many of you have this text from the previous course in this series.
For those of you who do not have it, I will make PDF files available.
-
- Measuring systems of programs for performance
- Identify bottlenecks and evaluate remedies
Suggested reading:
- Smith & Williams -- Chapter 12
-
- 4:30 p.m. - 7:00 p.m., ECEE 281 (the Circuits Lab) in EE wing, 2 floors above my office
- Although homework and class activities have been done in teams, the
final exam will be an individual effort.
- CAETE students who are local have the option of taking the test in the
classroom. Let me know. Otherwise, CAETE students are expected to make
arrangements with their proctors to take the exam on Monday, May 7, or
Tuesday, May 8, if possible.
You may bring:
- Lecture handouts, class notes, textbooks, a copy of the syllabus (it
helps some students remember the big picture of the semester's topics). Do
not bring old homework, graded or not.
| Instructor |
Revision emergency (2007/5/8 1:28
p.m.) |