Projet :
SLOOP

Précédent : Programmation Distribuée en
Java Remonter : Domaines d'applications Suivant :
Réseaux
embarqués tolérants aux pannes
Java et Java Card
Mots clés : Java Card .
Nous souhaitons, à partir d'une description formelle des
sémantiques des langages Java et Java Card, dériver un ensemble
d'outils pour la simulation, la mise au point et la vérification
d'applications. Les recherches s'orienteront vers des directions
communes (Java et Java Card) pour ce qui concerne la simulation,
et les aides à la mise au point :
- spécification complète de la sémantique dynamique du
langage puis simulation de l'exécution du programme par
interprétation de la sémantique ;
- fonctions de mise au point : poser des points d'arrêt,
exécuter pas à pas, modifier les valeurs des variables,
sauvegarder puis restaurer le contexte global d'exécution, afin
de faciliter la mise au point des applications.
Certains points sont spécifiques à Java :
- abstraction de la visualisation de la topologie du graphe
d'objets (pour passer à l'échelle dans le cas d'applications
réelles) ;
- contrôle des threads (gestion de l'entrelacement,
suspension-reprise d'un thread ou d'un ensemble de threads,
etc.).
D'autre part, Java Card nous entraîne sur un terrain
spécifique, notamment par l'existence d'un environnement
d'exécution dédié sur carte à puce, d'un lecteur de carte qui
sert d'interface avec l'utilisateur et de communications via des
APDUs (Application Protocol Data Unit). La sémantique
opérationnelle du langage Java Card doit donc être associée aux
spécifications de ces différents éléments, et devrait aboutir à
la construction d'un environnement dérivé, qui permettra, en plus
des fonctionnalités précédentes, de :
- simuler le fonctionnement d'une (ou plusieurs)
applications, sur une station de travail, avant le chargement
sur la carte à puce ; les scénarii de tests, décrits dans un
format à définir, pourront être construits de manière
interactive, sauvegardés et rejoués à volonté ; ils seront
également utilisés par un testeur (tests après installation sur
la carte) ;
- visualiser, de manière textuelle et graphique, l'ensemble
des objets impliqués (attributs, références), notamment
l'utilisateur, le lecteur de carte et les «applets» s'exécutant
sur la carte.

Précédent : Programmation Distribuée en
Java Remonter : Domaines d'applications Suivant :
Réseaux
embarqués tolérants aux pannes