Eléments de spécification des systèmes temps réel
Transcription
Eléments de spécification des systèmes temps réel
Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d’informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances - Spécification de composabilité - Spécifications relatives a la sûreté de fonctionnement - Spécifications relatives aux tests et diagnostiques - Classes de systèmes temps réel - Phases d’un projet en informatique temps réel - Systèmes temps réel repartis 1 Spécification des événements Lois d’arrivée Description périodique Arrivent à intervalle constant. On y associe parfois la notion de phase pour donner la position relative dans le temps par rapport à d’autres événements périodiques irrégulier Cycle d’arrivées connu à l’avance et qui se reproduit cycliquement bornée Arrivent n’importe quand mais avec un intervalle minimum entre deux occurrences en rafale Arrive par paquet imprévisibles mais avec une densité maximum dans un intervalle non bornée La loi arrivée est décrite par une loi de probabilité Prise en compte des événements Scrutation (polling) Le système prend l’initiative d’activer la fonction qui va lire une entrée à un instant qui est programmé pour vérifier si un événement a eu lieu. Le plus souvent cette scrutation sera faite périodiquement. Sous interruption Un signal hardware associe à l’arrive de l’événement déclenche l’activation de la fonction qui va lire la donnée d’entrée. 2 Architectures des systèmes TR L’interaction avec le monde externe induit deux types d’architectures Systèmes séquencés par événements (système asynchrones) Ces systèmes sont activés par des événements externes. Ils attendent les sollicitations et réagissent à celles-ci Systèmes séquencés par le temps (systèmes synchrones) Dans ces systèmes il n’y a qu’une source d’événement, l’horloge. Ils sont programmés pour exécuter leurs actions à des instants bien précis qui restent immuables dans un mode de fonctionnement donné. Spécification de performances Latence du système C’est le délai global de bout en bout entre un changement d’état dans environnement et la réaction correspondante en sortie du système. C’est un délai composite qui prend en compte: -les délais de scrutation du système -les délais dû à l’OS -les délais de calcul applicatif -les délais de transmission de message 3 Délais intervenant dans la latence d’une fonction simple Production de la sortie Calcul de la réponse échantillonnage A B Changement d’état 1 2 C Latence du système 3 4 5 6 7 8 9 10 11 12 Temps CPU utile Temps d’attente Temps dans la couche réseau action Spécification de performances Gigue sur la latence: Elle décrit l’incertitude sur la latence. Liée à la concurrence qui va faire varier la charge du réseau (problème d’accès) ou des nœuds de calcul (ordonnancement). Dans les applications de contrôle il est souhaitable que cette gigue soit faible devant la latence. Dans les applications rapides elle doit donc être très faible Gigue Transaction 1 Transaction 2 Transaction 3 Latence moyenne 4 Spécification de composabilité Définition: La composabilité (composability) est la propriété qui fait qu’une caractéristique qui existe dans un composant du système pris isolement se retrouve comme propriété inchangée dans le système tout assemblé. On dit aussi que l’assemblage des composants est dénué d’effet de bord ou d’échelle. Spécifications relatives à la sûreté de fonctionnement délai de détection des erreurs: Dans un système critique on cherchera à ce qu'il soit minimum. De l'ordre de grandeur de la boucle de contrôle la plus courte, pour pouvoir réagir assez vite et mettre le système dans un état sûr de fonctionnement (éviter les divergences). 5 Spécifications relatives à la sûreté de fonctionnement tolérance aux fautes: Une application critique doit avoir un comportement du type FO->FS (fail operational->fail safe). Il doit y avoir continuité de fonctionnement tant qu'un certain nombre de défaillances n'est pas atteint. Ensuite lorsque la limite de capacité à assumer une défaillance de plus est atteinte, le système doit s'arrêter de façon sûre. Spécification relatives aux tests et diagnostiques Cet aspect est capital dans un projet!! car les défaillances sont souvent difficiles à reproduire Un SITR doit avoir les propriétés suivantes: - testabilité d'intégration, - disposer de points de mesures utilisables en intégration ou en fonctionnement pour injecter des séquences de tests, - disposer d'outils pour superviser le trafic en fonctionnement, - d'avoir la possibilité de mémoriser et restituer l'état d'exécution d'un noeud (trace des valeurs datées). 6 Classes de systèmes temps réel Systèmes à contraintes dures/strictes (hard real time, guaranteed) Spécifications de temps doivent être réalises dans 100% des cas. Spécifications très précises et exhaustives (exemple: contrôle de central nucléaire, pilote automatique d’avion …) - validation formelle en amont (mathématique si possible) - tests exhaustifs en aval Toute modification devra repasser par un cycle de validation amont et aval avant d’être intégrée au système opérationnel. Systèmes plutôt chers et difficiles à faire évoluer. Régularité et le déterminisme au dépend de l’optimisation des ressources. Classes de systèmes temps réel Systèmes à contraintes souples (soft real time, best effort) Spécifications de temps doivent être atteintes mais des erreurs rares sont tolérables. Spécifications définissent statistiquement les taux d’erreurs acceptables (exemple: multimédia, DAQ en physique des particules …) - conception aidée par de la simulation sur un modèle exécutable - tests par exécution et mesures dans la durée des paramètres clefs Les modifications peuvent être intégrées pour voir et validées en ligne. Systèmes plus faciles à faire évoluer et permettant les compromis qui conduisent à une optimisation des ressources. 7 Classes de systèmes temps réel Systèmes temps réel critiques Terminologie qui met l’accent sur les conséquences d’une défaillance du système et concerne la sûreté de fonctionnement. On dira qu’un système temps réel est critique si: - il y a des conséquences humaines en cas de défaillance - si le coût financier d’une défaillance du système est d’ordre supérieur à celui du système Phases d’un projet TR Méthodologies classiques car c’est un système informatique, AVEC quelques aspects spécifiques Spécification: - importance du contexte qui stimule le système et de la caractérisation de cette stimulation (types d’événements) - en plus des fonctions on trouvera leurs contraintes temporelles - indication de la criticités des fonctions - des contraintes liées au hardware à utiliser - contraintes géographiques et de répartition - caractérisation de l’environnement 8 Phases d’un projet TR Conception générale et architecturale: - choix des unités logiques et d’une architecture logique - le système est décomposé en sous-systèmes - un sous-système particulier sera identifié pour l’encapsulation des fonctions assurées par le matériel (hardware wrapper) (doit assurer indépendance matériel/logiciel) Phases d’un projet TR Analyse et réalisation: - la description de la dynamique et du comportement (états, transitions et modes de fonctionnement associés) plus développés et fils directeur - boucle pour réajuster les hypothèses temporelles optimistes En phase de conception détaillée: - découpage en tâches (analyse des événements externes et de leur fils de traitement) - hypothèse/allocation concernant les temps d’exécution (prototypage) - choix des modes de communication et de synchronisation entre tâches - validation formelle en cas pire pour les tâches critiques 9 Phases d’un projet TR Intégration: -en plus des tests fonctionnels prévoir les tests de performances réelles et l’évaluation des effets d’intégration sur les performances temporelles (influence des différents composants sur la charge du système). -pour un système stricte mesurer et caractériser précisément chaque composant Validation: -peut se faire sur site, en exploitation, pendant une période considérée comme probatoire d’un point de vue statistique pour un système souple. -longue période de passage de tests systématiques (procédures strictes) et mise en exploitation progressive pour un système critique Système temps réel reparti Configuration matérielle noeud noeud Nœuds de traitement noeud noeud Réseau temps réel noeud Nœuds d’interface Capteurs/actionneurs noeud Capteurs/actionneurs 10 Système temps réel reparti Variables du système échantillonnage ITR ITR Objet TR Image TR Transmissions Variable locale Variable réelle= entité temps réel ETR Valeur informatique = image temps réel ITR Valeur diffusée et conservée dans des objets temps réel ITR ITR Objet TR Système temps réel reparti Variables du système Déterminisme de duplication (réplica determinism) C'est une relation entre OTR répliqués. Un ensemble d‘OTR répliqués est dit déterministe si tous les OTR atteignent le même état "à peu près" au même moment. "à peu près" prend en compte la précision de la synchronisation d'horloge dans un système TR réparti. 11 Système temps réel reparti Variables du système Précision temporelle des variables du système décalage maxi entre état d’une entité du monde réel et son image dans un objet temps réel du système. Stabilité Définit la relation entre un message Mi qui arrive à un OTR et les Mi-1, Mi-2 ,... messages précédents qui lui ont été envoyés auparavant (dans le temps global du système). Mi devient stable dès que tous les messages précédents sont arrivés. Une décision prise sur un message instable peut être source d'incohérence. Système temps réel réparti Variables du système Stabilité Définit la relation entre un message Mi qui arrive à un OTR et les Mi-1, Mi-2 ,... messages précédents qui lui ont été envoyés auparavant (dans le temps global du système). Mi devient stable dès que tous les messages précédents sont arrivés. Une décision prise sur un message instable peut être source d'incohérence. Délai d’action Le délai d'action est le temps qui s'écoule entre l'envoi d'un message et le moment où il est considéré comme stable pour son récepteur et donc qu’il peut l’exploiter ou le publier localement. 12 Système temps réel réparti Variables du système Dans un système TR réparti sans base de temps globale, le délai d'action maximum est dmax + e (temps transmission maximum + attente stabilité) avec e = dmax - dmin (gigue sur le protocole) Dans un système synchronisé avec une base de temps globale de précision (granularité) g le délai d'action maximum est: dmax + 2g (2g est l'incertitude sur les dates) Si cette synchro est réalisée par matériel g peut être très faible Système temps réel réparti Variables du système Théorème Un système temps réel distribuée ne peut fonctionner correctement que si le délai d’action est plus court que les précisions temporelles requises par l’application. 13