Course - Real-time Programming - TTK4145
Real-time Programming
About
About the course
Course content
Programming formalisms for real-time systems; POSIX, Ada, Java and OCCAM. Threads/processes, synchronization and communication. Shared variable-based synchronization and resource control. Fault Tolerance, availability and consistency. Message-based synchronization, CSP and
formal methods. Exercises and project.
Learning outcome
The student will achieve thorough knowledge/ proficiency in the following topics:
* Design and developement of real-time software.
* Common mistakes in real-time programming.
* Synchronization mechanisms like semaphores and monitors.
* Messagebased synchronization.
* Error handling and fault tolerance.
* Availability and consistency in systems with more threads/processes.
The student will achieve knowledge in the following topics:
* OCCAM/CSP
* Ada
* Formal methods and use of analysis tools for real-time systems.
Learning methods and activities
Lectures and problem sets/project. Portfolio evaluation is the basis for the final grade in the subject. Parts of the portfolio are final exam in writing 75%, project and selected problem sets 25%. The result for each part is given in percentage units, while evaluation of the entire portfolio (the final grade) is given as a letter. If there is a re-sit examination, the examination form may change from written to oral.
Compulsory assignments
- Exercises
- Project
Recommended previous knowledge
Knowledge corresponding to TTK4147 Real-Time Systems is recommended. Likewise a basic knowledge of the C programming language and software design or UML. Proficiency in at least one programming language and thorough knowledge of computers and operating systems.
Course materials
Alan Burns og Andy Wellings: Real-Time Systems and Programming Languages. Other litterature may be announced at the start of the semester.
Credit reductions
| Course code | Reduction | From |
|---|---|---|
| SIE3050 | 7.5 sp |
Subject areas
- Computers
- Computer Systems
- Program/system-utvikling
- Technological subjects