5.2 Onderscheid embedded en real-time

Bij physical computing spreken we vaak over embedded systems en real-time systems. Een embedded system is een computersysteem met een beperkte hoeveelheid functies, gemaakt voor een specifiek doel. Het computersysteem in de wasmachine is een typisch embedded system. Een watergeefsysteem voor planten ook. Of het computersysteem in een zelfrijdende auto. In een magnetron zit ook een embedded system. En zo kunnen we nog wel even doorgaan. Kijk maar eens om je heen, grote kans dat je meerdere embedded systems ziet.

Real-time systems zijn systemen waarbij de correcte werking niet alleen afhangt van de functionele werking van het systeem, maar ook van de snelheid waarmee dat gebeurt. Neem bijvoorbeeld de zelfrijdende auto: als het systeem niet snel genoeg reageert op de omgeving (bijvoorbeeld een overstekend kind), dan gaat het mis. Een computersysteem voor de monitoring in een kerncentrale is ook een real-time systeem: als het systeem niet snel genoeg reageert kan de nucleaire reactie uit de hand lopen en dat kan rampzalig zijn. We noemen dat ook wel hard real-time systems. Dat zijn systemen waarbij het absoluut noodzakelijk is dat er snel genoeg wordt gereageerd. Daarnaast heb je ook soft real-time systemen. Daarbij is het belangrijk dat het systeem op tijd reageert, maar als er af- en toe vertraging is, dan leidt dat niet tot (grote) problemen. Een voorbeeld daarvan is je routenavigatiesysteem. Als het traag reageert is dat vervelend, maar als het een keer gebeurt leidt dat niet tot een groot probleem.
Hieronder zie je een indeling met enkele voorbeelden:

Embedded Niet embedded
Hard real-time Systeem in zelfrijdende auto
Systeem van een kerncentrale
Systeem in een exo-skelet
Systeem voor het verhandelen van aandelen op de beurs.
Soft real-time Routenavigatiesysteem
Systeem om te bellen (wat we ook wel een telefoon noemen)
Systeem voor video-conferencing zoals Skype, geinstalleerd op een PC.
Programma om netflix video’s te bekijken.
Niet real-time Plantwatergeef-systeem
Systeem voor de verwarming thuis.
Hartslagmeter.
e-Reader
Back-up programma op je PC.

Je zou kunnen zeggen: een back-up programma moet toch ook niet dagen de tijd nemen en is dus real-time. En als je uren moet wachten voordat je verwarming thuis een keer zeg je ook dat het niet goed werkt. Dat is waar, maar het geeft niet als het wat langer duurt om de backup te maken of de verwarming aanslaat. Het gaat dan om enkele minuten of zelfs uren. Bij real-time systemen gaat het echter om milli-seconden, zowel bij de hard als de soft real-time systemen.

5.2.0.1 Opdracht: voorbeelden van real-time en embedded systemen

Het ontwerpen en ontwikkelen van (embedded) real-time systemen is een aparte tak van sport. Het is namelijk nog niet zo gemakkelijk om te zorgen dat het systeem altijd binnen een fractie van een seconde reageert. Het hangt van allerlei factoren af, zoals de snelheid van de microcontroller, de kwaliteit van de sensoren, de werking van de software, etc.