for merge

advertisement
C.Sc. 484 - Distributed Computing Theory
Bruce McMillin - Computer Science - Room 322,
Phone 341-6435, ff@mst.edu
Office Hours: Monday, Wednesday 8:30-10
Textbook: Concurrency in Programming and Database Systems, by Art Bernstein, and
Phil Lewis, 1993, Jones and Bartlett
INTRODUCTION
Distributed computing can blur geographic distinctions as well as improve performance
through concurrency for applications running on networks of individual computers such
as distributed database; it can improve reliability for responsive applications such as
aircraft fly-by-wire. Writing concurrent programs that are correct, safe, fault-tolerant, and
efficient is hard. Mathematics provides a sound, theoretical basis for Formal Methods in
Software Engineering. These formal methods in concurrent program
specification/verification are used to aid in the analysis and creation of distributed
software. This course examines fundamental issues in making individual computers
function together, transparently, as a Distributed Computing System.
Introduction to Distributed Computing
Network Review Book, 7.1
Book, 1.2 -1.4
Problems 1.1(5),1.2(5),1.4(5),1.6(5),1.7(15),1.8(10)
Sequential Program Reasoning
Chapter 2 Sequential Programs
Book, 2.1-2.6
Problems 2.1(5),2.2(5),2.3(10),2.4(5),2.5(10),2.6,2.7(10,5),
2.9(5),2.10(10),2.11(10),2.16(15),2.17(15),2.18(15),
2.20(15),2.21(15),2.22(15),2.24(5)
Concurrent Specification/Reasoning Paradigms
Chapter 4, Shared Memory Concurrent Programs
Book, 4.1-4.10
Problems 4.2(5),4.5(15),4.7(15),4.8(15),4.9(15),4.10(10),
4.11(10),4.14(15),4.15(15),4.16(15),4.17(10),4.20(15)
Papers - Temporal Logic: Proving Liveness Properties of Concurrent Programs Owicki and Lamport, ACM TOPLAS, 1982
Problems TBA
MIDTERM EXAM – March 16 – In class
Chapter 6, Synchronous (Distributed) Programs
Book, 6.1-6.7
Problems 6.2(5), 6.7(15),6.8(15),6.10(15),6.12(15), 6.6(15),
,6.13(20),6.15(20),6.16(15)
Chapter 7, Asynchronous (Distributed) Programs
Book, 7.2-7.11
Problems 7.4(10),7.5(15),7.7(15),7.8(15),7.11(15),7.14(15)
Mechanical Correctness Proofs
Paper: Model Checking
SPIN , CADP - LOTOS
Computer Exercise - Mechanical Verification of Programs
Exam
COURSE DETAILS
Format
Each week during class will be a combination of lecture and problem solving sessions in
which class participation is required. Problems will be from the textbook and from the
papers we read and each has a point value (in parenthesis). Each student will be
required to present several problems during the semester totaling at least 50 points.
More problems may be presented for extra credit. All students are responsible for all the
material presented during the semester. Presentation grading will be done with the
attached rubric. You must attempt a problem if called on, even if you haven’t been able to
solve it on your own; if you have not tried to solve the problem before coming to class,
you are not prepared and you get a 0.
Grading Policy: Grades will be assigned as follows:
20% Midterm Exam
20% Final Exam
50% Problem sets and class participation.
10% Computer Aided Verification Work
___
100%
You are encouraged to collaborate on the Problems and in the Problem Solving Session.
The Exams, however,, MUST BE YOUR OWN WORK. Any cheating will result in a
failing grade for the course and appropriate university procedures being followed.
Attendance
Since the class is a seminar type class, attendance is mandatory. If you miss more than
three classes during the semester, you will be dropped from the course. Class
participation is based on your interaction during the lecture and during the problem
solving sessions. Be on time – class starts at 9:30, do not be late. Coming to class late
will be counted as ½ a missed class.
Prerequisite Knowledge
Students should have a knowledge of operating systems as a prerequisite and a solid
mathematical logic background. A background in local area computer networks may be
helpful but not required.
Campus Policies
Academic Alert System: http://academicalert.mst.edu
I will utilize the online Academic Alert System. The purpose of the Academic
Alert System is to improve the overall academic success of students by improving
communication among students, instructors and advisors; reducing the time
required for students to be informed of their academic status; and informing
students of actions necessary by them in order to meet the academic requirements
in their courses.
Disability Support Services: http://dss.mst.edu
Any student inquiring about academic accommodations because of a disability
should be contact Disability Support Services so that appropriate and reasonable
accommodative services can be determined and recommended. Disability
Support Services is located in 204 Norwood Hall. Their phone number is 3414211 and their email is dss@mst.edu. Instructors may consider including the
following statement on their course syllabus as a means of informing students
about the services offered:
"If you have a documented disability and anticipate needing accommodations
in this course, you are strongly encouraged to meet with me early in the semester.
You will need to request that the Disability Services staff send a letter to me
verifying your disability and specifying the accommodation you will need before I
can arrange your accommodation."
Academic Dishonesty: http://registrar.mst.edu/academicregs/index.html
Page 30 of the Student Academic Regulations handbook describes the student
standard of conduct relative to the System's Collected Rules and Regulations
section 200.010, and offers descriptions of academic dishonesty including
cheating, plagiarism or sabotage. A description of the process for dealing with
issues related to academic dishonesty, is available on-line at http://ugs.mst.edu .
If you have any questions about the Campus Policies information listed above, please contact
the Office of Undergraduate Studies at 573-341-7276.
Theory Rubric (Constructing and Understanding Proofs)
1. SYNTAX (Understanding of the mathematical language used)
a) Inadequate: The use of mathematical notation cannot be understood.
b) Needs improvement: The intended meaning can be discerned from the proof, but
the use of mathematical notation is incorrect in many places.
c) Adequate: The intended meaning is clear and there are only a few places where the
mathematical notation is used incorrectly.
d) Excellent: The proof is clearly written with correct usage of mathematical
notation.
2. SEMANTICS (Understanding of what proof by induction means)
a) Inadequate: The student has not demonstrated an understanding of the structure of
a proof by (contradiction/ induction).
b) Needs improvement: The student seems to understand how a proof by induction
(contradiction) is supposed to look, but has difficulty fitting the structure to the
specific problem.
c) Adequate: The student has demonstrated that they understand the logic underlying
an induction (contradiction) proof but there are some errors.
d) Excellent: The student has demonstrated that they understand the logic underlying
an proof by induction.
3. LOGIC (Understanding how to tailor the proof technique to the specific problem)
a) Inadequate: The student's proof fails to address the statement of the theorem.
b) Needs improvement: The student understands what needs to be proven, but cannot
find adequate statements (e.g., an appropriate induction hypothesis) which would
logically prove the statement.
c) Adequate: The student understands the statement of the theorem and how to tailor
an induction proof to the problem instance, but fails to complete the argument to
form a correct proof.
d) Excellent: The student provides a logically sound proof.
Download