TORONTO METROPOLITAN UNIVERSITY

Course Outline (W2026)

ELE709: Real-Time Computer Control Systems

Instructor(s)Dr. Mohamad Shahab [Coordinator]
Office: ENG451
Phone: (416) 979-5000 x 556686
Email: mshahab@torontomu.ca
Office Hours: 1-2 PM on Tuesdays and Wednesdays; also available other times by appointment
Calendar DescriptionThis course deals with practical techniques for the specification, design and implementation of real-time computer control systems. Topics include: overview of computer control strategies; introduction to real-time systems; hardware and software requirements; implementation of digital control algorithms; design of real-time computer control systems; design analysis; considerations for fault detection and fault tolerance. The lab work and project require solid background in C programming.
PrerequisitesELE 639 or MEC 830
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. ELE709 Course Slides
  2. ELE709 Laboratory Manual
Reference Text(s):
  1. Li and Yao, "Real-Time Concepts for Embedded Systems," CRC Press, 2003.
    Note: A print or an e-book version can be purchased for around C$80. An e-book version is also accessible via TMU library.

  2. Mitchell, Oldham and Samuel, "Advanced Linux Programming," New Riders Publishing, 2001.
    Note: The book can be downloaded subject to the license mentioned in the following website: https://sourcerytools.github.io/advancedlinuxprogramming/

  3. Fadali and Visioli, "Digital Control Engineering," 2nd Edition, Academic Press (Elsevier), 2013.
    Note: Print and an e-book versions can be purchased for costs between C$100-C$160. An e-book version is also accessible via TMU library.
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Use engineering knowledge to solve real-world control problems. (1c)
  2. Use real-time system concepts to understand and design real-time control systems. Understand how to use concurrent programming techniques. (1d)
  3. Design and analyze computer-based control systems. Generate solutions for more complex real-time control problems. (4b)
  4. Use POSIX standard in C for real-time implementation. Develop and implement a real-time computer controller to control a DC motor. (5a)
  5. Demonstrate collaboration within a project team in developing a real-time computer control system. Test and validate, ensuring it meets specified requirements. (6b)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
1.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching Assistants

     
  • Somayeh Barzegar [sbarzegar@torontomu.ca]

  •  
  • Shayan Sepahvand [shayan.sepahvand@torontomu.ca]

  •  

 
Course Evaluation
Theory
Mid-term Exam 25 %
Final exam (theory part) 40 %
Laboratory
Lab work + Project 25 %
Final exam (lab part) 10 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


Examinations

     
  • The Mid-term Exam will be in Week 7, held on Wednesday, 25 February 2026, during the lecture time. Details will be announced on D2L (https://courses.torontomu.ca/) and during class.

  •  
  • The Final Exam will be held during the university's final examination period. The duration will be 3 hours. The final exam covers all the course material.

  •  
  • All exams are closed-book examinations. Further details will be announced on D2L (https://courses.torontomu.ca/) and in class.

  •  
Other Evaluation InformationLab work:
 


 
 


     
  • Information about Lab submission requirements is provided in the Lab manual.

  •  
  • Lab submissions are required no more than one week after a lab session, to be submitted to the course shell on D2L.

  •  
  • Students may work in groups. The maximum number of students in a group is 2.

  •  
  • Late submissions and/or failure to present demos will incur a penalty.

  •  

 
 Project:
 Various parts of the project must be demonstrated, and results must be submitted according to the guidelines in the project document.
 
 Lab/project attendance is mandatory. Each student must attend the lab/project session on the day and at the time specified for their section.
 
Teaching Methods

     
  • Lectures are held in person in the designated classroom and on the specified day and time.

  •  
  • Lecture slides as well as lab/project material are uploaded to the course shell on D2L (https://courses.torontomu.ca/).

  •  
  • During lectures, the slides will be expanded with additional notes.

  •  
  • Laboratory sessions include practicing & writing C codes.

  •  
  • The project work includes theoretical analysis, writing C code, and implementing on a DC motor module in the designated laboratory room.

  •  
     
Other InformationAnnouncements, including exam information, will be announced in class and posted to the course shell on D2L (https://courses.torontomu.ca).
 
 Email policy: In accordance with the Policy on TMU Student E-mail Accounts (Policy 157), the university requires that any electronic communication by students to TMU faculty or staff be sent from their official university email account.
 
 Use of GenAI: Students may use Generative AI (e.g. ChatGPT, Grammarly, Perplexity) only for minor grammar correction. This includes translating individual words and correcting spelling, punctuation and basic grammar issues. Failure to stay within these limits will be considered a breach of Policy 60.

Course Content

Week

Hours

Chapters /
Section

Topic, description

Week 1

3

Introduction to computer control systems, concepts of computer control, classes of industrial process control systems
 
 Introduction to real-time systems, classification for real-time systems time constraints, characteristics and requirements of real-time systems


Weeks 2 & 3

6

Hardware and software requirements: general-purpose computers, specialized processors, external interfaces, A/D and D/A conversion, data transfer techniques, data communications techniques, real-time operating systems, computer languages for real-time applications


Weeks 4 & 5

3

Concurrent programming: processes and threads, process/thread life cycle, multi-threaded programming with POSIX threads (Pthreads), thread synchronization and communication, semaphores, mutexes, condition variables
 


Week 6

3

Digital control systems: design and implementation of digital controllers, review of discrete-time signal sampling, difference equations, discrete transfer function, z-transform, PID controller design and digital implementation, saturation and integrator wind-up, discretization of continuous-time controllers, control loop synchronization, choice of sampling period, effects of latency and timing jitters on control performance, quantization effects


====

====

No classes during the week of 16 Feb (Study/reading week)


Week 7

3

Digital control systems (continued)
 
 [Mid-term Exam in Week 7]


Week 8

3

Digital control systems (continued)
 


Week 9

2

Design of real-time computer control systems, software life cycle planning, analysis and specifications, approaches to real-time software design, tasking design


Week 9-11

7

Scheduling of real-time control tasks: cyclic executives, basic rate monotonic scheduling, earliest deadline first, basic response-time analysis, task blocking, transitive blocking, priority inversion, priority inheritance, priority ceiling, immediate priority ceiling, extended rate monotonic scheduling, response-time analysis with blocking starvation, deadlock


Week 12

3

Real-time application interface programming, real-time task creation, periodic and aperiodic tasks, interrupt service, routine scheduling policies
 
 Introduction to reliability and fault-tolerance in computer control systems, reliability, types of faults, failure modes, fault prevention: avoidance and removal, fault-tolerance: hardware and software redundancy


Week 13

3

Review


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

Week 1

No Lab

No Lab

Week 2

Lab 1

C Review

Week 3

Lab 2

Time and Clocks

Week 4

Lab 3

POSIX Threads and Concurrent Programming

Week 5

Lab 3

POSIX Threads and Concurrent Programming (continued)

Week 6

Lab 4

Resource Sharing and Coordination

===

===

No labs during the week of 16 Feb (Study/reading week)

Week 7

Lab 5

Task Synchronization and Communication

Week 8

Lab 5

Task Synchronization and Communication (continued)

Week 9

Project

Digital PID Controller

Week 10

Project

Digital PID Controller (continued)

Week 11

Project

Digital PID Controller (continued)

Week 12

Project

Digital PID Controller (continued)

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Lab Safety (if applicable)

Students are to strictly adhere and follow:

  1. The Lab Safety information/guidelines posted in the respective labs,
  2. provided in their respective lab handouts, and
  3. instructions provided by the Teaching Assistants/Course instructors/Technical Staff.

During the lab sessions, to avoid tripping hazards, the area around the lab stations should not be surrounded by bags, backpacks etc, students should place their bags, backpacks etc against the walls of the labs and/or away from their lab stations in such a way that it avoids tripping hazards.

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.