Overview
COMP 617 introduces essential concepts of real-time computer systems in which the correctness of the system behaviour depends not only on the logical results of the computations, but also on the physical instant at which these results are produced. In this system, real-time software must be both logically and temporally correct by means of deterministic timing constraints and predictable computation behaviour, concurrency of the computation processes, perfect reliability and fault tolerance, and so on. Applications and examples of real-time systems appear as part of our daily life such as vehicle control systems for automobile and aircraft, traffic control systems, medical systems, home utilities, and security monitors and control systems, etc.
This course gives general definitions and architectural frameworks for designing, analyzing, and building real-time software. It discusses software engineering methodologies for system development and design, and it analyzes real-time schedule methods, execution time prediction, fault tolerance, validation, safety, and reliability. Software design patterns and patterns-based approaches are illustrated to build real-time software.
The course is geared towards practicing professional software developers and computing science majors at the graduate level. It balances professional software development with theoretical approaches. It assumes a reasonable proficiency in certain programming languages and basic understanding of object-oriented software. The course focuses on system architectural analysis and design rather than programming.
Learning outcomes
Upon successful completion of this course, you should be able to
- identify essential features in real-time systems.
- examine the models of temporal control and logical control in real-time system.
- perform comparative analysis of real-time schedule methods.
- analyze software architecture patterns in real-time systems.
- conduct fault tolerance analysis and software validation for designing safe and reliable real-time systems.
- design and analyze real-time applications.
- effectively communicate course work in writing.
Objectives
This course is designed to
- introduce fundamental concepts of real-time software.
- provide methodologies of real-time computing analysis, system performance, safety analysis, and system architecture analysis.
- expose students to the development and engineering approaches in real-time systems.
Evaluation
To receive credit for COMP 617, you must achieve a cumulative course grade of B- (70 percent) or better, and must achieve an average grade of at least 60% on the assignments and a grade of 60% on the oral presentation. Your cumulative course grade will be based on the following assessment.
Activity | Weight |
Assignment 1 | 20% |
Assignment 2 | 20% |
Assignment 3 | 20% |
Assignment 4 | 15% |
Oral Presentation | 25% |
Total | 100% |
Materials
Athabasca University Materials
The remainder of the learning materials for Computer Science 617 are distributed electronically. These materials include the following
- COMP 617 Study Guide
- assignments
- Links to a variety of resources on the World Wide Web.
Course Features
COMP 617 is offered in individualized study online. Individualized study online is facilitated through a variety of computer-mediated communication options, and can be completed wherever the student can connect to the Internet.