Architecture informatique temps-réel pour véhicules avancés Soutenance de thèse : Khaled CHAABAN Directeurs de thèse : M. SHAWKY & P. CRUBILLE 16 Juin 2006 Laboratoire HEUDIASYC, UMR CNRS 6599, Université de Technologie de Compiègne (UTC)
Contexte des travaux Le projet RoadSense (Mars 2001 Juillet 2004) ROad Awareness for Driving via a Strategy that Evaluates Numerous SystEms Participants : Projet RoadSense Ord. distribué Industriels : JAGUAR (Leader) PORSCHE PSA RENAULT CR-FIAT Système D-BITE Middleware SCOOT-R Middleware Temps réel Académiques : HEUDIASYC (UMR CNRS UTC) LASMEA (UMR CNRS UBP) AMAC (Cranfield University) TNO
Objectifs Système D-BITED Développer une méthodologie d évaluation de l efficacité de nouvelles aides à la conduite Travail pluridisciplinaire {Human Factors + Techno} Développer une technologie qui permette de mettre en œuvre cette méthodologie : Définition d un D-BITE (Driver Behaviour Interface Test Equipment) Projet RoadSense Système D-BITE Middleware SCOOT-R Ord. distribué Middleware Temps réel
Contexte applicatif et besoins Acquisition périodique et sporadique Synchronisation globale Transparence de la localisation des services Gestion d absence/présence des fonctions Reconfiguration dynamique Templates d interactions uniformisés
SCOOT-R Serveur Client Orienté Objet pour le Temps-Réel el Objectifs : Distribué et orienté objet Capacité d auto-configuration Capacité d autodiagnostic Prototypage des systèmes d aide à la conduite Projet RoadSense Système D-BITE Ord. distribué Middleware Temps réelr Thématiques : Temps réel Ordonnancement distribué et contextuel temps réel Middleware SCOOT-R
Plan de la présentation Middleware SCOOT-R Ordonnancement distribué Ordonnancement contextuel 6
Motivation pour l approche intergiciel Challenges historiques NETWOTKING ARCH RTP TFTP FTP HTTP Implémentation d un SDTR est complexe Contraintes de coût et de moyens de développement DNS UDP IP TELNET TCP Fibre Channel Ethernet ATM FDDI Intergiciel : une approche plus efficace Avantages intergiciels Communication et coordination Transparence de la localisation des services Interopérabilité API haut niveau MIDDLEWARE ARCH Solaris Middleware Applications Middleware Services Middleware VxWorks Win2K Linux LynxOS Nouveaux challenges Approche QoS pour le temps-réel Non-supporté par les intergiciels conventionnels 7
SCOOT-R, architecture et principe Applications Server Or Emitter SCOOT-R R API SCOOT-R middleware Local OS Network Physical Layer OS Primitives Client::Call() Server::Accept() Data flow SCOOT-R fournit une Applications approche orientée objet pour l intégration de composants logiciels. Client Or Receiver SCOOT-R permet le développement des applications distribuées temps-réel par : SCOOT-R R API Localisation des objets Activation des objets SCOOT-R serveur et SCOOT-R émetteur middleware Traitement d erreurs & redondance Local OS Network Physical OS Primitives Layer Network 8
Modèles de communications Data Data Server < send request Client Emitter Receiver In, Out: data Accept () Return service> In, Out: data Call () Out: Data Deposit () Data flow In: data Consume () Data Modèle client/serveur Modèle émetteur/récepteur 9
Communication, contrats temps-réel CLIENT SERVEUR Min_period Période minimale des requêtes du client Période minimale des requêtes de chaque client Max_clients Nombre maximal des clients supportés simultanément Worst_case Temps de réponse en pire cas requis par le client Temps de réponse en pire cas annoncé par le serveur Nominal_period EMETTEUR Période nominale de l émetteur RECEPTEUR Min_period Période minimale entre deux émissions Min_period < Nominal_period - Jitter Max_period Jitter Gigue de l émetteur Période maximale entre deux émissions Max_period > Nominal_period + Jitter 10
BoundedTime ( Timeout ) ExcededTime Reconfiguration Diagramme de séquence client/serveur Client Server Client Server call() call() accept() timeout Replacement of server Opération normale Défaillance serveur 11
l o s s C o m m u n i c a t i o n Reconfiguration Diagramme de séquence émetteur/récepteur Emitter Receiver Emitter Receiver deposit() deposit() deposit() Emission period Emission period Jitter Max_period Replacement of emitter Opération normale Défaillance émetteur 12
Réplication (client/serveur) Qualité = q1 Qualité = q2 Qualité = q1bis Server1 Server2 Qualité = q3 Call() Timeout() Call() Accpet() Server1 (replica1) Server3 13
Synchronisation Software counter Cycle counter Local counter Overflow counter X*125 µs IEEE-1394 counter Ce temps réseau sert à : L estampillage des données à l acquisition Post-traitement des données SCOOT-R nettime 14
Application Typique Computer 1 Computer 2 GPS Odometer Fusion 1 GIS Fusion 2 SCOOT-R SCOOT-R IEEE-1394 bus GIS : Geographical Information System Computer 3 SCOOT R Display 15
Implémentations Real-Time Kernel (RTAI) User applications SCOOT-R API Stub User application as kernel modules Server Server2 Client User space LXRT User applications SCOOT-R API Stub User application as Linux processes Server Server2 Client SCOOT-R Core Kernel space RTAI Real-Time Kernel (RTAI) SCOOT-R Core Scheduler IPC communication Synchronization Scheduler IPC communication Synchronization Network interface Network interface Implémentation mode noyau Implémentation mode LXRT 16
Performances Transactions client/serveur Mode «noyau» (PIII 800 Mhz) Mode «LXRT» (PIII 800 Mhz) CORBA TR (P4 1.4 Ghz) ARMADA (P 133 Mhz) Délai moyen (local) 8 µs 15 µs Pire délai (local) 50 µs 60 µs Délai moyen (distant) 50 µs 50 µs Pire délai (distant) 100 µs 100 µs 10 ms 400 μs Délai d enregistrement de service 120 µs 120 µs 17
Plan de la présentation Middleware SCOOT-R Ordonnancement distribué Ordonnancement contextuel 18
Objectifs Renforcer SCOOT-R par des techniques d ordonnancement distribuées Définition et propagation des profils de contraintes Réduire les temps de latence de bout en bout des opérations prioritaires Gestion de la criticité des applications 19
Taxonomie simplifiée d ordonnancement Statique Dynamique A priorités fixes Rate Monotonic RM Deadline Monotonic DM A priorités dynamiques Earliest Deadline First EDF Minimum Laxity First MLF Hybride Maximum Urgency First MUF Dependent Activity Scheduling Algorithm DASA Locke's Best Effort Scheduling Algorithm LBESA 20
Ordonnancement de bout en bout Local scheduler Server A Computer 1 Computer 2 Server B Local scheduler Client B1 Client B2 Network bus Client A1 Client A1 Server C Client C1 Client C1 Local scheduler Computer 3 Local scheduler Computer 4 21
CPP (Client Priority Propagation) PROPAGATION DE PRIORITÉ DE BOUT-EN-BOUT Node 1 Node 2 Client b1 Client b2 Server b P1 P2 Queue prioritized SCOOT-R Core SCOOT-R Core Network Bus 22
CPP (Client Priority Propagation) Server P = server task priority p_current = priority of the current processing request Server priority 2 change P = min (rcn, p_current) 3 Request reply Avantages : Garanti de la faisabilité d ordonnancement pour les opérations prioritaires In queue rcn 1 Out queue (FIFO) Priority-based order rc2 rc1 Priority-based sort Inconvénients : Nécessité d une RMA globale Request Incompatibilité avec l approche Reply composant IEEE-1394 bus 23
CDP (Client Deadline Propagation) PROPAGATION DE L ÉCHÉANCE DE BOUT-EN-BOUT Node 1 Node 2 Client b1 Client b2 Server b D1 D2 Queue EDF SCOOT-R Core SCOOT-R Core Network Bus 24
CDP (Client Deadline Propagation) Server D = server task deadline d_current = deadline of the current processing request In queue Server priority 2 change D = min (rcn, d_current) rcn 3 Request reply Avantages : Garanti de la faisabilité d ordonnancement pour les opérations les plus contraintes Représentation dynamique des contraintes temporelles des applications 1 Out queue Cohérence avec l approche composant (FIFO) EDF rc2 rc1 EDF sort Request Inconvénients : Nécessité d un temps Replyde référence global Avalanche de dépassements d échéances en cas de surcharge IEEE-1394 bus 25
CDP-BBA (Best Benefit Algorithm) Objectif: contrôler les opérations à sacrifier en cas de surcharge de système. PROPAGATAON DE L ÉCHÉANCE ET DE LA CRITICITÉ DE BOUT EN BOUT Node 1 Node 2 Client b1 D1 I1 Client b2 D2 I2 Server b Queue prioritized SCOOT-R Core SCOOT-R Core Network Bus 26
CDP-BBA (Best Benefit Algorithm) Server 1/ Task 1 On-line Scheduler M11: M11i, M11d M12: M12i, M12d Messages Queue 1 Server 2/ 1/ Task 21 M21: M21i, M21d M22: M22i, M22d Messages Queue 2 M2k: M2ki, M2kd Server n/ Task n Mn1: Mn5i, Mn5d Mn2: Mn2i, Mn2d Messages Queue n Mnm: Mnmi, Mnmd CDP-BBA est équivalent à CDP en cas de système sous chargé En cas de surcharge du système, CDP-BBA maximise l ordonnançabilité des opérations plus prioritaires 27
Domaines de pertinence Temps d Accès au Media TAM CDP Surcharge CPP Échec systématique CDP-BBA Échec occasionnel T traitement CDP CPP Système sous chargé T traitement /TAM 28
Plan de la présentation Middleware SCOOT-R Ordonnancement distribué Ordonnancement contextuel 29
Ordonnancement en boucle fermée Objectif: Sélection dynamique des services suivant la situation du système ADAS HVI COMMAND Activation ADAS en boucle ouverte ADAS HVI Command Driving situation detection EVALUATE ADAS & DRIVER Adaptation à la situation de conduite 30
Techniques d ordonnancement en boucle fermée proposées Deux approches proposées : Approche «qualité de données» Ordonnancement des composantes» Utilisant le mécanisme de sélection de SCOOT-R Approche «contexte de conduite» Ordonnancement avec un nombre fini des classes de criticité Ordonnancement avec une échelle continue de criticité 31
Approche «situation de conduite» Indicateurs Indicateurs Situations de conduite Others 5 6 7 Reaction Time 3 Braking 2 TTC 4 Target Change 1 Moins critique Plus critique 7 6 5 3 4 2 1 National_Road_2*1 Changement de Situation 7 6 4 1 5 3 2 Driving_In_File 32
Interdépendance des indicateurs ADAS HVI Command Driving situation detection EVALUATE ADAS & DRIVER Can data Facelab data Turn signals (right and left) Relative speed Relative distance Instantaneous speed Brake pedal actuation Accelerator position Looked areas Time to collision Target change Variance in longitudinal Mean Speed Time headway Accelerator lift Mean and Variance of the acccelerator pedal position Reaction time Braking Reaction time Time headway classes duration Glance Reaction time Glance frequency 33
Ordonnancement contextuel Alarmes Diagnostic Véhicule Others 5 Accident Alarm 3 ACC 4 Legal 2 Speed Vehicle 1 Dynamic Speed 5 signalisation Airbug 3 Vehicle Body 4 Motor 2 Braking 1 National_Road_2*1 5 4 2 3 1 5 4 3 2 1 Changement de Situation Changement de Situation Driving_In_File 5 3 4 2 1 5 3 4 2 1 34
Application de CDP-BBA : Ordonnancement distribué contextuel Table1: S1 S2 Cl1 1 2 Cl2 3 1 Table2: S1 S2 Cl1 1 1 Sr1 2 3 Node 1 Node 2 Sched. Algo.: CDP-BBA Client1 (Cl1) Client2 (Cl2) Sched. Algo.: CDP-BBA Client1 (Cl1) Server1 (Sr1) Network Table3: S1 S2 Cl1 1 2 Sr2 3 1 Sched. Algo.: CDP-BBA Server2 (Sr2) Client1 (Cl1) Node 3 Driving situation Change detector 35
Conclusions Middleware temps réel : Léger (64 Koctets), facile à tester Performant Services importants : reconfiguration, synchronisation, etc. Prototypage des fonctions d aides à la conduite Ordonnancement de bout en bout : Pertinence en environnement distribué Facile à implémenter Ordonnancement contextuel : Contexte «situation de conduite» Sélection dynamique des services suivant la situation Approche pertinente pour éviter le surdimensionnement des systèmes informatiques embarqués dans l automobile. 36
Perspectives Expérimentation de l ordonnancement contextuel Nouveaux algorithmes d ordonnancement A court terme : (m,k) firm approche Modélisation formelle de SCOOT-R Automates, réseaux de pétri (colorés, temporisés), etc. Fiabilité des services de communication (SDF) SCOOT-R sur cible industrielle (MPC555/OSEK) SCOOT-R dans les projets liés à la plateforme PACPUS (Diagnostic embarqué, ADAS coopératifs) 37
Merci de votre attention Je passe la parole aux membres du jury 38
Publications Chapitre d ouvrage : K. Chaaban, P. Crubillé, and M. Shawky. Real-Time Framework for Distributed Embedded Systems, In Principles of Distributed Systems, volume 3144 of Lecture Notes in Computer Science, pages 96-107. Springer-Verlag GmbH, January 2004 Conférences véhicules intelligents : K. Chaaban, M. Shawky, and P. Crubillé. A distributed framework for real-time in vehicle applications. In proceedings of the IEEE Conference on Intelligent Transportation Systems ITSC, Vienna, Austria, September 2005 K. Chaaban, M. Shawky, and P. Crubillé. Dynamic reconfiguration for high level in-vehicle applications using IEEE-1394. In proceedings of the IEEE Conference on Intelligent Transportation Systems (ITSC), Washington, D.C, October 2004 Conférences sur le temps-réel : K. Chaaban, P. Crubillé, and M. Shawky. SCOOT-R: Middleware communication services for real-time systems. Principles of Distributed Systems: 7th International Conference, OPODIS 2003, La Martinique, French West Indies, December 10-13, 2003 K. Chaaban, P. Crubillé, and M. Shawky. SCOOT-R: A framework for distributed real-time applications. In proceedings of the WIP of the 24h IEEE Real-Time Systems Symposium, Cancun, Mexico, November 2003 K. Chaaban, P. Crubillé, and M. Shawky. Real-time embedded architecture for intelligent vehicles. In proceedings of the Fifth Real-Time Linux Workshop, Valencia, Spain, November 2003. Papiers soumis : K. Chaaban, P. Crubillé, and M. Shawky. End-To-End Scheduling Strategies for Distributed (m,k) Firm Real-Time Middleware, Submitted to RTSS 2006. 39
Contexte «qualité de données» Component 1.. CPU & components activation Component r Metric (Server) Controller task Intellignent Scheduler (IS) C1, C2,..., Cr Confidence Coefficient Monitors Confidence coefficient assessment 40
Approche montante 41
Contexte «situation de conduite» Échelle continue de criticités Utility values 46