@TITRE:EDF met ses composants sous haute tension
@CHAPOPour le suivi de ses 43 000 kms de câbles électriques, EDF recourt de plus en plus aux bibliothèques graphiques et mathématiques.
@TEXTE:Le Centre d'équipement du réseau de transport (CERT) d'EDF a démarré il y a deux ans le projet Orion (Outils de référence pour l'ingénierie des ouvrages lignes aériennes) en misant à 100 % sur le développement orienté-objet et la réutilisation de composants graphiques et mathématiques.
Objectif : reconstituer le réseau de transport aérien d'EDF avec ses pylônes et ses câbles haute tension, le tout à travers une représentation et une saisie graphique des composants d'ouvrage, notamment des noeuds et des liens. L'ancienne architecture d'application n'était pas assez modulaire pour permettre ces évolutions. Il y a quatre ans, EDF avait bien introduit une "boîte à logiciels intégrés" (BALI) sur micro s'appuyant sur le langage Pascal pour venir en complément du code fortran sur 3090 (accès séquentiels à partir de consoles passives alphanumériques). Mais cela ne suffisait pas (absence d'outil de description d'ouvrage, données de référence sur disquettes, structure des données identique au site central...).
Depuis l'année dernière, il n'y plus de développement classique et l'objet commence à prendre le pas sur le Fortran qui devrait s'effacer complètement d'ici la fin de l'année, suivi quelques mois plus tard par le langage Pascal sur micro.
Pour la partie IHM (interface homme-machine), EDF a recours à Ilog Views, une bibliothèque entièrement C++ de plusieurs dizaines de librairies renfermant plus de 500 classes graphiques (GUI) prêtes à l'emploi et séparables en objets de base, en composants ou en "puces logicielles. Constituées au fur et à mesure par la SSII depuis 1992, le contenu de Views va des pallettes de boutons et menus à du code C++ pour la présentation 2D.
@INTER:150 écrans, à raison de 4 jours chacun
@TEXTE:Pour les codes de calcul matriciel (calcul de champs, calcul de tension, calcul des forces...), il s'agit cette fois d'une librairie mathématique élaborée par Rogue Wave et baptisée Math.h++. L'AGL - Objecteering de Softeam - permet, lui, d'hériter, selon la méthode dite classe-relation, des différentes classes de Views ou de Math.h pour lesquelles le développeur définira les comportements après les avoir éventuellement enrichies. "Le réseau maillé, qui évolue à chaque nouvelle ligne, se prête plus à la notion de classes mises en relation entre elles par des pointeurs.
Les modélisations de type tabulaire avec des bases relationnelles (SGBDR) étaient difficiles à mettre en oeuvre. Les bases objets (SGBDO) ont donné des résultats plus homogènes dans la manipulation de classes C++" via des requêtes OQL (Object query language)". EDF a donc retenu après benchmark O2 le SGBD orientées-objet d'O2 Technology (d'ailleurs filiale comme Ilog de l'Inria) conforme à la norme ODMG issue des travaux de l'OMG sur les bases objets.
L'AGL va générer non seulement le code mais aussi toute les spécifications et les aides. "Entre le code qu'un développeur entre réellement et le code que génère l'AGL, le rapport est à 70 % du code résultant de l'AGL lui-même qui, grâce à la méthode classe-relation, fournit en plus méthodes et services". EDF obtient par exemple une interface graphique proche de son métier avec des fonctionnalités très intuitives (voir capture edf.GIF).
Certains objets, comme la saisie de silhoutette de pylône et leurs noeuds de fixation sur lesquels font venir s'accrocher les lignes avec des coordonnées très précises, ont été repris dans d'autres interfaces d'application. "Nous n'avons conçu aucun écran de base sans en avoir hérité de Views. Résultat, pour réaliser un écran complet validé, notamment avec l'éditeur Studio, cela nous demande 4 à 5 jours. Si nous avions à écrire nous-même la classe de base sans générateur, cela nous demanderait une bonne journée supplémentaire. Sur 150 écrans, cela commencerait à faire...".
@INTER:Des composants internes ou externes enrichis
@TEXTE:EDF a opté pour la version station d'Ilog Views, dont une licence de développement est cédée pour environ 75 KF (40 KF pour la version PC). Sur le même principe que le progiciel, la bibliothèque peut faire l'objet soit d'un transfert de licence d'un projet à un autre, soit être refecturée si elle est multipliée sur plusieurs projets. Mais là s'arrête la comparaison avec le progiciel. Une bibliothèque de composants est modifiable pour coller au métier de l'utilisateur, alors qu'un progiciel est tout au plus paramètrable...@SIGNATURE:CHARLES DE LAUBIER
@LEGENDE ICONO:Les pylones.... des classes C++.