|
|
| You are here: ac6 > ac6-formation > Languages > Real time Java |
| L5 | Real time Java |
| Objectifs | |||
| • Maîtriser le temps-réel Java | |||
| • Contrôler les problèmes de gestion mémoire | |||
| • Gèrer des évènements asynchrones | |||
| • Comprendre les divers profils temps réel | |||
| Matériel | |||
| • Un PC par binôme | |||
| • Une machine virtuelle Java supportant les extensions temps réel et les outils de développement associés | |||
| • Un support de cours ainsi que la disquette contenant les exemples | |||
| Pré-requis | |||
| • connaissance des notions de base du langage Java | |||
| • connaissance des notions de base du temps réel | |||
| Outils de développement | |||
| • la machine virtuelle Java de Sun | |||
| • la machine virtuelle de référence temps réel de TimeSys | |||
| • Java2 JDK SE avec le debugger jdb | |||
| Outline |
| Les threads temps-réel | |||
| Thread temps réel | |||
| Thread temps-réel sans gestion de la mémoire | |||
| L'ordonnancement | |||
| définition d’objets schedulables | |||
| analyse de faisabilité | |||
| assignation d’éligibilté d’exécution | |||
| L’interface Schedulable | |||
| La classe SchedulingParameters | |||
| La classe PriorityParameters | |||
| La classe ReleaseParameters | |||
| La classe Scheduler | |||
| PriorityScheduler | |||
| RMAScheduler | |||
| EDFScheduler | |||
| La synchronisation | |||
| Contrôle de l’inversion de priorité | |||
| PriorityInheritance | |||
| PriorityCeilingEmulation | |||
| Communication entre threads temps réel (NoHeapRealTimeThread) et threads Java réguliers | |||
| WaitFreeWriteQueue | |||
| WaitFreeReadQueue | |||
| … | |||
| La gestion mémoire | |||
| Définir des zones mémoire en dehors du tas | |||
| Définir de zones mémoire à portée (ScopedMemory) | |||
| Définir des zones mémoire pour objets permanents (ImmortalMemort) | |||
| Définition de zones mémoire mappées à des adresses physiques (PhysicalMemory) | |||
| Le ramasse miettes (garbage collector) | |||
| La gestion du temps | |||
| Les différents temps | |||
| HighResolutionTime | |||
| AbsoluteTime | |||
| RelativeTime | |||
| Les timers | |||
| OneShotTimer | |||
| PeriodicTimer | |||
| Les évènements asynchrones et leur traitement | |||
| L'évènement asynchrone | |||
| AsyncEvent | |||
| Les types de traitement d'un évènement asynchrone | |||
| AsyncEventHandler | |||
| BoundAsyncEventHandler | |||
| Les exceptions liées au temps réel | |||
| Problèmes de gestion mémoire | |||
| MemoryAcessError | |||
| MemoryInUseExceptionResourceLimitError | |||
| ScopedCycleException | |||
| Dépassements de capacité | |||
| ArrivalTimeQueueOverflowException | |||
| … | |||
| Le profil HIP | |||
| High Integrity Profile | |||
| Safety Critical Java Applications | |||