Realtime

Een taak in een door software gecontroleerd systeem wordt realtime genoemd (of "uitvoerbaar in reële tijd, in real time") als de gecombineerde reactie- en uitvoertijd van de taak korter is dan de maximale tijd die is toegestaan, rekening houdend met invloeden van buitenaf. Een realtime uitvoering is niet per se snel, want ook trage systemen kunnen realtime uitvoering vereisen. Dit geldt voor alle typen van dynamische systemen.

Nota bene: realtime is een bijvoeglijk naamwoord, terwijl real time (los van elkaar geschreven) een zelfstandig naamwoord is dat geen meervoud kent.

Veel machines en mechatronische apparaten vereisen realtime besturing om instabiliteit van hun regeling te voorkomen; zulke instabiliteit kan immers leiden tot beschadiging of vernietiging van het systeem, mensen of voorwerpen, of op zijn minst tot suboptimaal gedrag van het geregelde systeem.

DefinitieBewerken

De definitie van de standaard DIN 44300 (informatieverwerking) die heerst door DIN ISO / IEC 2382, deel 9 (verwerkingssequenties) was:[1]

Realtime is de werking van een berekeningssysteem waarin programma's voor het verwerken van gemaakte gegevens constant operationeel zijn, zo dat de verwerkingsresultaten binnen een bepaalde periode beschikbaar zijn. Afhankelijk van de toepassing kunnen de gegevens ontstaan na een periode van willekeurige distributie of vooraf bepaalde tijden.

De hard- en software moet ervoor zorgen dat er geen vertragingen optreden die naleving van deze voorwaarde in de weg kunnen staan. De gegevens hoeven niet bijzonder snel te worden verwerkt, ze moeten alleen gegarandeerd snel genoeg zijn voor de betreffende toepassing.

De Duden biedt twee beschrijvingen van realtime, als je het zo bekijkt als een "gegeven tijd die bepaalde processen van een elektronisch computersysteem in werkelijkheid kunnen gebruiken" en als "tijd die gelijktijdig met de werkelijkheid loopt". De Duden geeft de volgende betekenis aan real-time bediening in EDP:[1]

Werkwijze van een elektronisch computersysteem waarin het programma of de gegevensverwerking (vrijwel) gelijktijdig loopt met de bijbehorende processen in de werkelijkheid.

EigenschappenBewerken

ReactietijdBewerken

De term realtime zegt iets over het vermogen van een systeem om binnen een bepaald tijdsbestek op een gebeurtenis te reageren. De term zegt niets over de snelheid of verwerkingskracht van een systeem. In de omgangstaal wordt dit echter vaak ten onrechte als zodanig gebruikt, in plaats van de meer toepasselijke termen low-delay of low-delay.

Zo worden in het geval van near-time data van weersatellieten zoals EUMETSAT, metingen van enkele uren oud nog steeds realtime data genoemd.[2] Realtime wordt ook gebruikt in toepassingen zoals passagiersinformatiesystemen (dynamische passagiersinformatie) met verdere verwerking van de gegevens in het minutenbereik.

Afhankelijk van het type toepassing kan deze reactietijd binnen een groot bereik variëren:

  • Responstijden van enkele seconden zijn vaak voldoende voor toepassingsgebieden zoals temperatuurregeling of niveaubewaking [uitgevoerd met goedkope microcontrollers, eenvoudige programmeerbare logische controller (PLC)].
  • Automatiseringsoplossingen met een programmeerbare logische controller (PLC) of productielijnen op basis van een veldbussysteem worden doorgaans beheerd met responstijden in het millisecondebereik.
  • Interactieve toepassingen op de computer, zoals games of demo's,[3] vereisen een responstijd van ≤ 63 ms (≥ 15-16 frames per seconde) bij het bijwerken van de schermweergave om als een soepel proces te worden ervaren.
  • Als het gaat om de reactietijden van computerprogramma's op invoer van gebruikers met invoerapparatuur (toetsenbord, muis, enz.), is ≤ 10 ms vereist om subjectief als onmiddellijk te worden ervaren.
  • Snelle digitale regelgeving, controles, filtering en monitoring, meetgegevens online-evaluatie vereisen vaak real-time systemen die in het microsecondebereik werken.

Realtime kwaliteitBewerken

Om een regel- en regeltaak te beschrijven, is het echter niet voldoende om realtime te definiëren met behulp van de reactietijd. Om de vereisten voor realtime-systemen duidelijker te definiëren, wordt vaak de betrouwbaarheid van het voldoen aan deze responstijd gedefinieerd.[4] Meestal wordt onderscheid gemaakt tussen harde realtime en zachte realtime:

  • Hard real-time garandeert dat de gedefinieerde responstijd nooit wordt overschreden. U kunt op deze eigenschap vertrouwen bij het gebruik van een hard realtime systeem, bijvoorbeeld bij het opnemen van het chronologische verloop van de sensorgegevens in een crashtest.
  • Soft realtime, hier is een reactietijd alleen statistisch gegarandeerd. Hoewel dergelijke systemen doorgaans alle binnenkomende invoer snel genoeg verwerken, is dit niet gegarandeerd. De responstijd bereikt bijvoorbeeld een acceptabel gemiddelde of een ander statistisch criterium. Overschrijding van de benodigde tijd leidt niet tot fouten of andere technische problemen.[5]
  • Harde realtime wordt soms gebruikt om een strakkere eis te definiëren dan harde realtime. Met de vaste realtime is er geen neerwaartse variatie toegestaan in de reactietijd (isochroniteit). Een praktisch voorbeeld zou een ADC-apparaat zijn dat idealiter zou moeten werken met een vaste kloksnelheid (in werkelijkheid beperkt door klokjitter).

FilmBewerken

In een speelfilm of documentaire betekent in real time dat bijvoorbeeld een film van anderhalf uur ook een aaneengesloten periode van anderhalf uur bestrijkt. Er kunnen wel verschillende scènes zijn, maar deze wisselen dan zonder sprongen in de tijd. Voorbeelden zijn de televisieserie 24 en de films Phone Booth en The Exam.

ComputerBewerken

Sommige online-computerspellen zijn realtime. Dit wil zeggen dat de tijd en het spelproces in het spel verderloopt, onafhankelijk van het gedrag en de aanwezigheid van de spelers. Ook werken veel beveiligingsvoorzieningen op computers zoals antivirussoftware en webfilters in realtime door bestanden en websites te controleren op het moment dat zij geopend of gebruikt worden.

Zie ookBewerken