IE303812
Real Time Programming
Last taught 2021
Autumn
Ålesund
Norwegian and English
About this course
Content
Interrupt system and asynchronous events. Processes and Threads. Reentrant programs. Priority. "Context switching". Scheduler. Synchronism.
Internal resources and resource allocation: Memory management. Monitor. Condition variables. Semaphore. Event flags. Signals. Barriers. Buffers. Blackboard. Broadcast.
Interaction with external processes: Real-time clock. I/O-ports and networks. Driver software.
Concurrent programming in Java: "The Java Concurrency Model."
Embedded systems.
Learning outcomes
Læringsutbytte - Kunnskap:
The candidate knows the principles and methods of real-time programming.
The candidate has knowledge about modern real-time operating systems and real-time applications in object-oriented development environments.
Læringsutbytte - Ferdigheter:
The candidate can develop real-time applications in object-oriented programming environments.
The candidate can program embedded systems.
Læringsutbytte - Kompetanse:
The student can contribute to the development of real-time solutions, including system integration.
The candidate has the knowledge to consider the use of real-time solutions in mechatronic products.
Teaching methods
Pedagogiske metoder:
Class lectures and exercises.
Practical lab exercises.
The students shall carry out a project equivalent to 50% of the course workload in groups of 2-4 students.
Obligatoriske arbeidskrav:
The course includes a mandatory project in groups of 2-4 students. The project shall lead to the development of a complete real-time application by using the tools governed by the course. The project is the basis for the evalution of the course.