Software voor real-time en embedded systemen

Ga naar: navigatie, zoeken
YolandeBerbers.jpg

Samenvattingen

Klik hier om de samenvattingen te bekijken

Algemeen

In het academiejaar 2009-2010 werd dit vak door gastprof Marc Lobelle van de UCL gedoceerd (hoewel Yolande Berbers nog als docent staat aangegeven in de syllabus) Het is mij nog onduidelijk of dit volgend jaar nog het geval gaat zijn. In ieder geval is hierdoor de inhoud van het vak en de vorm van het examen veranderd. Update 2014-2015, professor Marc Lobelle doceert nog steeds het vak. Deze pagina is verder in twee delen verdeeld, voor elk van de proffen.

Marc Lobelle

Marc Lobelle.gif

Tijdens het jaar moet je twee practica maken op een bordje met PIC processor. (Al enkele jaren eerst een alarmklok en als tweede DHCP relay) Je dient code en makefiles in, een verslag en bij het tweede eveneens een ASG diagram. De practica staan samen op 10/20 punten maar het tweede telt voor meer mee. Verder is er ook een test op je kennis van C. Je krijgt hiervoor twee kansen. Een keer tijdens het semester, en de andere keer in de vorm van een nieuwe C vraag tijdens je examen. Waar je het beste resultaat op haalde telt mee. Let wel op dat je tijdens het examen niet zoveel tijd hebt en je wel sneller zal moeten werken om de extra C vraag nog tijdig af te krijgen (doe deze misschien best als laatste).

16 januari 2015 (namiddag)

  1. C-test: opgave met buffers, je moest zelf een structure schrijven, lijst van buffers bijhouden die vol/leeg waren, geheugen alloceren en vrijgeven etc. (zelf deze opgave overgeslagen aangezien ik er door was tijdens het semester)
  2. Scheduling: Gegeven is de code voor LCDInit(), LCDClear(), LCDUpdate() en LCDWrite(BYTE RS, BYTE Data) (zoals in het bestand LCDBlocking.c uit de TCPIP_Stack code). De code is niet geschikt voor in een cooperative scheduling loop.
    1. Waarom?
    2. Leg uit hoe de code (/het programma /de code vd loop) kan worden aangepast zodat het wel geschikt is voor gebruik door taken uit een cooperative scheduling loop.
  3. ASG
    1. Geef de criteria die je zou gebruiken om processen op te splitsen in parallelle componenten of de processen een geheel te houden en dus serieel uit te voeren.
    2. Hoe zou je een ladder diagram voorstellen in ASG?
    3. Stel TMR voor in ASG. (enkel de afkorting TMR was gegeven, staat voor Triple Modular Redundancy, dus weten waar de termen staan in de cursus/ wat de afkortingen betekenen is aangeraden)

1 februari 2011 (namiddag)

  1. C-test: zelfde opgave als 21 januari, alleen moest er nu een methode insert voor geschreven worden, die 0 teruggeeft als de node geinsert is en -1 bij failure.
  2. ASG-diagram: het control system van een elektrische auto ontwerpen in ASG. Enkele sensoren gegeven, en je moest het control system ontwerpen van de wielen en van een battery charger die aangesloten kan worden op de "mains" of op een thermo engine. Ook waren er enkele commando's gegeven die je dan in je actions binnen de states moest gebruiken.
  3. Kopieer het ASG diagram uit je project van het DHCP relay en leg uit hoe je dat omgezet hebt naar code (neem dus je projectcode mee naar het examen !!).

21 januari 2011 (namiddag)

  1. C-test ging over het omzetten van een linked list naar een boom. Elk element in de linked list had een serial number en de boom moest opgebouwd worden als volgt: Het element met serial number 0 was de root en had 1 tem 9 als kinderen. 1 had 10 tem 19 als kinderen, 2 had 20 tem 29 als kinderen etc...
  2. ASG-diagramma maken van het control system van een elektrische auto. Heel ingewikkeld en 1000 oplossingen mogelijk.
  3. Vraag over het omzetten van ASG naar code. Ge mocht ofwel de skeleton-code geven ofwel uitleggen hoe het in zijn werk ging. Staat letterlijk in de cursus: "Implementin ASG on a naked computer". In dit geval moest ge resources en parallellisme uitleggen.

15 januari 2010 (voormiddag)

  1. C vraag: Maak een filtered list. Dit is een linked list (struct) met als extra param een pointer naar een functie die true of false teruggeeft voor elementen van deze lijst. Bij toevoegen van elementen aan lijst, voeg het element enkel toe als de functie het element accepteert.
  2. ASG: Modelleer een ASG relay met EAP authenticatie via een authentication server. Protocol wordt verder beschreven in opgave. (is wat interacties tussen auth server en client) Let bij het modelleren op time-outs en andere time constraints
  3. Bespreek: De ontwerpers van de Microchip TCP stack hebben gekozen om enkel interrupts te gebruiken bij overflow van het timer register. Bespreek andere mogelijkheden, de voor- en nadelen van het gebruik van interrupts.
  4. Bespreek: Wat zou jij voorstellen voor faut-tolerantie bij ATM machines? (bankautomaten)

Andere vragen

  1. Vraag over round robin scheduling
  2. How could you implement an ASG rendez-vous with MicroC/OS-II
  3. In the early eighties, the University of Newcastle upon Tyne had a research project financed by the Royal Navy in order to propose the most adequate fault tolerance system for the computing systems of their nuclear submarines. Based on what you learned on fault tolerance, what would you propose ?

Yolande Berbers

Het examen van dit vak bestaat uit twee delen: In het eerste gedeelte moet je thuis 3 vragen voorbereiden die je dan mondeling in 20 min met de professor bespreekt. Deze vragen moeten peilen naar inzicht en meerdere delen van de cursus bestrijken. Er zijn natuurlijk bijvragen, "de vraag is slechts de aanleiding tot een hopelijk interessante discussie". Het tweede deel peilt naar parate terminologiekennis waarbij je 6 vragen krijgt waar er 5 van beantwoord moeten worden.

Mogelijke vragen

(hou er rekening mee dat het kan opvallen als je hier een vraag uit kiest)

Laatste les

  • Zijn er in UML methodes voorzien om Real-time systemen te modelleren? Geef een kort overzicht (met nadelen).
  • Wat zijn de belangrijkste uitbreidingen in Ada 2005 op Ada 1995. Welke facetten zijn overgenomen uit andere programmeertalen?

Termen schriftelijk

  • 2-niveau driver
  • Abort (Ada)
  • Activity view in UML
  • ASIC
  • Asynchronous event
  • Asynchronous Transfer of Control in ADA
  • Asynchronous Transfer of Control in RTSJ
  • Behaviour in UML2.0
  • Client stub
  • Concurrency in UML 2.0
  • Conditional entry call
  • Deferred Server (context: scheduling)
  • Domino-effect
  • Drivertabellen in Linux
  • Dwaling
  • Dwalingsdetectie
  • Entry (context: ADA)
  • Fail Safe
  • Fail Silent
  • Fail Soft
  • fail Stop
  • Fixed Priority Scheduling
  • Fork/Join
  • Immortal Memory
  • JIT-compilatie
  • Major number (unix)
  • Monitors in POSIX
  • MDA
  • Original ceiling priority protocol
  • POSIX
  • Posix threads
  • Prioriteitsinversie
  • Profile for Schedulability, Performance and Time specification
  • RealTime Task in RealTime Linux
  • Release parameters (JRTS)
  • Requeue (Ada)
  • Resumption model
  • RT profile
  • Signalen in POSIX
  • Sinks ( .NET-remoting)
  • Special Files (UNIX)
  • Sporadische processen
  • Timed Entry Call
  • UML Profielen

Studiemateriaal

  • Studentencursus in LaTeX: https://github.com/KULeuven-CS/SORTES
  • [PS] mijn zelfopgestelde vragen vind je op [snews://news.kuleuven.be:563/1106649074.758905@seven.kulnet.kuleuven.ac.be de nieuwsgroep] .
  • [PPS] onze oplossing voor het practicum vind je op deze pagina.