The development of real-time software requires special methods and techniques. In this intensive 5-day course participants will learn design aspects of real-time (embedded) programs, in particular timeliness and concurrency.

This training is available for in-company sessions and can be adapted to your situation and special needs.



After successful completion of the course, the participant will be able to reason about timeliness and concurrency aspects of real-time (embedded) software. More specifically, they will:

  • Be able to apply methods for designing concurrent programs in a systematic way;
  • Be able to deal with time considerations and real-time scheduling;
  • Be able to apply techniques for modelling real-time software;
  • Be acquainted with R-T operating systems that support concurrency and scheduling.

Intended for

This course is intended for hardware and software engineers, system analysts and designers who develop real-time software in the area of embedded systems, CAM, laboratories etc.


  • Experience in software development;
  • Knowledge of the fundamentals of computing science;
  • Knowledge of general operating system policies and mechanisms.
Start date In-company only
Duration 5 consecutive days
Price per participant On request
Keep me posted


Day 1 & 2: 

  • Fundamentals and concepts of real-time embedded software systems.
  • Concurrency primitives.
  • Multitasking issues.
  • Programming models.
  • Communication and synchronization.
  • RT Operating systems.

Day 3: 

  • Introduction to scheduling.
  • Scheduling analysis with periodic, sporadic and aperiodic events.
  • Rate Monotonic Scheduling with and without resource contention.
  • Response-time calculations.
  • Deadline Monotonic vs Rate Monotonic scheduling.
  • Fixed priority vs dynamic priority. 

Day 4: 

  • Why is real-time different from non-real-time?
  • General aspects, abstraction levels, methodological aspects of RT design (object orientation and real-time, RT object oriented languages, modeling RT systems in UML2.

Day 5: 

  • Requirements, design of structure (applying general and task structuring heuristics), specification of behaviour, analyzing timing contraints, analyzing schedulability (assigning priorities, identifying resources, priority inheritance and priority ceiling), programming model dependencies.


Lectures, discussions and exercises. On the last day there is an intensive interactive workshop to practice presented techniques. Course material: book, course notes, handouts, articles.

Download brochure