Studiewijzer module RTSYST

© Harry Broeders.

onderwijseenheid: RTSYST: Real-time systemen
studiebelasting: 3 CP = 84 SBU
semester / kwartaal: ECV/2
contacturen: 2 uur/week college, 1 uur/week begeleid practicum en 1 uur/week onbegeleid practicum.
toetsing: practicumbeoordeling (O/V), schriftelijke toets (cijfer).
benodigde voorkennis: GESPRG, MICPRG en OGOPRG
verantwoordelijke docent: Harry Broeders

Inleiding.

Software waarvan het resultaat niet alleen correct maar ook exact op tijd moet zijn wordt real-time software genoemd. Vooral het begrip voorspelbaarheid is erg belangrijk bij real-time systemen. Om het ontwikkelen van real-time software eenvoudiger te maken wordt vaak gebruik gemaakt van een Real-Time Operating System (RTOS). Veel embedded systemen bevatten real-time software. Het is daarom van belang dat een elektrotechnisch ingenieur in staat is om real-time software te ontwikkelen m.b.v. een RTOS.

Globale leerdoelen.

De beginnende elektrotechnische ingenieur die het vak RTSYST heeft gevolgd is in staat om real-time software te ontwikkelen. Hij/zij is bekend met de specifieke kenmerken van real-time systemen en kent verschillende implementatievormen van real-time software.

Als je dit vak met een voldoende hebt afgesloten:

Literatuur.

Real-Time Systems and Programming Languages (Fourth Edition), Alan Burns and Andy Wellings, ISBN: 978-0-321-41745-9 (we gebruiken Hoofdstuk 1, 4 t/m 6, 9 en 11).

Getting started with QNX Neutino 2, Robert Krten, ISBN: ISBN 0-9682501-1-4 (dit boek kun je bij mij lenen).

Benodigde hard- en software.

C++11, QNX (of een andere POSIX compatible RTOS).

Toetsing en beoordeling.

Er worden voor deze cursus twee resultaten vastgesteld die beide apart in OSIRIS worden gezet: RTSYST-co1|real-time systemen (TOETS01) en RTSYST-pr1|real-time systemen (TOETS02). Voor beide toetsen moet je inschrijven! RTSYST-co1 is een schriftelijke toets in week 8 met een herkansing in week 10, het resultaat is een cijfer (1..10). Bij het tentamen mag je boeken, dictaten, oude toetsen en aantekeningen gebruiken. Het tentamen bestaat uit open vragen. RTSYST-pr1 is een practicum beoordeling, het resultaat is een O(nvoldoende) of een V(oldoende). Het practicum moet afgerond zijn in week 7. In week 10 kan het practicum herkanst worden.

Op het practicum werk je in tweetallen. Kies een partner van ongeveer hetzelfde niveau.

Het practicum wordt beoordeeld met Onvoldoende of Voldoende. Alle opdrachten worden afzonderlijk beoordeeld met een voldoende of onvoldoende aan de hand van:

Om het practicum met een voldoende af te sluiten moeten alle opdrachten voldoende zijn.

Weekplanning theorie.

Let op! Deze planning zal tijdens het geven van deze onderwijsmodule nog worden aangepast!

week inhoud sheets boek leesvoer
1 Introductie, concurrent programming met de nadruk op Pthreads. RTSYST_week1.ppsx.

RTSYST_week1.pdf.

H1 en H4. Zie hieronder voor details. Verplicht lezen:
RTOS versus GPOS . Artikel uit Embedded Computer Design van januari 2005.
Aanbevolen literatuur:
The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
 Artikel uit Dr. Jobb's Journal van maart 2005.
TLAs: QNX, RIM, ARM, CES, RPM, and MPH An RTOS for the Automotively Inclined Artikel over populariteit en toepassingen QNX uit Electronic Engineering Journal van september 2012.
2 Shared variabele-based synchronisation and communication. RTSYST_week2.ppsx.

RTSYST_week2.pdf.

H5. Zie hieronder voor details. -
3 Concurrent programming in C++11. RTSYST_week3.ppsx.

RTSYST_week3.pdf.

- Aanbevolen literatuur: Blog over C++11 threads .
4 Message-based synchronisation and communication.
Voorbeeld van concurrent programming in een embedded systeem.
RTSYST_week4.ppsx.

RTSYST_week4.pdf.

H4 en H6. Zie hieronder voor details. -
5 Real-time facilities. RTSYST_week5.ppsx.

RTSYST_week5.pdf.

klein deel H7,H9 en klein deel H13. Zie hieronder voor details. -
6 en 7 Scheduling. RTSYST_week6_en_7.ppsx.

RTSYST_week6_en_7.pdf.

H11. Zie hieronder voor details. -

Gedetailleerde planning theorie.

Week 1. Introductie, concurrent programming met de nadruk op Pthreads.

Week 2. Shared variabele-based synchronisation and communication.

Week 3.Concurrent programming in C++11.

Week 4.Message-based synchronisation and communication + voorbeeld van concurrent programming in een embedded systeem.

Week 5.Real-time facilities.

Week 6 en 7.Scheduling.

Weekplanning practicum.

De practicumopgaven worden in groepjes van 2 studenten uitgevoerd. Het is de bedoeling dat je ongeveer 4 uur/week aan dit practicum besteedt. Als je bij het werken aan het practicum tegen problemen aanloopt waardoor je niet verder kunt wacht dan niet tot het ingeroosterde uur maar stuur een mailtje naar J.Z.M.Broeders@hhs.nl.

week opdracht studiemateriaal onderwerp
1 opdracht 1 Theorie van week 1. Inleiding QNX.
2 opdracht 2 a t/m d Theorie van week 2 Multi-threaded programmeren in POSIX met shared memory-based synchronisation and communication.
3 opdracht 2 e
4 opdracht 3 Theorie van week 3. Multi-threaded programmeren in C++11.
5 opdracht 4 Theorie van week 4.- Multi-threaded programmeren in POSIX met message-based synchronisation and communication.
6 opdracht 5 Theorie van week 6. Tool voor schedulability analysis.
7 - - Uitloop.