Langages pour le Temps Réel ©F. Touchard GFGPL 2017
Présentation du cours (rappel) Aperçu des systèmes temps réels et embarqués Cours 4ème année : qu’est-ce qu’un système temps réel ? comment vérifier a priori le comportement ordonnancement comment implémenter le comportement les outils de programmation (POSIX.4) programmation noyau et pilotes temps réels Cours 5ème année les méthodes et les langages de programmation pour le temps réel Évaluation un examen en fin de module des compte-rendus de TD/TP notés (entre 1/4 et 1/3 de la note finale)
Langages pour le temps réel langages présentant des caractéristiques spécialement adaptées aux applications temps réel pour la modélisation des systèmes (conception, spécification) comme pour l'implémentation visent les systèmes réactifs (dont les systèmes temps réel constituent un sous-ensemble) : systèmes qui réagissent continûment à leur environnement, à une vitesse déterminée par cet environnement systèmes le plus souvent parallèles et/ou distribués soumis à des contraintes temporelles et sécuritaires strictes déterministes
Systèmes réactifs réagissent à leur environnement en recevant des signaux, éventuellement valués, via des capteurs traitant l'information reçue fournissant un résultat sous forme de signaux de commandes émis vers des actionneurs pour que les commandes envoyées au système aient un sens, il faut que l'évolution de celui ci pendant le traitement de l'information n'ait pas été significative. temps réel → temps relatif, défini relativement au système auquel il se rapporte
Le temps dans les systèmes réactifs 2 aspects : chronométrique approche continue notion de durée suite d'événements discrets approche chronologique notion de simultanéité
Modélisation des systèmes réactifs 2 approches asynchrone l'exécution d'une opération prend du temps (approche continue du temps) des événements peuvent se produire pendant l'exécution d'une opération (entrelacement et préemption/reprise) dépend implicitement de l'implémentation synchrone l'exécution d'une opération est instantanée (approche discrète du temps) la simultanéité devient naturelle
Modélisation des systèmes réactifs exemple d'une machine à laver 2 actions : remplir la cuve chauffer l'eau déclenchées et arrêtées par des capteurs de niveau et de température R V Vanne Contrôleur Haut Bas Relais Chaud Froid F C B H
Modélisation des systèmes réactifs exemple d'une machine à laver comportements sur l'occurrence des signaux B et F indiquant qu'il faut remplir et chauffer R V Vanne Contrôleur Haut Bas Relais Chaud Froid C F B H Remplir ? B H B Chauffer F C F
Modélisation des systèmes réactifs exécution atomique et différée Chauffer Remplir B Fenêtre de perception Occurences F
Modélisation des systèmes réactifs exécution atomique et différée exécution préemptive et immédiate Chauffer Remplir B Fenêtre de perception Occurences F Remplir Chauffer Fenêtre de perception Occurences B F
Modélisation des systèmes réactifs atomicité et préemption des actions atomicité des actions pour l'hypothèse synchrone notion de durée de l'action et possibilité de préemption dans l'hypothèse asynchrone temps continu et temps discret simultanéité et mémorisation des événements attente de deux événements e1 ∧ e2 dans l'hypothèse synchrone : attendre l'instant où les deux événements sont présents hypothèse asynchrone : (e1 puis e2) ou (e2 puis e1)
Plan du cours Introduction l'approche synchrone concepts style « impératif » le langage Esterel style « flot de données » le langage Lustre SCADE l’approche asynchrone un langage de spécification : Electre un langage de programmation : ADA
l'approche synchrone