QUAND PEUT-ON PARLER DE TEMPS RÉEL ?

Les systèmes temps réel se distinguent par la prise en compte de limites temporelles dont le respect est aussi important que la précision du résultat attendu des calculs réalisés. De tels systèmes sont largement utilisés dans l’industrie pour le contrôle de processus, la sûreté des installations et partout où la réactivité impose des contraintes de délais non négociables.


L'informatique en temps réel (ou real time computing en anglais) mobilisent des équipements matériels et des logiciels qui ensembles composent une solution capable de respecter des délais précis dans un traitement pouvant comporter la détection d’un ou plusieurs états, des calculs et la délivrance d’un résultat. Les réponses délivrées en temps réel s’entendent dans des délais de seulement quelques millisecondes à quelques microsecondes depuis l’événement déclencheur qu’il soit imprévisible ou lié à une périodicité. A l’inverse, un système qui ne fonctionne pas en temps réel, ne peut généralement pas garantir qu’une réponse puisse être apportée dans un délai quelconque et ce, même lorsque des temps de réaction typiques peuvent être spécifiés.

On peut définir un système temps réel comme un système qui contrôle un environnement en collectant des informations, en les traitant et en délivrant des résultats à une vitesse suffisamment élevée pour qu’il soit en mesure d’impacter l’état de ce même environnement avec efficacité et dans un délai pertinent quant à la réaction attendue. Pour simplifier, on peut dire au sujet des systèmes de contrôle de processus industriels que la réaction attendue se produit sans retard significatif. Cette même expression « temps réel » est également utilisée dans la simulation numérique pour indiquer que l'horloge de l’environnement virtuel fonctionne à la même vitesse qu'une horloge réelle.

Les systèmes temps réel sont utilisés le plus souvent dans des applications critiques – contrôle de robots, drones aéronautique, freinage et contrôle d’assiette des véhicules, etc. – qui doivent produire un effet ou contrôler une situation en intégrant à grande vitesse des paramètres en constante évolution. Bien sûr, le traitement en temps réel échoue s'il n'est pas terminé dans un délai significatif pour l’événement considéré.

LES VRAIS ET LES FAUX TEMPS RÉELS

Les systèmes dits temps réel, peuvent être classés en fonction des conséquences que produisent le non-respect du délai. On parle de temps réel strict – ou hard real time en anglais – lorsque le dépassement de la limite temporelle entraîne une erreur irréparable du système ou nécessite une intervention considérée comme lourde pour corriger le problème engendré (ex. : plusieurs minutes ou heures d’arrêt d’une installation avant son redémarrage). On parle de temps réel significatif – ou firm real time en anglais – lorsque le dépassement des délais entraîne une dégradation notable du fonctionnement d’une installation (ex. : ralentissement d’une machine ou d’une ligne de production, réinitialisations partielles successives, etc.). Enfin, on parle de temps réel souple lorsque le dépassement du délai peut être compensé à court ou moyen terme et que l’installation ne subit que des retards maîtrisables (ex. : déclenchement d’une mesure corrective pour maintenir l’installation en fonction, incidence sur la qualité des produits sans entraîner un rejet systématique, etc.). Ainsi, l'objectif d'un système en temps réel strict est de s'assurer que tous les délais sont toujours respectés puisque leurs dépassements peuvent conduire à des situations critiques voire irréparables. A l’inverse, l’objectif des systèmes en temps réel souple est de respecter un certain sous-ensemble de délais afin d'optimiser certains critères spécifiques à l'application.

Dans une installation industrielle, les deux types d’applications peuvent coexister au sein d’une même solution. Il faut dans ce cas qu’un séquenceur garantisse la priorisation des traitements en intégrant une marge d’erreur suffisamment large pour que les exigences de l’application stricte soient toujours remplies. Un tel mécanisme est notamment au cœur des ressources et des protocoles mis en œuvre dans les réseaux TSN qui sont en cours de standardisation (voir article suivant). Théoriquement, le concepteur d'un système temps réel strict doit être en mesure de prouver que les délais limites ne seront jamais dépassés quelle que soit la situation. Cette preuve est apportée par un test d'acceptabilité qui découle d’une analyse de faisabilité faisant appel à la théorie de l'ordonnancement. Le succès dépend de l'ordonnanceur utilisé et des caractéristiques des tâches du système.

DE L’ANALOGIQUE AU NUMÉRIQUE, LE CAS DU TRAITEMENT D’UN SIGNAL

Une grande part des informations qui sont ou seront tirées d’une installation quelle qu’elle soit, procède de grandeurs physiques qu’il convient de transformer en données numériques afin de permettre leur traitement dans une unité de calcul.

Dans un processus en temps réel de traitement d’un signal numérique (ou DSP de l’anglais digital signal processing), les données délivrées à la sortie à partir des échantillons analysés à l’entrée peuvent être générées en continu sans prendre de retard. Cela signifie que le délai de traitement est inférieur au temps qui est nécessaire pour collecter, générer et délivrer un même ensemble d'échantillons.

En d’autres termes, le temps moyen de traitement par échantillon en incluant les délais de propagation, n'est pas supérieur à la période d'échantillonnage, qui est la réciproque du taux d'échantillonnage. Un algorithme de traitement du signal qui délivre un résultat en accumulant du retard sur le flux des données présent à l'entrée ne peut être qualifié de temps réel. En revanche, si le retard de la sortie par rapport à l'entrée est maintenu dans une limite qui ne change pas quelle que soit la durée de fonctionnement du système, alors cet algorithme de traitement du signal fonctionne bien en temps réel.

En informatique, la notion de temps réel est trop souvent confondue avec celle de calcul à très haute performance, ce qui est une considération erronée. Ainsi, un super-ordinateur est capable de faire un très grand nombre de calculs pour construire une simulation d’un phénomène complexe. Il ne s’agit pas à proprement parler d’informatique en temps réel même si l’analyse des algorithmes et leur amélioration au fil du temps peut augmenter les performances du système avec une certaine constance.

En revanche, une fois qu’il a été mis au point, un système fonctionnant en temps réel par rapport à l’application considérée, ne requiert aucune amélioration ultérieure. Lorsque par exemple, les contrôleurs, les circuits électroniques et les logiciels qui pilotent un système d’antiblocage des freins (ABS) a été mis au point, aucun gain de performances n’est ultérieurement nécessaire pour qu’il remplisse sa fonction au fil des jours.

Au reste, si la notion de temps réel n’est pas nécessairement rattachée à celle de calcul à haute performance, elle n’est pas non plus obligatoirement liée à la nécessité d’une communication à haut débit. Tout dépend en effet du délai qui est acceptable pour opérer un contrôle efficace de l’environnement par le système temps réel mis en place. La régulation de la température et de l’hygrométrie dans une serre de culture expérimentale est une opération critique mais qui supporte des opérations correctives entreprises après quelques minutes de dérive des paramètres attendus. De même, la régulation du courant dans un canal navigable s’opère en fermant ou en ouvrant des vannes d’alimentation toutes les trois à six heures selon les saisons. Dans une cellule robotisée en revanche, un arrêt de sécurité doit impérativement être réalisé en moins de quelques dixièmes, voire centièmes de seconde, soit moins de temps qu’il ne faut à un opérateur pour franchir la distance qui sépare le détecteur de présence ou la barrière de sécurité de la machine en mouvement.