The course will cover techniques for developing high assurance systems – systems that are safety critical, security critical, or mission critical in nature. In contrast to general purpose systems, high assurance system development tends to place a more stronger emphasis on rigorous requirements and specifications, verification and validation, risk management, and certification. High assurance system development is more likely to be amenable to and benefit from formal verification techniques – techniques that use various forms of machine-checkable mathematics or logic to demonstrate that a system satisfies its specification. The goal of this course teach techniques for developing critical software that would usually not be covered in other courses in your computer science degree program. In particular, the course will focus on writing requirements for safety critical systems, formal architecture definition, risk management techniques including various forms of hazard analysis, safety systems, and automated verification. We will aim to illustrate an end-to-end development process for critical systems using examples of varying size.
Note: There is not enough time in the course to cover all topics relevant to safety-critical system development in detail. Topics chosen by the instructor in a particular semester will depend on the instructor’s current research activities.
For Spring 2024, the following topics will be covered...
Objectives change depending on the instructor chosen content of the course. For Spring 2024, at the end of this course, you should be able to demonstrate the following knowledge and skills:
Time: | Tuedays (T) & Thursdays (U), 2:30pm - 3:45pm |
---|---|
Place: | DUE1116 |
The course does not have any official prequisites, but CS 721 Real-Time Systems would be helpful.
There is quite a bit of programming in the course, so strong experience with programming and development environments will be helpful.
3 credits
John Hatcliff, Office: 2160 Engineering Hall, Office Hours: by appointment
Final letter grades are assigned based on the following scale: 90% to earn an A, and 80% to earn a B; 70% to earn a C, and 60% to earn a D.
This course includes both individual assignments and team projects. Individual assignments are expected to be completed “individually” (with no collaboration with other students). For team projects, each student is expected to make a unique and substantial contribution to the assigned project. Expectations for the project will be clarified by constructing a written contract that will summarize scope of the project, expected artifacts along with format and completeness of artifacts to be delivered, role and responsibilities of individual team members. The department does not assign a teaching assistant for this course. Because it will be difficult for the instructor to cover all the grading responsibilities for the course, the assessment mechanisms for the course will involve students in the course critiquing and evaluating work of other students (note that this type of activity will be overseen by the instructor to ensure quality).
In general, there will be NO make-up exams (and homework)! Special consideration will be given in only exceptional circumstances. Exceptional circumstances are generally limited to:
If you believe you qualify for exceptional treatment, you must notify the instructor prior to the date of the exam or exercise to be missed.
Kansas State University has an Honor System based on personal integrity, which is presumed to be sufficient assurance in academic matters one’s work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor System. The policies and procedures of the Honor System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning. The honor system website can be reach via the following URL: http://www.ksu.edu/honor.
A component vital to the Honor System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: “On my honor, as a student, I have neither given nor received unauthorized aid on this academic work.” A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.
For a more complete discussion of these issues see the course policies for the College of Engineering at Kansas State University: http://www.cis.ksu.edu/resources/intradept/syllabuspolicies.
All lectures and course materials are copyrighted. During this course students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of the instructor teaching this course.