• Aucun résultat trouvé

situ´e hors du sous-r´eseau local et ´eventuellement fort distant. De nombreuses exp´eriences d’instrumentation ont pour but d’exploiter les r´eseaux `a grande ´echelle et plus parti-culi`erement l’Internet afin de r´ealiser de l’instrumentation `a distance [16].

Nous voyons donc que Jini, de par sa capacit´e d’utilisation des ressources locales et globales rejoint les deux exploitations actuelles qui sont faites du r´eseau dans le cadre de la prise de mesure assist´ee par ordinateur. Jini propose ainsi une solution utilisable quel que soit le mod`ele de d´eploiement final envisag´e.

7.4 Les apports propres ` a Jini

7.4.1 Robustesse

La robustesse d’un syst`eme d’actuateurs ou de capteurs est primordiale, voire critique dans certains cas. Il s’agit d’ˆetre `a mˆeme d’attester `a tout moment l’´etat de bon fonc-tionement des appareils. Si un capteur tombe en panne, est d´efectueux ou si la mesure demand´ee ne peut s’effectuer, il est imp´eratif d’avoir connaissance du probl`eme dans un d´elai appropri´e.

Jini poss`ede un m´ecanisme que nous pourrions utiliser `a cet effet : il s’agit de la gestion des exceptions distantes (remote exceptions) et de la notion de bail du proxy (leases). La gestion des exceptions distantes nous offre la possibilit´e d’ex´ecuter un segment de code sp´ecifique lorsqu’une m´ethode activ´ee sur un objet distant a lev´e une exception. Cette m´ethode repr´esentant en fait une commande envoy´ee `a l’instrument, nous nous assurons ainsi que celles-ci prennent place correctement dans le processus de mesure. Cette technique traitant la probl´ematique du client, il nous reste `a envisager la partie li´ee au service ; `a savoir la d´etection de la disparition de l’instrument pour quelque raison que ce soit.

Le service de son cˆot´e peut subir deux types de d´eficiences principales : la panne du r´eseau sur lequel il est connect´e et la panne de l’appareil lui-mˆeme. Nous venons de montrer que les m´ecanismes d’exception g`erent l’envoi de commandes vers le service ainsi que sa r´ealisation. La panne de r´eseau n’´echappe pas `a ce cas de figure et toute panne du r´eseau sera instantan´ement d´etect´ee. Seule subsiste la probl´ematique de la disparition de l’appareil et donc de l’invalidation de sa disponibilit´e pour les clients charg´es de la collection des mesures. Nous proposons comme solution l’exploitation du m´ecanisme de bail. En ajustant correctement les param`etres de fr´equence de v´erification et de temps maximum de vie du proxy, on peut s’assurer que le d´epart d’un appareil ne laissera pas d’incoh´erence quant aux ´el´ements disponibles sur le r´eseau. Ces param`etres ´etant choisis par l’utilisateur, il sera possible de s’appuyer sur des mod`eles statistiques ou des simulations afin de d´eterminer les valeurs critiques assurant un s´ecurit´e optimale de l’ensemble de l’exp´erimentation.

Jini pr´esente intrins`equement tous les m´ecanismes n´ecessaires `a la r´ealisation d’un syst`eme stable et sur lequel nous sommes `a mˆeme d’imposer les contraintes de robustesse que nous d´esirons.

7.4.2 Interfaces graphiques

Jini est bas´e sur la plateforme Java et utilise abondament RMI afin, par exemple, de transporter les proxy ainsi qu’´eventuellement toutes les classes requises sur la machine vir-tuelle du client afin d’exploiter les capacit´es de ce dernier. Un groupe de travail issu de la soci´et´e Artima [1] a propos´e la mise au point d’une approche unifi´ee permettant la mise en oeuvre d’interfaces graphiques issues du service.

Parall`element `a cela, de nombreux logiciels livr´es avec les instuments de mesure pro-posent la visualisation des informations sous la forme d’une interface interactive semblable au panneau frontal de l’appareil. Ainsi, de la mˆeme mani`ere qu’il agirait manuellement sur les boutons de l’appareil, l’utilisateur peut agir avec sa souris sur l’interface graphique, les deux approches menant au mˆeme r´esultat.

Nous avons combin´e ces deux techniques afin de proposer des interfaces graphiques sp´ecifiques `a chaque appareil, accessibles `a travers Java et Jini etissues de l’appareil. L’in-terface graphique ´eventuelle apparait ainsi comme un attribut de l’appareil, accompagnant le proxy dans son d´eplacement vers le client. Le client peut alors choisir `a tout moment d’instancier la ou les classes constituant l’interface. En r´ealit´e, seul un constructeur d’in-terface (User Ind’in-terface Factory) est coupl´e avec le proxy afin de ne pas avoir `a instancier celle-ci du cˆot´e service, ce qui serait coˆuteux en ressource. Les interfaces r´ealis´ees dans le cadre de ce travail permettent par exemple de configurer les attributs secondaires de l’ap-pareil – localisation, commentaire sp´ecifique `a la mesure – ou de pr´esenter le panneau avant de ce dernier. Les figures 7.5 et 7.6 pr´esentent deux interfaces permettant de configurer un voltm`etre Hewlett-Packard HP-34401A.

Le projet initi´e par les chercheurs de chez Artima propose uniquement un ensemble d’interfaces afin de rendre possible la d´etection de la pr´esence d’une interface graphique at-tribut du proxy. Ces interfaces permettent d’envoyer tous les types de primitives graphiques existant dans Java : du simple panneau `a int´egrer dans une application jusqu’`a une appli-cation compl`ete. On peut ainsi imaginer d’inclure dans chaque appareil des ´el´ements qui s’ins`ereraient dans les applications afin de rendre compte des interactions sp´ecifiques avec chaque type d’instrument. Ces ´el´ements graphiques ´etant simplement des objets distribu´es, ils interagissent de mani`ere totalement transparente avec l’application client s’int´egrant alors tr`es ais´ement dans tout type d’application. On pourrait mˆeme imaginer la standar-disation d’un ensemble d’interfaces qui seraient toujours pr´esentes, quel que soit le type d’instrument, et les incorporer d’office dans les futurs logiciels client utilisant Jini.

7.4. LES APPORTS PROPRES `A JINI

Fig. 7.5 – L’interface graphique envoy´ee par le service Jini permet de pr´esenter la face avant de l’appareil

Fig. 7.6 – La configuration de l’appareil peut s’effectuer `a l’aide de l’interface qu’il met `a disposition, s’approchant ainsi tant que possible des aspects sp´ecifiques au constructeur.

Int´ egration de Jini dans les solutions actuelles

Sommaire

8.1 Motivation . . . 71

Documents relatifs