Course Outline for Winter 2004
NOTE: This is a graduate reading course in the CIS department with strictly limited enrolment. The Instructor's signature is required to register for this course.
In-depth study of formal process algebra CSP (Communicating Sequential Processes), and use in modeling computer systems. Use of software tools for simulation and formal verification of CSP specifications. Techniques for system synthesis from CSP specifications.
CIS*6090 is recommended, or similar background in embedded systems. Any background in formal methods will be helpful.
The immediate objective is to prepare students for research in system synthesis (i.e., automatic source code generation) from formal specifications using CSP. To do this well, it is necessary to learn the constructs of the CSP process algebra, and become familiar with using those constructs to model concurrent systems. Another objective is to recognize what properties of concurrent systems can be formally verified (e.g., absence of deadlock), and learn how to use verification tools to check them. Still another objective is to develop CSP case studies for use in system synthesis research. The goal is to achieve software and hardware synthesis for embedded systems from CSP specifications. Knowledge and use of formal methods are uncommon in Canadian industry, and it is hoped that this training of "high-quality personnel" will help to widen that use where it is most beneficial.
There will be a 2-hour seminar-like study session each week based on the textbook, with each participant taking turns leading the presentation and discussion. During the week we will be working chapter problems and preparing to discuss the solutions at the next study session.
Separately, students will be working through tutorials and carrying out labs on the Probe and FDR tools, which will be employed in conjunction with textbook problems.
Students will carry out a literature survey of current research (focus is negotiable). At the end of the course, students will give a presentation on their survey results and hand in a written report.
The Theory and Practice of Concurrency, by A.W. Roscoe, Prentice Hall, 1998.
Case study (creating CSP case study and implementing with CSP++) |
|
According to CIS policy on reading courses, students are responsible for submitting monthly progress reports to the co-examiner. Failure to submit these reports in a timely manner will impact the final grade.