Lessen, discussies en oefeningen. Op de laatste dag is er een intensieve interactieve workshop om de gepresenteerde technieken te oefenen. Cursusmateriaal: boek, aantekeningen, hand-outs, artikelen.
De cursus wordt in het Engels verzorgd onder de titel "Design of Real-Time Software".
De ontwikkeling van realtime software vereist speciale methoden en technieken. In deze intensieve 5-daagse cursus leren deelnemers ontwerpaspecten van realtime (embedded) programma's, in het bijzonder tijdigheid en concurrency.
Leerdoelen
Na succesvolle afronding van de cursus kunnen de deelnemers redeneren over tijdigheid- en concurrency-aspecten van realtime (embedded) software. Meer specifiek zullen zij:
- methoden voor het ontwerpen van concurrent programma's op een systematische manier kunnen toepassen;
- kunnen omgaan met tijdsoverwegingen en realtime scheduling;
- technieken kunnen toepassen voor het modelleren van realtime software;
- bekend zijn met realtime besturingssystemen die concurrency en scheduling ondersteunen.
Doelgroep
Deze cursus is bedoeld voor hardware- en software-engineers, systeemanalisten en ontwerpers die realtime software ontwikkelen op het gebied van embedded systemen, CAM, laboratoria enz.
Vereisten:
- ervaring met softwareontwikkeling;
- kennis van de grondbeginselen van informatica;
- kennis van algemeen beleid en mechanismen van besturingssystemen.
Programma
Dag 1 & 2:
- Grondbeginselen en concepten van realtime embedded softwaresystemen.
- Concurrencyprimitieven.
- Multitaskingproblemen.
- Programmeermodellen.
- Communicatie en synchronisatie.
- Realtime besturingssystemen.
Dag 3:
- Inleiding tot scheduling.
- Schedulinganalyse met periodieke, sporadische en aperiodieke gebeurtenissen.
- Rate monotonic scheduling met en zonder resourcecontentie.
- Reactietijdberekeningen.
- Deadline monotonic vs rate monotonic scheduling
- Vaste vs dynamische prioriteit.
Dag 4:
- Waarom is realtime anders dan niet-realtime?
- Algemene aspecten, abstractieniveaus, methodologische aspecten van realtime-ontwerp (objectoriëntatie en realtime, realtime objectgeoriënteerde talen, modellering van realtime systemen in UML2).
Dag 5:
- Requirements, ontwerp van structuur (toepassen van algemene en taakstructurerende heuristieken), specificatie van gedrag, analyseren van timingbeperkingen, analyseren van scheduleerbaarheid (toekennen van prioriteiten, identificeren van bronnen, prioriteitsovererving en prioriteitsmaximering), programmeren van modelafhankelijkheden.