L'ingénieur, 1 septembre 1984, Septembre - Octobre
(EoncDurB ré&actinnnel 1984 V ecWette de **£L**?Sr **g!&*0t 'gSSe*'0* «0 5"re !Î!!LîS^S^S».Sf.S°° SSSsSft^*-*.one \ o\«^ ta P' “ w*»” W»»»”5.p°u'e®S'«5 750 (*»e=\ 0Mèüe e,fmo„' est plus petit que a ;r>rt1 ’ i 3r*7;**r ' \ • J // f F ntic renient fabriquées au (Canada, depuis le stade du métal en fusion jusqu'au produit fini, et ce depuis 1908.les valves Jenkins n'ont jamais cessé de faire la preuve de leur capacité à satisfaire les demandes les plus rigoureuses du marché canadien.Jenkins Canada Inc., Lachine, Qué.JENKINS Le spécialiste en valves I ing*n»«ur Mptomtxw octobf* 1984 Considérons un exemple de transmission numérique ainsi que les possibilités de transmission de conversations humaines par fibre optique.Sachant que la voix humaine a une bande passante de 4 kHz, il faudra l'échantillonner 8000fois par seconde (à toutes les 125 /us).Si on quantifie l'amplitude du signal sur une échelle de 256 valeurs, ceci requerra une séquence de 8 impulsions par échantillon.Il faudra donc prévoir transmettre 64000 impulsions par seconde par conversation.Considérant toutefois des sources pouvant générer environ 275 millions d'impulsions par seconde, on voit l'incroyable quantité de conversations pouvant être transmises par une seule fibre optique: environ 4000 Sources de lumière On utilise actuellement deux types de sources émettrices : lesdiodes électroluminescentes ( DEL)et les lasers à semi-conducteur.Ce sont des sources de faiblesdimensionsdont le fonctionnement est relié à la structure des semi-conducteurs.Dans le cas d'une DEL, si on y applique un courant électrique elle émettra de la lumière dans toutes les directions, donc non cohérente, dont l'intensité lumineuse sera proportionnelle à l'intensité électrique.De telles diodes sont facilement fabricates et sont utilisées pour des débits d'information relativement faibles et pour de courtes distances de transmission Quant aux lasers à semi-conducteur, ils sont des diodes électroluminescentes améliorées.On a réussi à piéger dans une cavité résonnante la lumière émise.Les sources lasers ont sur les diodes électroluminescentes deux avantages : la direc-tionnalité et la cohérence.En effet la lumière émise à la fibre optique pour une même O N Bienque les sources lumineuses ne soient jamais parfai- tement cohérentes, la lumière d'une source laser est nettement plus monochromatique que celle d'une DEL Ceci minimise la dispersion dite spectrale ou chromatique de l'information lors de sa transmission.En effet, l'indice de réfraction de la fibre varie en fonction de la longueur d'onde, il en résulte donc des vitesses de propagation différentes pour chacune des longueurs d'onde de l'onde lumineuse émise.Ceci a pour conséquence un élargissement des impulsions reçues en bout de fibre.Pour éviter un chevauchement trop important entre deux impulsions successives, on se verra imposer une fréquence maximum d'émission.Il est clair que plus la fibre sera longue, plus grand devra être le délai entre deux impulsions successives.On verra, toutefois, que la dispersion chromatique n'est pas le seul élément limitatif à la fréquence des impulsions émises.Comparons, par exemple, une source laser ayant une lar- a) laser largeur spectrale AK - 2 nm longueur d'onde centrale K = 0,82 /um fréquence des impulsions v - 2,5x109 impulsions/seconde I L U-T = 0, 4ns-*J impulsions reçues 4 cm/km dispersion temporelle: 0,2 ns/km mpulsions reçues t b) DEL largeur spectrale AK = 30 nm longueur d'onde centrale K = 0,82 /nm fréquence des impulsions v = 1,67x108 impulsions/seconde j U— T = 6 ns— impulsions émises 60 cm/km dispersion temporelle : 3 ns/km impulsions reçues Figure 4 : dispersion chromatique d'un laser et d'une DEL 13 I ingénieur/septembre octobre 1984 a) fibre monomode coeur n, = 1,46 gaine n2 = 1,454 b) fibre multimode à saut d'indice 60 fjLvn cœur n, = 1,4/ a gaine n2 = 1,45 d2 = 80 jum geur spectrale de 2 nm centrée autour de la longueur d'onde K = 0,82 /urn et d'une DEL de 30 nm de largeur spectrale.Comme le montre la figure 4, après un trajet de 1 km dans la fibre optique, l'impulsion du laser montrera unedispersion temporelle de 2 x 10"10 seconde tandis que pour la DEL, ce délai est quinze fois plus important.c) fibre multimode à gradient d'indice 1,47 (1 -ary) d, = 60 cœur n.d2 = 80 /um gaine n2 Figure 5 3 types de fibre optique Fibre optique Nous venons de voir qu'il existe une dispersion temporelle de l'information véhiculée dans une fibre optique due à des sources non monochromatiques.Il existe un autre type de dispersion, la dispersion modale, qui nous impose une limite encore plus restrictive quant à la fréquence d'émission des impulsions.D'après la théorie ondulatoire en effet, une impulsion lumineuse se propage selon différents modes.Les modes d'ordre faible subissent beaucoup moinsde réflexions totales internes sur l'interface cœur-gaine et ont donc une trajectoire beaucoup moins en zig-zag, comparativement aux modes d'ordre plus élevé.On voit qu'il en résultera à l'arrivée un étalement de l'information.Cette 14 I ingénieur / septembre octobre 1984 a) fibre multimode à saut d'indice [d = 2 x 107 impulsions/seconde) T = 50 ns impulsions émises 500cm/km dispersion temporelle: 25 ns/km T impulsions reçues b) fibre multimode à gradient d'indice (d = 5 x 108 impulsionsseconde) T = 2 ns implusions émises 20cm/km dispersion temporelle: 1 ns/km impulsions reçues Figure 6 dispersion modale dans les fibres multimodes dispersion modale est naturellement fonction du type de fibre utilisée.On distingue trois types de fibre optique : monomode, multimode à saut d'indice et multi-mode à gradient d'indice.À chaque type de fibre correspond un type de variation de l'indice de réfraction du cœur vers la gaine.Or à chacun des types de fibre correspondent des modes spécifiques de propagation, comme l'indique la figure 5.Une fibre monomode ne permet la propagation de la lumière que dans un seul mode.Cette fibre se caractérise par le diamètre du cœur qui ne doit être que de quelques longueurs d'onde (quelques microns) et par les indices de a)fibre monomode ne variant que de quelques pour cent.Sous ces conditions, la lumière ne pourra se propager que selon une trajectoire parallèle à l'axe de la fibre.Cette fibre est idéale car seulement la dispersion chromatique causée par la source entraîne un étalement des impulsions.Elle a toutefois un cœur si étroit qu'elle pose certains problèmes de connections entre d'autres fibres ou entre les sources et récepteurs.Elle exige une source devant émettre un faisceau de diamètre égal ou plus petit que le cœur de la fibre pour un maximum d'efficacité, ce qui exclut les diodes électroluminescentes.Une fibre multimode a un cœur relativement large, la lumière pourra s'y propager selon plusieurs modes.La dispersion modale pourra donc y être importante.Toutefois il y a l'avantage que non seulement une source laser mais également une DELpourront être utilisées.Les problèmes de connections entre fibres sont moins importants.La fibre multimode à saut d'indice est celle où le cœur et la gaine ont des indices de réfraction constants mais différents l'un de l'autre.Il y a donc un sautd'indice à l'interface cœur-gaine.Malheureusement les performances de cette fibre sont limitées par la dispersion modale.Dans la fibre multimode à gradient d'indice, on a réussi à diminuer la dispersion modale en faisant varier graduellement l'indice de réfraction du cœur vers la gaine.I! n'y a plus de saut d'indice dans ce cas.De cette façon les modes d'ordre moins élevé se propagent plus lentement.En bout de fibre, les impulsions auront subi un étalement beaucoup moins important comparativement à la fibre à saut d'indice.Ceci est schématisé à la figure 6 Après avoir envisagé le problème de la dispersion temporelle, se pose celui de l'atténuation du signal lors de sa propagation dans la fibre.Cette atténuation sous forme de pertes par absorption et par diffusion est due aux impuretés dans la fibre et à la nature même du matériau formant la fibre.Ainsi les premières fibres optiques étaient telles que le signal était complètement atténué après quelques mètres.Ce n'est qu'avec la très haute pureté du verre utilisé que l'on a réussi à fabriquer des fibres à très faible atténuation.On a également noté que les pertes étaient fonction de la 15 mg«nieur septembre octobre 1984 i longueur d'onde de la lumière utilisée II existe en effet, pour toute fibre, des fenêtres de transmission, régions de plus faible atténuation.Il est donc possible de minimiser l'atténuation en développant des procédés de fabrication du verre plus perfectionnés ainsi que des sources émettrices et que des récepteurs capables de travailler à une longueur d'onde précise.Ceci faisant on pourra augmenter significativement la distance de transmission sans atténuation, d'où des économies appréciables.information doit être transmise d'un point à un autre On n'a qu'à penser que d'ici quelques années, grâce à la fibre optique, nous jouirons d'une gamme de services (transactions, courrier, banques de données)de plus en plus variés qui nous seront accessibles sans même sortir de chez-soi.Bibliographie Allen.W B .Fibre optics theory and practice.Plenum Press London and New York.1973 Boyle WS.Light wave communications.Scientific American.August 1977 p 40 48 Clair J J .Télécommunications optiques.Masson.Paris.1977 Cook.J S .Communication by optical fiber.Scientific American, November 1973 p 28-35 Davis.R et autres.Optical fibre commum cations.John Wiley and Sons.1980 Fleury.Jean Marc.La lumière qui parle.Québec Science février 1981 p 16 23 Harrington.James A .A new frontier for optical fibres.Optical Spectra, February 1981 p 39-40 Kapany.S N .Fiber optics principles and applications.Academic Press.New York London, 1 967 Nérou.J Pierre.Les fibres optiques.Lesédt tions Le Griffon d'argile 1983 Ostrowsky.Daniel.Les télécommunications optiques.La Recherche février 1982 p 170-179 Détecteurs ou récepteurs À l'autre extrémité des sources, on retrouve les détecteurs.Un peu de la même façon que l'on peut convertir un signal électrique en signal lumineux, les récepteurs peuventfaire l'opération inverse: produire un courant (signal électrique) proportionnel à la puissance lumineuse incidente.Les récepteurs présentement utilisés sont des photodiodes à semi-conducteur.Elles répondent aux caractéristiques requérant une haute sensibilité à la lumière incidente, un temps de réponse suffisamment rapide et un bruit de fond interne minimal.Cette dernière propriété des détecteurs est très importante car le bruit de fond du détecteur vient se superposer au signal qui arrive atténué.Ainsi plus ce bruit sera minime, plus il sera possible de détecter, avec le moinsd'erreurs, la série d'impulsions représentant le signal original.Conclusion Il n'a été présenté ici qu'un survol des principes et des éléments composant un système de communication par fibre optique.On est toutefois en mesure d'apprécier les conséquences importantes qui résulteront de l'implantation d'un tel système de communication.On retrouvera en effet la fibre optique dans à peu près tous les domaines (téléphone, télévision, informatiquejoù une PRUD’HOMME ET FRÈRES.» M.Claude Ferland M.Camille Deschamps M.Gustave Papillon, président de la compagnie Ciment Québec inc.est heureux d'annoncer les nominations de M.Claude Ferland au poste de président du conseil d'administration et de M.Camille Deschamps au poste de président-directeur général de Prud'homme et frères ltée.Prud'homme et frères ltée est une division de la compagnie Ciment Québec inc., entreprise à propriété exclusivement québécoise.Ciment îf5! Québec.16 I ingênmuf octobre 1984 Schémacode: un outil d'aide à la programmation Michel Bernier Étudiant en Génie industriel École polytechnique Montréal Les outils d'aide à la programmation mènent à des logiciels mieux structurés.Schémacode utilise le pseudocode schématique, une approche par raffinements successifs, et autodo-cumente le programme.Son utilité sera pleinement démontrée lorsque des standards de qualité pour les logiciels seront établis.Introduction Le logiciel représente une très grande partie du coût total d'un système informatique.Le développement du logiciel est une activité importante pour l'ingénieur.Il se doit de connaître les outils et les techniques qui améliorent la qualité du logiciel ainsi que l'efficacité de sa production.Cet article décrit plus particulièrement un outil d'aide à la conception et à la réalisation de programmes.Cet outil se nomme Schémacode.Avant de décrire l'outil et la méthodologie dont il s'inspire, nous verrons d'où vient la nécessité d'un tel outil.Nous déterminerons aussi où s'insère Schéma-code dans la gamme de plus en plus large des outils d'aide à la programmation.Nous traite-ronsde l'origine des outils et de la qualité du logiciel produit avec ceux-ci.Enfin, nous tenterons de prévoir l'évolution future des techniques de développement du logiciel.La vie d'un logiciel peut être divisée en plusieurs étapes ( 1 ).Le logiciel naît lorsque quelqu'un identifie un besoin informatique qu'il exprime par une série de spécifications.L'élaboration de ces spécifications représente une activité non négligeable.Plusieurs outils sont disponibles pour aider le programmeur à énoncer clairement ce que le programme devra accomplir.Vient ensuite la conception du logiciel.La conception a pour but d'assurer la satisfaction des spécifications opérationnelles implicites et explicites exprimées à la première étape.Éventuellement, une série documentée d énoncés exécutables d'un langage informatique quelconque forme la solution.La réalisation désigne l'élaboration d'un prototype fonctionnel de la solution résultant de l'étape conception.C'est l'étape du codage et du dépistage des erreurs.Le prototype doit alors être testé et validé.Il y a toujours possibilité de rétroaction, même jusqu'à la première étape, si le logiciel n'atteint pas les objectifs fixés.Enfin, le logiciel est mis en opération.Son entretien et son évolution représentent cependant l'étape la plus coûteuse: 67% des coûts d'un logiciel y sont attribués.Des outils informatiques existent pour aider soit l'analyste, soit le programmeur, ou encore le gestionnaire du projet lors de chacune des étapes de la vie du logiciel.Mais des systèmes complets, unifiés, sont encore à l'étape de projets (2).Nous nous concentrons ici sur les outils intervenant aux étapes de la conception et de la réalisation.La conception se compose de deux étapes : la définition des algorithmes et l'élaboration de la structure de contrôle qui gouverne l'action des divers éléments du programme De sérieux problèmes surviennent si cette structure est mal définie, trop complexe ou difficile à comprendre.Le manque de lisibilité du programme est un premier problème aux conséquences économiques importantes: l'entretien représente généralement des coûts élevés et non prévus.Il y a gaspillage lorsqu'un programme doit être réécrit parce qu'on n'en comprend pas la structure.Trop de programmeurs perdent du temps à «réinventer la roue».Il y a aussi le problème de la mobilité d'un logiciel.Ce qui est écrit pour une machine ne fonctionnera pas nécessairement sur une autre.Lorsque le programme est incompréhensible, les frais d'adaptation deviennent prohibitifs.La mauvaise lisibilité est donc non seulement un problème pour le programmeur, mais pour tous ceux qui devront éventuellement comprendre le programme pour le modifier, l'améliorer ou encore y corriger une erreur.L'essence du problème est le manque d'uniformité dans lesstylesde programmation.La complexité d'un programme est reliée à la personnalité du programmeur et à son degré de motivation envers l'objet du programme.Des personnes différentes écriront des versions différentes au niveau de la structure et de la complexité.La coordination des efforts d'une équipe de programmation est difficile pour cette même raison.La programmation structurée est un premier pas vers une meilleure lisibilité.Il s'agit d'un ensemble de règles qui empêchent jusqu'à un certain point qu'un programme devienne «spaghetti»*.* Une bonne documentation aide aussi, mais seulement si elle est fidèle et à jour.En fait, plusieurs méthodologies existent pour améliorer la lisibilité.L'automatisation de ces méthodologies est l'objectif de nombreux outils de développement.Les outils d'aide à la programmation tentent aussi de réduire le gaspillage de ressources intellectuelles associé à certaines étapes du développement du logiciel: le codage est un procédé pénible, de même que le dépistage des erreurs.Un programme spaghetti est un programme dont la structure empê che la lecture facile de haut en bas.a cause d'un grand nombre de renvois (GOTO) à d'autres énoncés 17 21 Évitez l’érosion de vos budgets Le contrôle de l’érosion • Canaux de navigation • Piliers de structures maritimes • Berges de lacs et de cours d’eau • Entreposage de résidus miniers Pour tous ces types de travaux, Texel est un filtre des plus efficaces.Placé derrière les enrochements, il empêche la migration de fines particules, prévenant ainsi l’érosion, il permet également de laisser passer l’eau, afin de ne pas créer de pressions hydrostatiques.Fabriqué selon un procédé d’aiguilletage utilisant des fibres courtes, le géotextile Texei peut résister à de nombreux efforts lors de l’installation, ce qui lui confère des particularités très intéressantes: • Il se moule au terrain existant • Il ne se colmate pas avec le • Il résiste au poinçonnement temps • Il évacue l’eau dans son plan De plus, le géotextile fait de polyester ne flotte pas à cause de sa masse volumique supérieure à celle de l’eau.C’est un atout important dans le cas des travaux sous l’eau.Texel remplace économiquement les filtres naturels souvent coûteux et plus difficiles à mettre en place.Une bonne façon de stabiliser vos pentes.et d’éviter l’érosion de vos budgets.485, des Érables, St-EIzéar Beauce-Nord, Québec, Canada GOS 2J0 Tél.: (418) 387-5910 1 -800-463-8929 I irvg#nt«uf octotor* 1984 i L'outil de conception schémacode Schémacode fut développé à l'École Polytechnique de Montréal par le professeur Pierre N Robillard et son équipe.En plus de la recherche faite à Polytechnique, Schémacode est utilisé à l'Université Laval, aux départements de physique et d'informatique-mathématique de l'UQAM et à l'INRS télécommunication.Schéma-code est dit en phase d'essai béta, c'est-à-dire qu'il est mis à l'essai dans un environnement externe avec des usagers autres que les concepteurs.Schémacode est un outil interactif qui, non seulement aide l'usager à écrire un programme mieux structuré et plus lisible, mais lui fournit aussi une documentation à jour de ce programme (3).L'outil joue essentiellement sur deux plans.Il permet à l'usager de passer progressivement des spécifications de son problème à des énoncés d'un langage de programmation, tel le Fortran ou le Pascal.Il utilise, pour ce fa ire, le pseudocode, c-à-d.un niveau de langue intermédiaire entre le français et un langage ordino-lingue.Par la technique du raffinement successif et par l'approche descendante, Schéma-code aide l'usager à préciser les fonctions de son programme.L'usager commence par décrire l'ensemble des fonctions de son programme par quelques commentaires généraux tels: lecture des données, traitement, impression des résultats, etc.C'est un premier niveau de raffinement, dans lequel il fait abstraction du détail de la réalisation de chaque fonction.L'important, c'est l'information transmise par ces commentaires généraux sur la structure du programme.Pour Schémacode, chacun des commentaires généraux donne naissance à un nouveau raffinement.Le contenu de celui-ci est soit du code informatique, soitd'autres commentaires généraux, qui engendreront de nouveaux raffinements.Le programmeur passe d'une expression générale pour aller 1 2 3 4 5 - exemple d'une structure séquentielle - commentaire descriptif affectation déclaration action 4 (004) 1 2 3 - exemple de structures conditonnelles - condition simple 1 1 condition 1 1 | action 1 4 5 - conditions mutuellement exclusives 1 condition 2 2 1 I 1 1 action 2 | condition 3 1 I 1 action 3 3 1 1 | action 4 (008) 1 - exemple d'une structure répétitive 1 _ commentaire descriptif 2 w sortie 1 •x 1 (005) 3 affectation 1 4 action 2 (006) 5 sortie 2 ’ (007) 6 affectation 2 Figure 1 Représentation pseudocode-schématique des trois structures élémentaires.19 I ing*nt«ur Mtpivmtwv oclotxr 1984 vers un niveau de détail plus spécifique La raison d'être de chaque raffinement est toujours décrite par le commentaire général qui l'a engendré.Il est démontré que tout programme est construit à l'aide de trois types de structure (4) Une structure séquentielle représente des actions ou des affectations qui se suivent une à la suite de l'autre.Des actions qui seront accomplies seulement si une condition booléenne** est réalisée constituent une action conditionnelle.Enfin, un grouped'actionsqui sont exécutées tant et aussi longtemps qu'une condition booléenne demeure vraie représente une action répétitive.Le pseudocode schématique est un langage qui permet d'exprimer les trois structures (5).La figure 1 illustre telle que le ferait Sché-macode, les trois structures possibles d'un programme.Tout programme est composé de structures séquentielles, conditionnelles ou répétitives Sché-macode utilise le pseudocode schématique pour exprimer la structure d'un programme.Sché-macode permet de bâtir et de visualiser schématiquement la structure directement à l'écran du terminal.L'avantage est que la structure risque moins d'être déformée par les particularités du langage informatique utilisé.Lorsque tous les raffinements sont spécifiés par le programmeur, l'outil les intègre avec énoncés de contrôle appropriés, générés à partir de la représentation schématique, pour produire un programme exécutable.La forme schématique demeure cependant pour documenter le logiciel.Schémacode est donc un éditeur qui permet au programmeur de travailler par raffinements successifs et d'exprimer sa conception à l'aide de pseudocode schématique.Il fournit une documentation automatique parce que chaque raffinement possède au moins son commentaire général, et intègre automatiquement les énoncés qui composent les raffine- Une condition booléenne- est un énoncé logique qui ne peut prendre que deux états vrai ou faux ments avec les énoncés de contrôle générés à partir de la structure schématique.À noter que schémacode est un éditeur multilingue: le programmeur choisit un langage-cible parmi le Fortran 66 ou 77, le Pascal, l'assembleur PDP 11/60, dbase II ou Basic.Les concepteurs comptent développer, dans un avenir prochain, une version pour micro-ordinateur ainsi que la possibilité d'utiliser le COBOL comme langage cible.Classification des outils Comment situer Schéma-code parmi les autres outils?Pour y arriver, établissons une taxonomie des outils d'aide à la programmation.La pratiquecou-rante regroupe les outils en les identifiantà l'une ou l'autredes phases du développement d'un logiciel, soit l'expression des spécifications, la conception, la réalisation, les tests ou l'entretien.Mais cette classification n'est pas sans ambiguité; les phases se chevauchent souvent et, pire encore, cette classification ne permet pas de cerner clairement la fonction de l'outil.«Outil de conception» peut vouloir dire bien des choses et c'est pourquoi identifier Schémacode par cette étiquette seulement ne suffit pas pour le situer clairement parmi les autres outils.Reifer (6) propose une taxonomie à trois dimensions.À l'intérieur d'une catégorie, «outil de développement» par exemple, on caractérise l'outil en identifiant ses intrants, ses fonctions et des extrants (tableau (1 ).Les intrants sont l'interface entre l'usager et l'outil.Les intrants outils sont ce sur quoi l'outil opère.On les classe selon leur niveau linguistique.Les intrants de contrôle spécifient les opérations que l'outil devra effectuer Ceux-ci sont regroupés en commandes et paramètres.La seconde dimension est la fonction de l'outil.C'est le cœur de la classification proposée.Les fonctions possibles sont regroupées sous trois titres: transformation, analyse statique et analyse dynamique.De nombreuses sous-classifdations sont possibles.On constate que la ou les fonctions d'un outil peuvent alors être identifiées beaucoup plus clairement.La troisième dimension de la taxonomie est l'extrant de l'outil.L'extrant forme le lien entre l'outil et l'usager.Certains extrants sont lisibles par l'usager et d'autres sont destinés à un autre outil ou au traitement informatique.On parle alors d'extrant machine.Cette classification permet donc de mieux situer les objectifs d'un outil.Elle permet aussi d évaluer la polyvalence de l'outil en question.En effet, certains outils accomplissent plusieurs fonctions et comportent possiblement plus d'un type d'intrant ou d'extrant.Selon cette taxonomie, Schémacode est classé de la façon suivante: son intrant est un langage de très haut niveau (pseudocode-schématique).Il a pour fonctions le traitement, l'édition, la mise en format et la restructuration.Enfin, les extrants sont sous deux formes: une forme schématique, qui permet à l'usager de lire son programme sous la forme pseudocode-schématique, et une forme code source, qui est un programme exécutable par l'ordinateur.En parcourant un catalogue d'outils d'aide à la programmation tel le «Reifer Consultants Software Tools Directory», qui utilise la taxonomie décrite précédemment, on arrive à identifier certains outils qui visent essentiellement les mêmes objectifs que Schéma-code, soit la facilitation du développement, de la documentation et du codage structuré des programmes.Une façon de regrouper les outils de conception est la suivante.Certains outils aident à exprimer les spécifications.Appelons-les «outils pré-conception».Schémacode agit à ce niveau en permettant au programmeur de faire abstraction des complexités du programme en procédant par raffinements 20 I ingénieur septembre octobre 1984 Intrant outil INTRANT Intrant contrôle donnée commande code source paramètre texte langage de très haut niveau Transformation FONCTION Analyse statique Analyse édition vérification dynamique comptage format calcul flux des données instrument comparaison exécution restructuration complexité ressource traduction intégrité logique consistance chronomètre coût mise au point Usager index erreur expression interface gestion mémoire optimisation repérage chemin critique statistique structure trace type unité EXTRANT Machine résultat donnée diagnostique code intermédiaire graphique code objet liste code source rapport message table texte N B Des descriptions complètes des sous catégories sont données dans le «Reifer consultants tool directory» (6) Tableau 1 : Classification de Reifer successifs.La charpente structurale du programme est définie dès le début et la programmeur ne procède pas aveuglément.Il y a les outil de conception proprement dits.Ils automatisent une méthodologie de programmation en guidant le programmeur et en l'empêchant d'y déroger.Certains outils sont plutôt d'application post-conception.Il s'agit de pro-fileurs qui évaluent la complexité et la logique de la conception.Ils facilitent la décomposition hiérarchique des programmes.Poursuivant ce schème de classification, il y a ensuite les outils de codage, qui produisent du code source à partir de l'étape conception.Enfin, on retrouve toute une pléiade d'outils post-codage, qui ont essentiellement comme fonction la documentation de programmes déjà codés.Il peut s'agir de documentation graphique sous forme d'organigramme, de représentation hiérarchique, etc.Ces outils ne sont pas utilisés lors du développement du programme, puisque celui-ci est déjà complété, mais ils peuvent être utiles pour son entretien.Origine des outils D'où proviennent les outils?On réussit à identifier deux sources principales: les très grandes entreprises et les universités (7).Dans les grandes entreprises, telles Hughes Aircraft ou la NASA, on développe des outils d'aide à la programmation dans le cadre de projets spécifiques importants.Tel est le cas de SREM qui fut élaboré pour aider la conception du logiciel des missiles balistiques de la défense américaine.Mais ces outils ne sont généralement qu'une étape du projet principal.Une fois le projet complété, l'outil, qui a rendu service à l'entreprise, devient disponible au public.Mais l'outil n'a pas été conçu en fonction d'une utilisation dans un environnement différent.L'outil est presque toujours très dépendant de la configuration exacte du système informatique dont il provient.Le milieu universitaire donne aussi naissance à des outils.Bien qu'ils soient généralement plus universels, donc moins limités à une configuration de système ou à un projet spécifique, leur migration vers le milieu professionnel de la programmation est quant même difficile.Ces outils, comme Schémacode, suggèrent ou imposent généralement une méthodologie de travail.Les programmeurs, réticents à changer leurs habitudes, trouvent l'adaption à l'usage de ces outils difficile.De plus, il est difficile pour le gestionnaire d'une équipe de programmation d'évaluer la qualité d'un outil et de juger de la pertinence de son utilisation.Les outils promettent d'augmenter la fiabilité du logiciel et d'en réduire les frais de développement et d'entretien, mais comment vérifier à l'avance ces allégations?Qualité du logiciel Il faut revenir au concept d'uniformisation de la programmation pour comprendre comment les concepteurs d'outil tentent de répondre à cette question.L'évaluation de l'envergure d'un programme et de l'effort nécessaire pour sa réa- 21 I ingénieur septembre octobre 1984 PORTLRRD + SILICE + sans ROUILLE POUR LR UIE Tuyau à pression, tuyau d’égout, tuyau de renvoi.Fabriqué au Québec depuis 30 ans.Solide, léger, pose facile, entretien économique.Demandez nos brochures.lisation est un des problèmes majeurs que doivent résoudre les responsables du développement de logiciel (8).De plus en plus, on pense en terme de complexité plutôt qu'en terme de taille (nombre de lignes de programme).De la recherche se fait actuellement pour définir analytiquement ce qu'est la complexité d'un logiciel (9).La complexité d'un énoncé serait reliée à la difficulté de retirer cet énoncé du programme, donc aux relations entre cet énoncé et les autres.Lorsqu'on modifie localement un programme en rajoutant quelques énoncés correcteurs, on risque d'augmenter à cet endroit la complexité et d'affaiblir la structure du programme.Les chercheurs posent l'hypothèse que l'emploi d'une méthodologie, ou d'un outil automatisant cette méthodologie, produit des programmes dont la complexité est plus uniforme.Il devient clair que de définir et de pouvoir mesurer la complexité d'un logiciel prend de l'importance.La lisibilité et la complexité d'un logiciel ne sont en fait que des aspects d'un problème plus vaste, soit celui d'évaluer la qualité d'un logiciel.Peu d'ententes formelles existent à ce sujet (10).Lorsque les usagers et concepteurs pourront définir avec plus de rigueur ce qu'est la qualité d'un programme, il sera beaucoup plus facile d'évaluer la valeur des outils d'aide à la programmation.Cela explique l'intérêt que les concepteurs d'ou-tils ont à définir des standards de qualité.À la question initiale, soit celle de déterminer comment un gestionnaire peut juger de la valeur d'un outil, la réponse est qu'il devra attendre que des mesures de la qualité d'un logiciel soient établies.Il pourra à ce moment évaluer l'amélioration apportée par l'utilisation de l'outil.Tuyau Atlas 5600 HOCHELAGA MONTRÉAL, QUÉBEC H1N 1W1 (514) 259-2531 TÉLEX: 05-828769 Une Division de ATLAS TURNER INC Limites des outils actuels La jeune science du développement du logiciel, baptisée «software engineering», évolue rapidement.En moins de trente 22 1 i ing*m«ur septembre octobre 1984 ans, l'état de l'art est passé de la programmation machine au Fortran, aux langages structurés et maintenant à l'utilisation d'outils d'aide à la programmation Les changements ne se font pas sans difficultés.Les méthodologies proposées aujourd'hui sont, elles aussi, appelées à changer.Quelles sont donc les limites de la programmation assistée par les outils actuels?Certains commencent à penser que c'est la structuration même qui pourrait être la grande faiblesse ( 1 ).Une structure formelle, établie en fonction d'objectifs précis, pourrait manquer de souplesse face à des changements ou à des redéfinitions des spécifications initiales.Il arrive que les gens qui demandent un logiciel pour une nouvelle application se rendent compte en le recevant que ce n'est pas vraiment ce qu'ils voulaient, bien que ce soit exactement ce qu'ils aient demandé.La conception du programme, dont la structure entière repose sur ces spécifications initiales, est alors difficile à changer.Le problème est accentué lorsque le logiciel est conçu en fonction d'un environnement informatique donné, alors que l'équipement dont il consiste est appelé à changer, parfois même avant l'aboutissement de la conception du logiciel.Trop souvent il faut tout recommencer à neuf pour se buter de nouveau aux mêmes difficultés.On entrevoit une nouvelle génération d'outils d'aide à la programmation pour pallier à ces problèmes.Ces outils permettraient une structure plus flexible, plus adaptable à des spécifications changeantes.Ces outils proviendraient du milieu de l'intelligence artificielle, très actif présentement en recherche et développement des systèmes «experts».Il s'agirait d'outils simulant l'approche d'un «expert» en conception de programme.Ces outils aideraient le programmeur à mieux comprendre sa propre approche au développement de logiciel.Conclusion Le développement d'outils d'aide à la programmation repré- TANDY 2000 Tandy 2000.128 K avec 2 unités de disques 375022 Tandy 2000, 256 K avec disque dur intégré 579922.Le choix logique L'écran exclu Le Tandy 2000 — l’appareil incroyable avec lequel Radio Shack voudrait que vous fassiez connaissance.Pour une période limitée, vous épargnez jusqu’à $600.Tandy 2000 offre plus que tout autre ordinateur MS-DOS.Plus rapide, avec plus de mémoire sur disque et des graphiques plus évolués.D’extension si facile, même le PC d’IBM ne peut se comparer avec le “’2000”.Avec le Tandy 2000, vous pouvez choisir parmi les logiciels MS-DOS les plus complexes et les plus demandés.Traitement de texte, planification, classement de texte etc.Il existe de puissants et pratiques logiciels conçus pour vous.De format ergonomique, le Tandy 2000 est beau à voir et facile à utiliser.Il bénéficie aussi du soutien du vaste réseau des services Radio Shack.Les prix expirent le 29 sept., 1984 PRaSSl | NOM fhüük I COMPAGNIE TÉLÉPHONE j ADRESSE Division, Électroniques Tandy Limitée CODE POSTAL NOS ORDINATEURS C EST DU SÉRIEUX 23 ing«n»«ur septembre octobre 1984 Flygt Canada C2 Sial 24 Forces Armées Canadiennes 6 Steadtler 31 Fortier, Franklin, Le gault Inc 9 Géophysique GPR International Inc 32 Bouthilette, Parizeau & Associés 9 Yvon Dagenais & Associés 32 Jenkius Canada Inc 12 Dufresne Farley et Associés 32 Texel Inc 18 Lupien, Rosenberg, Journeaux Tuyau Atlas 22 & Associés Inc 32 Radio Shack 23 Solar turbines C3 La Rapière 24 Infranor C4 Lavalin 24 & ba Rapière RESTAURANT FRANÇAIS spécialités pyrénéennes le confit d’oie, le cassoulet, le jambon de Bayonne.Table d’hôte lundi au vendredi : midi à 15h.Samedi 17h30 à 23h30 Fermé le dimanche Réservations : 844-8920 1490 rue Stanley, (métro Peel, sortie Stanley) ' ^ ~ ~ Siege social 1130, rue Sherbrooke ouest, Montréal, Québec H3A 2R5 INGÉNIERIE, APPROVISIONNEMENT, CONSTRUCTION ÉTUDES, GÉRANCE DE PROJETS laval in ® (514) 683-4215 Etudes Géophysiques Hydrogeologie Vibration & Seismisite 2225 Chemin Saint-François, Dorval Québec, Canada H9P 1K3 Compagnie Internationale de Géophysique Inc.• Télex GTS HTD MTL • 05-821643 : Géologie & Géochimie : Exploration Minière Environnement sente de nombreuses opportunités pour l'ingénieur.Dans les entreprises consommatrices de logiciel informatique, les outils peuvent sensiblement améliorer la qualité des pro-grammesen rendant la programmation plus uniforme et donc plus facile à entretenir.Les producteurs de logiciel peuvent espérer réduire leurs frais de développement et d'entretien.Avec la recherche qui se fait au niveau de l'évaluation de la complexité et de la qualité du logiciel, ils pourront plus aisément juger de la valeur des outils utilisés.Pour les ingénieurs de toutes lesdisciplines, qui ont de plus en plus besoin de l'informatique dans leurs fonctions, les outils d'aide à la programmation devraient leur permettre de consacrer plus de temps à l'ingénierie et moins de temps au développement du logiciel.À cet égard, on rapporte à l'École Polytechnique de Montréal que les logiciels conçus à l'aide de Schémacode sont plus fonctionnels et adaptables.L'époque où les programmes sont conçus, puis remisés sur une étagère tire peut-être à sa fin.Références 1 Miller E .Tutorial automated tools for software engineering-, IEEE catalog EHO 150 3 2 Schindler M , Today s software tools point to tomorrows tool systems-, Electromc design.81-07-23 3 Plamondon R .Robillard P N , «Harness a computer to write better software faster .Electronic design 81 07-23 4 Bohm et Jacopini.Flow diagrams, Turing machines and languages with only two formulation rules .Comm ACM 1966, 9 5 Robillard PN , Thalmann D .Com plex problem solving using schemat ic pseudocode (SPC) .IRO.Umver site de Montréal, pub #373, Nov 1980 6 Reifer.Reifer consultants software tools directory 7 Beck.- Survey of software develop ment practice, tools, methods and results .IEEE trans soft eng , Sept 83 8 Warburton R Managing and pre dieting costs of software .IEEE trans soft eng .Sept 83 9 Albrecht A, Program size and deve lopment effort prediction , IEEE trans soft eng .Nov 1983 10 RamamoorthyC .Testing large soft ware with automated software evaluation systems IEEE trans soft eng .Mars 75 1 1 Sheil B , Power tools for program mers , Datamation.Feb 83 24 I •ng*n.«»iif M*p
Ce document ne peut être affiché par le visualiseur. Vous devez le télécharger pour le voir.
Document disponible pour consultation sur les postes informatiques sécurisés dans les édifices de BAnQ. À la Grande Bibliothèque, présentez-vous dans l'espace de la Bibliothèque nationale, au niveau 1.