FR 2924507 A1 20090605 FR 0708393 A 20071130 Dispositif de contrôle d'un pointeur informatique dans un système comprenant différents types d'afficheurs Le domaine de l'invention est celui de systèmes comprenant des organes de contrôle ou de commande possédant un ensemble important de dispositifs de visualisation devant afficher un grand nombre d'informations, certaines étant vitales pour le fonctionnement ou la sécurité du système. Le domaine d'application privilégiée est l'aéronautique. En effet, les planches de bord des aéronefs modernes possèdent plusieurs écrans de visualisation permettant d'afficher, de contrôler ou de modifier les informations nécessaires au pilotage et à la navigation. D'une façon générale, on appellera, dans la suite du texte, l'ensemble du système de gestion de bord sécurisé nécessaire au pilotage ou à la navigation d'un aéronef � monde avionique �. On entend par gestion de bord sécurisé un système électronique et informatique comprenant des moyens de contrôle, de surveillance ou de redondance des informations calculées et affichées. La désignation, la sélection et la modification des informations affichées du � monde avionique � est généralement effectuée par des dispositifs de contrôle de type souris informatique, que l'on appelle encore � CCD �, acronyme signifiant � Contrai Cursor Device � qui affichent un pointeur de commande sur les écrans de visualisation, ce pointeur pouvant prendre différentes formes. A côté de ce � monde avionique � sécurisé, il existe un � monde ouvert � non sécurisé qui est susceptible de fournir des informations aux utilisateurs du � monde avionique �. A titre d'exemples, on citera le système de gestion des documents de bord dit � Electronic Flight Bag � ou les liaisons � Internet � avec l'extérieur. Ce � monde ouvert � doit pouvoir être commandé par les mêmes � CCD � que ceux utilisés pour le � monde avionique �. En particulier, il doit être possible avec le même � CCD � de déplacer facilement le pointeur P d'un écran 10 du � monde avionique � vers un écran 20 ou une fenêtre du �monde ouvert � comme indiqué en figure 1. Les écrans du � monde ouvert � et du � monde avionique � ne sont pas nécessairement différentiés. Un grand écran de visualisation peut comporter à la fois des fenêtres d'affichage appartenant au � monde avionique � et des fenêtres d'affichage appartenant au � monde ouvert�. Sur cette figure et dans ce qui suit, les coordonnées du pointeur P dans le � monde avionique � sont notées (Xa, Ya), les coordonnées du pointeur dans le � monde ouvert � sont notées (Xo, Yo). Or, ce � monde ouvert � ne bénéficie pas du même niveau de sécurité informatique que le � monde avionique �. Si aucune précaution n'est prise, il est donc susceptible de parasiter ou de perturber le fonctionnement du � monde avionique � à travers la commande commune des � CCD �. Pour assurer cette sécurité, il faut que la gestion du déplacement du pointeur soit géré par le � monde avionique � dans tous les cas, que le pointeur se trouve dans une fenêtre du � monde avionique � ou qu'il se trouve dans une fenêtre du � monde ouvert �. Cela garantit que le monde avionique peut reprendre la main sur le pointeur quand il sortira de la fenêtre du monde ouvert, le pointeur ne devant pas rester bloqué dans une fenêtre du monde ouvert si celui-ci se comporte de façon erronée. La gestion du déplacement du pointeur dans le � monde avionique � n'est pas immédiate et dépend entre autres : • des fonctions présentées sur l'écran : o il existe des fenêtres où l'interactivité est interdite. Par exemple, les écrans de type � PFD � (Primary Flight Display) ne doivent pas comporter de pointeurs o il existe des fenêtres appartenant au � monde ouvert � 25 • de la configuration des écrans : o Sur un mur d'écran, on doit être capable de passer d'un écran à un autre par continuité. Cette gestion complexe ne peut être assurée que par une fonction maîtrisant le contexte du cockpit: Elle ne peut être assurée par le CCD dont 30 l'électronique et l'informatique sont nécessairement rudimentaires. Cette gestion complexe est assurée par le système avionique et en particulier par les dispositifs de visualisation. Par conséquent, dans le � monde avionique �, le CCD travaille simplement en coordonnées relatives. Lorsque l'utilisateur utilise le CCD pour déplacer le pointeur correspondant sur un écran de 35 visualisation du � monde avionique �, les informations envoyées par le CCD sont les déplacements relatifs dX et dY effectués par l'utilisateur à partir d'une position initiale. Des moyens électroniques disposés dans l'écran de visualisation calculent alors, à partir de la connaissance de ses déplacements relatifs dX et dY les déplacements absolus X et Y sur l'écran proprement dit. Ainsi, le dispositif de visualisation peut contrôler si le déplacement est autorisé, s'il entraîne un changement d'écran,...Toutes choses qui seraient impossibles si le CCD travaillait en coordonnées absolues. Bien entendu, dans le � monde ouvert �, les contraintes d'affichage du pointeur sont moindres et, pour des questions de rapidité d'affichage, il est plus intéressant que le CCD travaille en coordonnées absolues X et Y. Lorsque l'on doit gérer un CCD permettant de déplacer un curseur à la fois dans le � monde avionique � et le � monde ouvert �, on doit donc générer des coordonnées relatives à destination du � monde avionique � et des coordonnées absolues à destination du � monde ouvert �, tout en conservant la sécurité du � monde avionique �. Une première solution possible est présentée en figure 2. Cette figure représente le � monde avionique � 1, le � monde ouvert � 2 et leur interconnexion. Le � monde avionique � et le � monde ouvert � sont représentés par des rectangles pointillés à bords arrondis. Sur cette figure, cinq dispositifs de visualisation 1 sont représentés. Les deux visualisations de gauche fournissent des informations à un premier utilisateur, généralement le commandant de bord, les deux visualisations de droite fournissent des informations à un second utilisateur, généralement l'officier de vol. La visualisation centrale est commune aux deux utilisateurs. Bien entendu, ce nombre de dispositifs de visualisation n'est donné qu'à titre indicatif. II pourrait être plus faible ou plus élevé. Ces cinq dispositifs sont interconnectés à un bus avionique 3 qui assure le lien entre les dispositifs de visualisation et le reste du monde avionique. Ces dispositifs de visualisation reçoivent des instructions des deux utilisateurs au moyens des deux CCD 4 à travers un bus 5 dit d' � interactivité �. Le lien entre le � monde avionique � et le � monde ouvert � est assuré par une passerelle 6 � monde avionique �-� monde ouvert � qui, à travers le monde avionique �, contrôle � le monde ouvert � par une passerelle à sens unique. Dans cette configuration, le fonctionnement des CCD vers � le monde ouvert � est le suivant : • Envoi des cordonnées relatives d'un CCD vers le monde avionique • Calcul des coordonnées absolues du CCD par le monde avionique • Retransmission des coordonnées du CCD vers le monde ouvert, via la passerelle monde avionique/monde ouvert • Récupération des coordonnées du CCD par le monde ouvert • Génération du pointeur dans la vidéo à destination des écrans Cette implémentation présente un inconvénient majeur : la latence du pointeur pour le monde ouvert est beaucoup plus importante que la latence du pointeur pour le monde avionique, et plus importante que la latence maximale de 100 millisecondes autorisée par la norme aéronautique de référence � A661 �. Afin de diminuer la latence du pointeur dans le monde ouvert, le CCD doit travailler en multi-mode selon la position du pointeur. Le but du dispositif selon l'invention est de proposer un dispositif de gestion du pointeur agissant différemment selon qu'il se trouve dans une fenêtre avionique ou dans une 'fenêtre du monde ouvert, le CCD faisant nécessairement partie du monde avionique pour des raisons de sécurité. Ce dispositif garantit : • La sécurité du monde avionique, le monde ouvert ne peut pas polluer le monde avionique, • L'optimisation de la latence entre l'action sur le CCD et la visualisation du déplacement du pointeur pour le monde avionique et le monde ouvert. Par conséquent, le monde avionique doit gérer les coordonnées 30 du pointeur en relatif à destination du monde avionique et en absolu à destination du monde ouvert. Le principe du dispositif selon l'invention est de faire travailler le CCD dans deux modes qui seront pilotés par un organe intelligent du monde 35 avionique qu'on appelle � manager du CCD � : • 1 er mode : le pointeur est dans une fenêtre avionique et le CCD génère des coordonnées relatives pour le manager du CCD • 2ème mode : le pointeur est dans une fenêtre du monde ouvert et le CCD génère des coordonnées absolues pour le monde ouvert via une liaison directe vers le monde ouvert. L'intérêt majeur de cette solution est que la liaison du CCD vers le � monde ouvert � est une liaison unidirectionnelle ne nécessitant pas de pare-feu informatique, connus sous le nom de � firewalls �. Un des problèmes majeurs de l'introduction d'applications � monde ouvert � dans un cockpit civil est le risque pour le pilote d'être détourné de tâches critiques comme le pilotage, par exemple, par un fonctionnement incorrect ou malveillant de ces applications. Concernant le curseur, un problème évident est le risque de voir apparaître deux curseurs, c'est à dire que le � monde ouvert � continue à afficher un curseur alors qu'il n'en a théoriquement plus le droit, le curseur étant de nouveau dans le monde avionique. La solution proposée permet d'apporter une réponse satisfaisante à ce problème . Lorsque le curseur est dans le monde avionique, le CCD n'envoie plus les coordonnées écran au monde ouvert. Ainsi, le � monde ouvert � est incapable de simuler, par disfonctionnement ou malveillance un mouvement de curseur cohérent des mouvements réels du CCD. Dans le cas où deux curseurs sont affichés, dès que le pilote touchera au CCD, seul le curseur avionique pourra donc bouger de manière cohérente : il est le seul à recevoir les informations de mouvement réel venant du CCD. Plus précisément, l'invention a pour objet un dispositif de contrôle d'un pointeur informatique d'un ensemble informatique comportant deux systèmes informatiques, • le premier système appelé système sécurisé comportant au moins un écran de visualisation, un interface homme-machine appelé CCD, ledit CCD comprenant une première liaison bi-directionnelle de transmission des instructions de déplacement provenant d'un utilisateur audit système sécurisé et des moyens d'affichage dudit pointeur informatique sur ledit écran, lesdites instructions de 35 déplacement étant référencées dans un plan dit plan de référence ; • le second système appelé système ouvert comportant au moins un écran de visualisation, le CCD comprenant une seconde liaison de transmission des instructions de déplacement provenant d'un utilisateur audit système ouvert et des moyens d'affichage dudit pointeur informatique sur ledit écran, la zone d'affichage occupant une zone dite zone ouverte dans le plan de référence ; caractérisé en ce que le dispositif de contrôle comporte un moyen appelé � manager du CCD� appartenant au premier système, assurant le contrôle des liaisons de transmission du CCD et comportant les fonctions suivantes activées lorsqu'une instruction de déplacement est transmise par l'utilisateur au CCD, le pointeur occupant une première position dans le plan de référence, • Détermination de la nouvelle position du pointeur ; • Détermination de la zone d'appartenance du pointeur en fonction de cette nouvelle position, • Autorisation de transfert des instructions de déplacement venant du CCD vers le système sécurisé ou vers le système ouvert correspondant à la zone d'appartenance déterminée précédemment. Préférentiellement, lorsqu'une instruction de déplacement est transmise par l'utilisateur au CCD, les instructions de déplacement sont fournies initialement au système sécurisé en coordonnées relatives par rapport à la position précédemment occupée par le pointeur et les instructions de déplacement sont fournies au système ouvert en coordonnées absolues. De plus, lors des transitions du pointeur d'une visualisation d'un système vers une visualisation de l'autre système, le � manager du CCD � génère un effet perceptible par l'utilisateur, lui indiquant qu'il y a transition d'un système vers l'autre. Avantageusement, le dispositif est un système de gestion de vol aéronautique, les écrans de visualisation appartenant à la planche de bord. L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : La figure 1 précédemment décrite représente le passage symbolique d'un curseur d'un monde avionique vers un monde ouvert ; La figure 2 précédemment décrite représente le � monde avionique, le � monde ouvert � et leur interconnexion sécurisée telle qu'elle est réalisée dans l'art antérieur ; La figure 3 représente les deux modes de fonctionnement du CCD 10 selon l'invention selon que le curseur est dans le monde avionique ou le monde ouvert ; La figure 4 représente' le fonctionnement du � manager du CCD � selon l'invention. 15 Dans ce qui suit, le système décrit est plus spécifiquement un système de gestion de vol. Mais, bien entendu, l'invention peut s'appliquer sans difficultés particulières à tous système informatique comprenant des moyens d'affichage sécurisés et non sécurisés. 20 La figure 3 représente les deux modes de fonctionnement d'un CCD selon l'invention. Sur la vue de gauche, le CCD envoie les instructions de commande du pointeur au monde avionique. Sur cette figure et sur la suivante, on a adopté les conventions suivantes : • Les instructions ou les données fournis par le CCD au 25 � manager du CCD � sont notées Icco-*M • Les instructions ou les données fournis par le CCD au � monde ouvert� sont notées lccD-*MO • Les instructions ou les données fournis par le � manager du CCD � au CCD sont notées IM-ccD 30 • Les instructions-ou les données fournis par le � manager du CCD � au � monde avionique � sont notées IM-*MA Les instructions de déplacement ICCD_>M sont fournies au système avionique par l'intermédiaire d'un dispositif de gestion appelé � manager du CCD � 7 en coordonnées relatives dX, dY par rapport à la position 35 précédemment occupée par le pointeur. Bien entendu, ces coordonnées relatives sont ensuite transformées en coordonnées absolues par les moyens d'affichage de l'écran de visualisation sur lequel s'affiche le pointeur. La liaison du CCD avec le monde ouvert 2 est interrompue. Sur la vue de droite de la figure 3, le CCD envoie les instructions de commande du pointeur au monde ouvert 2. Les instructions ICCD-*Mo de déplacement sont fournies au monde ouvert et au � manager du CCD � en coordonnées absolues Xo, Yo. Plus précisément et à titre d'exemple non limitatif, l'algorithme ci-dessous représente les différentes étapes de la gestion du pointeur par le CCD multi-mode. Cet algorithme comporte des commentaires en italique entre parenthèses. Les notations adoptés pour les coordonnées figurant dans l'algorithme sont les suivantes: • Coordonnées absolues de la position du pointeur transmise au � monde ouvert � : Xo, Yo • Coordonnées absolues de la position du pointeur transmise au � monde avionique � : Xa, Ya • Coordonnées relatives de la position du pointeur transmise au � manager � : dX, dY • Coordonnées absolues de la position du pointeur transmise au � CCD � par le � manager du CCD� : X1, Y1 • Coordonnées absolues de la position du pointeur transmise au � manager du CCD� par le � CCD � : X2, Y2 • Coordonnées des limites de la fenêtre du monde ouvert : Xmin, Xmax, Ymin, Ymax Algorithme de gestion du CCD • Détermination de dX et de dY (coordonnées fournies par l'interface homme-machine du CCD) 30 • Si mode = � pointeur dans une fenêtre du monde avionique � o Autorisation pointeur monde ouvert = Faux (Coupure des communications avec le monde ouvert) o Xo = Yo = -1 (ou tout autre valeur permettant un positionnement � gelé � hors écran) 35 o X2 = Xl 20 25 o Y2 = Y1 • Sinon (mode = � pointeur dans une fenêtre du monde ouvert �) o Si transition mode avionique vers monde ouvert ^ � Initialisation du pointeur � ^ Xo =X1 et X2 = X l Yo =Y 1 et Y2 = Y l ^ Autorisation de pointeur monde ouvert = Vrai o � Régime établi � ^ Xo = Xo_précédent + dX ^ Yo = Yo_précédent + dY ^ Limitation de Xo entre Xmin et Xmax (correspondant aux limites en X de la fenêtre du monde ouvert) ^ Limitation de Yo entre Ymin et Ymax (correspondant aux limites en Y de la fenêtre du monde ouvert) ^ Autorisation pointeur monde ouvert = Vrai ^ X2 = Xo ^ Y2 = Yo o Finsi (Indication de fin de traitement) 20 • Finsi (Indication de fin de traitement) • Envoi de dX, dY, X2, Y2 et Autorisation pointeur monde ouvert vers le monde avionique • Envoi de Xo, Yo et Autorisation pointeur monde ouvert vers le monde ouvert 25 La figure 4 représente le fonctionnement du � manager du CCD � selon l'invention. Le � manager du CCD� assure le contrôle des liaisons de transmission du CCD et comporte les instructions IM-*ccp et IM-*MA suivantes activées lorsqu'une instruction de déplacement est transmise par l'utilisateur 30 au CCD, le pointeur occupant une première position dans le plan de référence, • Détermination de la nouvelle position du pointeur ; • Détermination de la zone d'appartenance du pointeur en fonction de cette nouvelle position, 10 15 • Autorisation de transfert des instructions de déplacement venant du CCD vers le système sécurisé ou vers le système ouvert correspondant à la zone d'appartenance déterminée précédemment. Les fonctions du � manager du CCD � sont simples et peuvent être facilement implantées dans différents systèmes appartenant au � monde avionique �. Plus précisément et à titre d'exemple non limitatif, l'algorithme ci-dessous représente les différentes étapes de la gestion du CCD par le manager du CCD avec des commentaires en italique entre parenthèses. Les notations sont celles exposées précédemment : Algorithme de gestion du manager du CCD • Détermination du mode en fonction de la position du pointeur, de dX et dY et de l'effet de résistance que l'on veut donner pour passer d'un monde à l'autre • Si mode = � pointeur dans une fenêtre du monde avionique � o Calcul des coordonnées absolues du pointeur avionique (Xa et Ya): ^ Xa = Xa_précédent + dX ^ Ya = Ya_précédent + dY ^ Autorisation pointeur monde avionique = Vrai o Mise à jour coordonnées pointeur pour CCD : ^ X1 =Xa ^ Y1 =Ya o Initialisation de Xmin, Xmax, Ymin, Ymax à la fenêtre de I `écran • Sinon (mode = � pointeur dans une fenêtre du monde ouvert �) o Détermination des coordonnées de la fenêtre monde ouvert (Xmin, Xmax, Ymin et Ymax) o Autorisation pointeur monde avionique = Faux o Si Autorisation pointeur monde ouvert = Faux (transition monde avionique vers monde ouvert) ^ � Initialisation variables � ^ Gel de X1 et Y1 (à la frontière de la fenêtre) 25 30 35 o Sinon (Autorisation pointeur monde ouvert = Vrai 4 � Régime établi �) ^ X1 =X2 ^ Y1 =Y2 5 o Finsi(Indication de fin de traitement) • Finsi(Indication de fin de traitement) • Envoi de X1, Y1, Xmin, Xmax, Ymin, Ymax et mode au CCD REVENDICATIONS 1. Dispositif de contrôle d'un pointeur informatique d'un ensemble informatique comportant deux systèmes informatiques, • le premier système appelé système sécurisé comportant au moins un écran de visualisation, un interface homme- machine appelé CCD, ledit CCD comprenant une première liaison bi-directionnelle de transmission des instructions de déplacement provenant d'un utilisateur audit système sécurisé et des moyens d'affichage dudit pointeur informatique sur ledit écran, lesdites instructions de déplacement étant référencées dans un plan dit plan de référence ; • le second système appelé système ouvert comportant au moins un écran de visualisation, le CCD comprenant une seconde liaison de transmission des instructions de déplacement provenant d'un utilisateur audit système ouvert et des moyens d'affichage dudit pointeur informatique sur ledit écran, la zone d'affichage occupant une zone dite zone ouverte dans le plan de référence ; caractérisé en ce que le dispositif de contrôle comporte un moyen appelé � manager du CCD� appartenant au premier système, assurant le contrôle des liaisons de transmission du CCD et comportant les fonctions suivantes activées lorsqu'une instruction de déplacement est transmise par l'utilisateur au CCD, le pointeur occupant une première position dans le plan de référence, • Détermination de la nouvelle position du pointeur ; • Détermination de la zone d'appartenance du pointeur en fonction de cette nouvelle position, • Autorisation de transfert des instructions de déplacement venant du CCD vers le système sécurisé ou vers le système ouvert correspondant à la zone d'appartenance déterminée précédemment. 2. Dispositif de contrôle selon la revendication 1, caractérisé en ce que, lorsqu'une instruction de déplacement est transmise par l'utilisateur au CCD, les instructions de déplacement sont fournies initialement au système sécurisé en coordonnées relatives par rapport à la position précédemment occupée par le pointeur et les instructions de déplacement sont fournies au système ouvert en coordonnées absolues. 3. Dispositif de contrôle selon la revendication 1, caractérisé en ce que, lors des transitions du pointeur d'une visualisation d'un système vers une visualisation de l'autre système, le � manager du CCD � génère un effet perceptible par l'utilisateur, lui indiquant qu'il y a transition d'un système vers l'autre. 4. Dispositif de contrôle selon l'une des revendications précédentes, caractérisé en ce que ledit dispositif est un système de gestion de vol aéronautique, les écrans de visualisation appartenant à la planche de bord.