Course Information
Instructor
Mojtaba Bagherzadeh, Goodwin Hall 624, mojtaba at cs dot queensu dot ca
Time and place
Day | Start Time | End Time | Component | Building | Room |
---|---|---|---|---|---|
Monday | 9:00 | 9:50 | Classroom | Sawyer Module 4 | 3411 |
Tuesday | 13:40 | 14:30 | Classroom | Sawyer Module 4 | 3411 |
Tuesday | 14:40 | 16:30 | Lab | Sawyer Module 1 | 4126 |
Friday | 14:40 | 15:30 | Classroom | Sawyer Module 4 | 3412 |
General Description
The main objectives of the course are to provide for the students:
- an introduction to specifications, analysis, design, and development techniques for real-time software;
- a base foundation for the real-time operating system specifically FreeRTOS
- a base foundation for modeling and development real-time systems using the UML-RT modeling language;
- practical experience with a Papyrus-RT, Arduino boards, FreeRTOS; and
- an introduction to the theory of scheduling for multitasking systems in a single processor environment.
By the end of the course, the students will be able to analyze the requirements for a basic real-time system and design and implement a solution using FreeRTOS or UML-RT. They should also be able to determine the schedulability of a simple multitasking system.
Teaching Method
Course content will be presented to the students during class delivered lectures augmented by exercises and laboratories.
Course notes and presentations be published in advance. The goal is to minimize as much as possible the taking of notes in order for the students to concentrate on understanding the content that is being taught. Note however that the documentation provides support to the theory being instructed and does not replace the lectures, you are therefore expected to supplement the material you are provided with your own note taking.
I expect that you will activly participate, which means that you arrive in class with your notes, something to write with and your course text during lab period.
Attendance
As indicated in the CadWins, attendance to classes is compulsory for all officer-cadets. Civilian students and grad students are encouraged to attend classes and must be present to labs. If you must absent yourself for a medical or other kind of appointment, you are required to ask and obtain permission from the instructor prior to the appointment. If you happen to get sick, do your utmost to inform the instructor in the briefest of delays.
Academic Integrity
Infractions to academic integrity; including cheating, plagiarism and any other kinds of university ethics violations can lead to sanctions from a written warning to expulsion from RMC. The RMC rules concerning studies, section 4, define plagiarism as follows: “Using the work of others and attempting to present it as original thought, prose or work. This includes allegations that are false concerning data or references, and the abusive use of quotation marks or the mention of a source” and it also includes: “the omission to recognize adequately the collaboration or outside help”. You should familiarize yourself with the rules with respect to academic misconduct available in section 4 of the Academic Policy Directive No. 1 on Academic Integrity.
Evaluation
Item | Weight |
---|---|
Laboratories | 25% |
Midterm | 20% |
Quizzes | 10% |
Final Exam | 45% |
Note: If you have not completed all the laboratory work, you will not be allowed to write the final exam.
Laboratories
Laboratories must be completed by teams of two people. Each team must hand-in a quality lab report. The report will be presented in a prescribed format. It will include a description of the configuration/establishment of the laboratory, the code and/or data, as well as a general discussion of the conduct of the laboratory and observations, and any other pertinent discussion. Each diagram or elaboration of code will be well presented.
Material and Refrences
Programming and Design of Real-Time Embedded systems
Marwedel, P. (2011). Embedded System Foundations of Cyber-Physical Systems.
Modeling of Real-Time Embedded systems
Rivet, C, Posse, E, & Toolan, D. (2017). Papyrus-RT/User/User Guide/Tutorials. Eclipse Foundation.
Selic, B., Gullekson, G., & Ward, P. (1994). Real-time object oriented modeling and design.
FreeRTOS
Barry, R. (2016). Mastering the FreeRTOS Real Time Kernel. Real Time Engineers ltd.
Barry, R. (2016). FreeRTOS V9.0.0 Reference Manual. Real Time Engineers ltd.
Thanks to
This course has evolved throughout the years and is the result of work from many people three of whom deserving special recognition:
Alain Beaulieu, PhD
M. Ron Smith, PhD
LCdr (ret) Dean Morrissey