TTK4145 - Real-time Programming


Examination arrangement

Examination arrangement: Portfolio assessment
Grade: Letters

Evaluation form Weighting Duration Examination aids Grade deviation
Work 25/100
Written examination 75/100 4 hours D

Course content

Programming formalisms for real-time systems; POSIX, Ada, Java and Go. 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

- Thorough knowledge of synchronization mechanisms like semaphores and monitors.
- Thorough knowledge of messagebased synchronization.
- Thorough knowledge of threads, processes, scheduling and synchronization in context of a real-time operating system.
- Thorough knowledge of common mistakes in real-time programming.
- Thorough knowledge of error handling and fault tolerance.
- Thorough knowledge of availability and consistency in systems with more threads/processes.
- Knowledge of the programming languages C, C++, Java, Ada and Go.
- Knowledge of CSP, formal methods and use of analysis tools for real-time systems.

- Good skills in design and developement of real-time software, both based on shared variable synchronization and messagepassing.
- Ability to plan and execute a software developement project of significant complexity (~some thousand lines of C code)
- Good skills in using one programming language (probably C, C++, Java or ADA).
- The student should be able to relate constructively in his design to error handling and consistency in systems with more participants.

General Competence:
- Teamwork.
- IT and software developement in general.

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

Specific conditions

Exam registration requires that class registration is approved in the same semester, or that compulsory activities are approved in a previous semester.

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 To
SIE3050 7.5



Examination arrangement: Portfolio assessment

Term Evaluation form Weighting Examination aids Date Time Room *
Spring Work 25/100
Spring Written examination 75/100 D 2016-05-25 09:00 D2 , Møterom 2 , R D1-102 Datasal , E5 , Møterom 1C , Møterom 8
Summer Work 25/100
Summer Written examination 75/100 D
* The location (room) for a written examination is published 3 days before examination date.
If more than one room is listed, you will find your room at Studentweb.