Formation Java temps réel et embarqué

Durée 3 jours
Niveau Avancé
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence JTRE
Éligible CPF Non

L'objectif principal de cette formation Java est la présentation des solutions générales proposées par java pour la réalisation d'applications temps-réel. Cette formation java présente par ailleurs rapidement les principaux standards java pour l'embarqué (J2ME, Android, Java Card) afin de montrer les différences importantes dans leur approche des problèmes et les solutions apportées.

Public :

Cette formation Java s'adresse à des développeurs Java

Prérequis :

Ce cours s'adresse à des programmeurs connaissant déjà le langage Java et les API de base du J2SE (Il ne présuppose pas la connaissance de la programmation Multithreadée)

 

Les problèmes du temps réel vs les problèmes de l'embarqué

L'embarqué : la programmation sous contraintes sur les ressources (processeur, mémoire, écran, espace de stockage de données)
Le temps réel : la programmation avec garantie du comportement temporel.

Introduction aux concepts importants du Temps Réel

Les caractéristiques des systèmes temps réel : le parallélisme + le comportement réactif + le respect des contraintes temporelles + le déterminisme du comportement
Les solutions basées sur l'ordonnancement : les concepts et quelques algorithmes classiques d'ordonnancement TR : les algorithmes à priorités fixes, à priorités dynamiques, à échéances...
Les problèmes posés par les contraintes de synchronisation : les contraintes de précédence, les ressources partagées
- l'algorithme d'héritage des priorités
Quelques algorithmes de gestion des ressources mémoires, des ressources de communication

Quelques rappels sur les systèmes d'exploitation temps réel

Les extensions POSIX : la gestion du parallélisme, l'ordonnancement, la gestion mémoire , les I/O (synchrones et asynchrones), les horloges de précision

Quelques rappels sur java non TR

Vrais et faux problèmes de java relativement au TR : les performances + le non déterminisme (compilation JIT, GC)
Le modèle du parallèlisme : Runnable, Callable, Thread, ExecutorService
L'ordonnancement et la synchronisation
La gestion des mémoire : le modèle mémoire et GC
Les I/O
TPs n°1 et n°2 : réalisation d'une application multithreadée qui servira de base aux Tps suivants

La spécification d'une extension Temps Réel à java : RTSJ (Real Time Specification for Java)

L'ordonnancement et la synchronisation (la prise en compte des ressources partagées )
La gestion mémoire (en particulier la mémoire physique)
La réaction aux événements asynchrones (les traitements + le transfert de contrôle)

La mise en oeuvre des concepts du RTSJ

L'extension du modèle de parallèlisme : les objets Schedulable + les threads (Realtime,
NoHeapRealtime, Periodic, Aperiodic) + le traitement en cas de non satisfaction de la contrainte temporelle
L'ordonnancement et la synchronisation : le modèle d'ordonnanceurs + le problème des ressources partagées (l'héritage des priorités)
La gestion mémoire : les différentes mémoires (HeapMemory, PhysicalMemory, ImmortalMemory,
ImmortalPhysicalMemory) + le GC Temps Réel
La communication entre Thread TR
Les horloges à haute précision
La prise en compte des événements asynchrones (les handlers d'événements asynchrones)
Les différents timers (OneshotTimer, PeriodicTimer)
Les transferts de contrôle asynchrones et la terminaison des threads
Tps n°3, 4, 5 : adaptation de l'application des Tps n°1 et n°2 aux contraintes TR (introduction d'un ordonnanceur TR + utilisation des différentes mémoires + prise en compte d'événements asynchrones.

Quelques outils d'aide au développement d'applications java TR

TSV (Thread Schedule Visualizer), jrts (java RTS), ....
Utilisation d'outils pour valider l'application

Les applications java embarquées

Le modèle d'applications des applications embarquées : applications réactives dont le cycle de vie est en partie controlée par l'infrastructure
J2ME : les configurations CDC et CLDC, le profil MIDP, les principales API de J2ME
Google Android : vue générale du modèle et les principales APIs
Java Card : vue générale du modèle et les principales APIs
Démo : une application simple développée sur Java Card

 

Date de mise à jour du programme : 09/11/2017

Ces formations peuvent aussi vous intéresser :

  • Niveau : Intermédiaire
  • Référence : ULTR

Pour une découverte approfondie du Raspberry Pi

  • Niveau : Fondamental
  • Référence : URPI

  • Niveau : Intermédiaire
  • Référence : FOTA

  • Niveau : Intermédiaire
  • Référence : UYOC


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB