Workshop Java Real Time
Le mardi 18 mai 2010, j’ai été invité pour participer à un workshop sur le Java temps réel avec une session publique le matin composée de présentations des principaux acteurs du marché : Aicas, Atego/Aonix, Oracle/Sun.
La journée a commencé à 9h avec la présentation de la société Aicas qui est basée à Karlsruhe en Allemagne mais possède aussi un bureau à Paris. Cette société édite une machine virtuelle nommé Jamaica et un outil de vérification d’applications Java nommé Veriflux. Voici les points notés sur Jamaica :
- implémentation récente (en 2009 mais c’est à vérifier) mais c’était un projet de longue date
- n’a pas encore bien pénétré le marché des machines virtuelles temps réels et/ou embarqués
- temps réel et taillée pour l’embarqué
- implémente partiellement Java 1.5 mais a l’objectif d’être complètement compatible
- implémente la Real-Time Specification for Java (RTSJ) »
- implémente un Garbage Collector déterministe
- fonctionne sur du multi-coeur
- a pour objectif d’être certifiée DO-178B de niveau C
Conclusion : je pense que cette jeune machine vistuelle mérite d’être surveillée car Aicas a pour objectif d’implémenter complètement Java 1.5 et la RTSJ. Ils ont clairement exprimé la souhait d’attaquer les marchés afin de faire leur place.
Voici les points notés sur Veriflux :
- vérifie statiquement une application Java
- analyse directement le bytecode
- fonctionne sur tout code Java standard
Conclusion : je n’ai pas vu de démonstration de l’outil mais d’après leur présentation Veriflux est capable de déterminer les exceptions qui peuvent être lancées à l’exécution de l’application, les points de blocages, etc. Cet outil mérite d’être testé !
La seconde présentation était de la société Atego. Cette société est en pleine mouvance car il s’agit en fait de la société Aonix qui suite à différent rachats et partenariats devient Atego. La présentation portait sur leur machine virtuelle Perc Ultra. Voici les points notés :
- c’est une machine virtuelle qui exécute du bytecode et non une JVM qui a passé le TCK et qui supporte le JDK
- n’implémente pas complètement Java 1.5
- pas de planification pour passer le TCK
- bien établie dans différents projets industriels
- la JVM peut être certifié EN50128, IEC61508 mais aucun projet industriel n’a eu ce besoin pour l’instant
- implémente la JSR 321 : Trusted Computing API for Java
- manque d’outil d’analyse
Conclusion : c’est une machine virtuelle qui permet d’assurer les contraintes temps réels. Cependant, Atego ne possède pas de logiciels pour inspecter facilement et graphiquement le comportement dynamique de la machine vistuelle.
La troisième présentation était faite par Oracle, anciennement Sun Mircosystems, pour parler de leur JVM temps réel. Voici les points notés :
- implémente complètement Java 1.5
- implémentation de la RTSJ
- RTSJ prend en compte le multi-processeur
- utilise les notions de Scoped memory et de Immortal memory
- facile à utiliser grâce à du paramétrage automatique
- sous Solaris seulement, des outils comme DTrace permettent d’inspecter finement les comportements temporelles de la JVM
- Oracle préconise de séparer le code aux contraintes temps réels dur, mou et non temps réel
- Solaris, et notamment le noyau, est mieux adapté pour faire du temps réel. Du coup, la JVM temps réel est développé sur Solaris puis porté sur d’autres architectures
- Oracle propose de basculer une application Java sur Solaris pour l’inspecter et l’optimiser grâce aux outils disponibles puis de repasser sur l’architecture cible
Conclusion : Oracle préconise fortement de séparer le code afin de déterminer le code soumis à des contraintes temps réels. J’approuve cette idée car cela permet de se focaliser sur les parties critiques afin de mieux les optimiser. Leur JVM semble mature et respecte la RTSJ. Malgré sa facilité d’utilisation, leur JVM ne s’accompagne pas d’outil d’analyse pour Linux mais seulement pour Solaris.
En conclusion sur cette journée, c’était très sympathique et cela m’a permis de discuter avec les acteurs majeurs des JVMs temps réels et/ou embarqués. Si je connaissais déjà les gens d’Atego et d’Oracle/Sun, je rencontrai pour la première fois Aicas et j’ai été surpris par les capacités de leur outils VeriFlux.


envoi en cours...
Il est surprenant de se dire CERTIFIE EN 50128 ou DO178 sans présenter un certificat ….
Sur le site web d’atego pas de mention a un certificat EN 50128.
Pour AICAS, des informations sur le site semble indiquer qu’en fait on utilise un OS ARINC 653 certifié DO 178 sur lequel on fait tourné nos machines java c’est l’OS ARINC 653 qui sépare les applications …
ce n’est pas le JAVA qui est DO 178 …
JLB
(certificateur dans le domaine ferroviaire)
Vous avez complètement raison, merci pour votre commentaire !
La machine virtuelle d’Atego n’est pas certifié EN50128 et IEC61508 mais pourrait l’être si un industriel le demande.
Quand à la machine virtuelle d’Aicas, celle-ci a pour objectif d’être validé DO-178B de niveau C mais c’est un long processus !
L’article vient d’être corrigé en conséquence