Souvenirs du début du Département d’informatique à l’Université de Montréal

Gregor v. Bochmann
(August 2006)

Pourquoi  suis-je venu à l’Université de Montréal

Pendant mes études universitaires en physique, je ne trouvais pas de lieu stable jusqu’à ce que je me retrouve à Montréal. Je changeais de lieux d’études : Kiel (1961-2), Tübingen (1962-3), une année d’études en musique à Lübeck, Grenoble (1964-5), une année perdue par une hépatite qui se prolongeait, Munich (1966-67), projet de Diplôme (maîtrise) dans une équipe internationale au CERN à Genève (1968).  Puis je suis venu à Montréal pour revoir une amie que j’avais rencontrée à Genève. Je cherchais aussi un endroit où faire mon doctorat en physique. Le professeur Margolis de l’Université McGill m’offrait du financement pour un projet sur la modélisation de réactions de particules élémentaires à haute énergie avec des noyaux. Ayant eu l’expérience avec des particules élémentaires lors de mon projet de maîtrise, je trouvais ce sujet intéressant et  j’ai commencé  mon doctorat à McGill en janvier 1969.

Deux ans et demi plus tard, mon doctorat était terminé et Montréal était la ville où je prenais racine.  J’étais immigrant depuis ***, et j’avais travaillé comme professeur dans le nouveau Département d’informatique au CEGEP Maisonneuve en 1970-71 pour augmenter mon salaire. La ville de Montréal me plaisait, alors j’avais l’intention d’y rester.

Mais quelle carrière entreprendre? – Je m’étais embarqué dans la physique des particules élémentaires parce qu’il s’agissait d’explorer des lois de la nature qui sont à la base de la matière de l’univers. Il est excitant de travailler à découvrir des nouvelles connaissances sur la nature. Par contre, il y avait plusieurs facteurs négatifs pour une carrière dans ce domaine : (1) Le domaine était très compétitif. Pour réussir, il  fallait travailler comme un fou; j’avais vu cela au CERN à Genève. (2) Très rares sont les applications pratiques qui profitent des connaissances sur les particules élémentaires. J’aurais aimé travailler sur un domaine qui peut être utile pour l’humanité. 

Dans mon projet de maîtrise, j’avais utilisé la programmation en langage machine et en Fortran pour écrire des programmes utiles pour notre expérience en physique. Dans mon travail pour le doctorat, j’avais construit des programmes de simulation en Fortran et PL/1 et utilisé un langage Formac ?? pour évaluer des équations algébriques dont j’avais besoin pour mon travail en physique théorique. L’informatique était encore jeune, mais on voyait déjà beaucoup d’applications pratiques actuelles et futures.

J’ai alors décidé de chercher une carrière en informatique. C’était donc un au revoir aux découvertes des lois de la nature, et une attention aux méthodes de construction de programmes d’ordinateur qui pourraient être utiles pour différentes applications pratiques. Au lieu de “science”, c’était du “génie”. Je crois que c’est en 1968 que le terme “software engineering”  a été inventé.

Avec mon expérience en programmation et en enseignement de l’informatique au Collège Maisonneuve, je  fis une application au Conseil de recherches du Canada (le CRSNG n’existait pas encore) pour une bourse de recherche post-doctorale en informatique. Puisque je voulais rester à Montréal, je prévoyais  travailler à l’Université de Montréal, la seule université à Montréal qui avait un département d’informatique à cette époque.

J’ai eu la bourse, malgré le changement d’orientation que cela impliquait. Il faut noter cependant qu’à cette époque, l’informatique était encore très jeune, et la plupart des personnes travaillant dans ce domaine n’avait pas de formation formelle en informatique; ils étaient plutôt venus de la mathématique ou de la physique. Les premières années à l’Université de Montréal impliquaient donc beaucoup de nouveaux apprentissages pour moi. J’aimerais remercier à cette occasion les professeurs Armstrong et Lecarme pour avoir accepté que je collabore avec eux dans des projets de recherche. 

Mes premiers projets de recherche à l’Université de Montréal

J’arrive en septembre 1971 au Département d’informatique avec une bourse de recherche post-doctorale et un doctorat en physique théorique. J’ai donc beaucoup de choses à apprendre. Dans les discussions du club de café (voir section séparée), Bill Amstrong parle de l’intelligence artificielle et de son invention : des  fonctions booléennes adaptatives qui sont organisées en forme d’arbre et peuvent apprendre des fonctions complexes. Bill travaillait aussi sur des applications pour la reconnaissance de caractères écrits à la main. Aujourd’hui on appellerait cela un réseau neuronal. 

J’ai travaillé avec Bill pendant environ un an, mais ce sujet me frustrait par le manque de compréhension sur les limites du pouvoir d’adaptation et par le manque de fiabilité des solutions apportées aux applications pratiques. Le domaine des compilateurs me semblait alors un domaine de recherche plus prometteur qui était d’ailleurs très relié aux langages formels, sujet d’un des cours que je donnais en 1972-3. J’ai donc commencé de collaborer avec le professeur Olivier Lecarme qui avait un projet sur la génération de compilateurs à partir de la description de la grammaire du langage à traiter. Pour ne pas dupliquer les efforts d’Olivier qui était surtout intéressé par les questions syntaxiques des langages, j’ai commencé à étudier comment on pourrait décrire les propriétés sémantiques des langages. Inspiré par un article de Donald Knuth (l’auteur du fameux livre “The Art of Programming”), j’ai essayé de combiner le concept des attributs sémantiques de Knuth avec le traitement de gauche à droite réalisé par un compilateur. Mon article “Semantic evaluation from left to right”, publié dans le meilleur journal de l’époque – les Communications de l’ACM, a été beaucoup remarqué [].  

Après quelques années de travail dans ce domaine, je trouvais que les questions principales étaient essentiellement réglées, et je pensais qu’il serait peut-être plus intéressant de travailler dans un domaine émergeant où il y aurait plus de nouveautés à découvrir. J’ai assisté alors à plusieurs colloques organisés par des groupes d’intérêts de l’ACM sur différents sujets pour m’informer sur les questions discutées dans les différents domaines de recherche. Dans un colloque sur les télécommunications entre ordinateurs, j’ai rencontré Louis Pouzin qui dirigeait l’équipe de recherche qui construisait le réseau d’ordinateur Cyclade en France (le correspondant français au réseau ARPA aux E.U.). Il me suggérait de travailler dans le domaine des protocoles de communication et pensait que mon expérience avec les langages formels et compilateurs pourrait m’être utile. Cela m’a encouragé d’investir plus de temps dans ce domaine et en 1975 je présentais des travaux sur la vérification de protocoles dans deux colloques  internationaux. 

Plus tard, j’ai été reconnu comme leader international dans ce domaine de génie de protocoles [], c’est-à-dire des méthodes de spécification, vérification and tests de protocoles de communication. Mon article sur la description de protocoles par modèles d’automates d’états finis [] a été très remarqué. Il a été présenté initialement dans une conférence sur les protocoles de communication organisée en février 1978 à Liège (Belgique) par André Danthine. C’était une conférence où j’ai rencontré beaucoup de personnes qui travaillaient dans ce domaine et avec qui j’ai eu des échanges plus tard. C’était aussi à cette époque que je commençais à travailler pour le Département de communication (DOC) du Gouvernement du Canada sur des questions de normalisation des protocoles de communication. C’était l’époque quand le protocole X.25 était défini par l’Union Internationale de Télécommunications (à Genève),  protocole utilisé ensuite pendant des dizaines d’années pour la communication entre ordinateurs (avant que les protocoles Internet ne  deviennent populaires dans les années ’90). 

J’ai ensuite aussi beaucoup contribué aux travaux de normalisation sur les “techniques de description formelle” qui étaient destinées à être utilisées pour décrire de nouveaux protocoles de communication d’une façon plus précise et plus facile à implanter et tester []. Ces questions étaient d’un grand intérêt industriel dans le contexte où beaucoup de nouvelles normes de protocoles étaient en élaboration dans le cadre de la normalisation OSI (Open System Interworking). Les méthodes de tests de protocoles étaient le domaine de recherche de la chaire de recherche industrielle que j’ai obtenue à l’Université de Montréal en 1989 en collaboration avec la compagnie Idacom d’Edmonton et le CITI, nouveau centre de recherche du DOC à Laval. 

Connections françaises

Pendant mon année de recherche postdoctorale, en 1971-72, Jean-Pierre Verjus (de Rennes en France) venait pour une courte visite. Il connaissait bien le Département puisqu’il y avait travaillé dans les années ‘60. Maintenant, il donnait un séminaire sur les sémaphores (inventés quelques années auparavant par Dijkstra pour gérer des processus concurrents). Je trouvais cela difficile à comprendre. Plus tard, lors d’une autre visite par Jean-Pierre en ***, nous avons travaillé ensemble sur une publication sur la modélisation de processus concurrents [Bochmann, G. v. and Verjus, J. P., Some comments on "Transition-Oriented" vs. "Structured" specification of distributed algorithms and protocols, IEEE Trans. on SE Vol SE-13, No 4, April 1987, pp. 501-505.]. Plus tard encore, en 1997, Jean-Pierre Verjus recevait  undoctorat honoris causa de l’Université de Montréal.

En 1964-65, j’étais étudiant en physique à l’Université de Grenoble. C’était après mon “Vordiplom” en physique que j’avais fait à l’Université de Tübingen et une année d’études de musique (violoncelle et piano). Je  voulais apprendre le français, et je profitais des pistes de ski autour de Grenoble. Je partageais une chambre dans la résidence Rabot avec un étudiant français en mathématique appliquée avec orientation informatique. Lui et son copain me parlaient d’un drôle de cours donné par le professeur Vauquois sur les langages et grammaires formels. Ils se demandaient à quoi cela pourrait servir. De mon côté, je ne comprenais rien de ce qui pourrait être enseigné dans ce cours.

Pendant la première année comme professeur au Département d’informatique, en 1972-73, on m’a donné comme charge de cours un cours sur la programmation en langage machine (sujet dont j’avais de l’expérience par le travail de programmation dans mon projet de maîtrise) et un cours sur ce même sujet, langages et grammaires formels, sujet que je devais alors apprendre en consultant des livres et articles de journaux appropriés. 

Ils  s’adonnait que pendant cet année-là, le professeur Vauquois passait une année à l’Université de Montréal et donnait un cours gradué sur la traduction par ordinateur, sujet qui impliquait aussi des grammaires, mais des grammaires des langue naturelles, un sujet bien plus complexe que les grammaires des langages formels. 

Il y avait à cette époque une grande équipe de recherche à l’Univerité de Montréal qui travaillait sur la traduction par ordinateur. Je crois que ce groupe avait été créé par le professeur Colmerauer, un des deux pères du langage Prolog conçu pour les applications en intelligence artificielle et pour lequel les Japonais construisaient des ordinateurs de 5-ième génération dans les années 1980. Comerauer était un des ”pionniers français” qui avait contribué, avec Jean-Pierre Verjus et Laurent Trilling, à la construction du Département d’informatique pendant ces premières années. 

J’ai gardé un certain contact indirect avec ce groupe de traduction automatique. J’assistais au cours de Vauquois et un de mes premiers étudiants de maîtrise, Gilles Steward, travaillait dans l’équipe de traduction et son projet de maîtrise portait sur la réalisation de traducteurs par des diagrammes de transition récursives et étendues (Maîtrise complétée en 1975).

J’ai vécu une autre coïncidence concernant l’axe Grenoble – Montréal. Lors de mon année d’étude à Grenoble en 1964-65, j’ai suivi un cours en physique avec le professeur Dépommier sur les particules élémentaires. Il parlait des expériences qui se faisaient dans le grand laboratoire international CERN à Genève. Puisque le sujet m’intéressait, il m’a proposé un stage d’été dans son groupe de recherche à Genéve. Malheureusement, je devrais quitter Genève aussitôt arrivé à cause d’une hépatite que j’avais attrapée lors d’un voyage en Turquie avec l’orchestre d’étudiants de Grenoble. Mais je suis revenu au CERN pour un an lors de mon projet de Diplôme (maîtrise) en 1967-68. Plus tard, je rencontre le professeur Dépommier à l’Université de Montréal; il était venu ici comme directeur du Département de physique et comme chef de l’accélérateur de particules du département.  

Un club de café au Département d’informatique

Lorsque j’arrivais au Département d’informatique (en 1971 comme chercheur post-doctoral, et en 1972 comme professeur adjoint) le département était bien plus petit que maintenant et avait une vie sociale plus active. Je me souviens que nous avions l’habitude de prendre un pause de café dans une pièce pas trop loin du bureau du directeur. Lors de ces rencontres on parlait de tout : de lectures intéressantes, de projets de recherches à entreprendre, de la politique du département, des problèmes personnels ou du beau temps. Je me souviens des collègues Bill Armstrong, Stan Selkow, Jean Vaucher, Alex Baccopoulos??, Claude Christen, Paul Bratley (et d’autres ??) qui participaient régulièrement aux discussions à l’heure du café. 

On parlait aussi d’autres activités à faire en dehors de l’université. Par exemple, il y avait aussi un “club sportif” qui se rencontrait plus ou moins régulièrement au terrain de sport du Collège Jean Bébeuf sur la rue Cote St. Cathérine ?? pour faire des exercices et des courses en plein air. 

Pendant deux ans, il y avait aussi le collègue Marc Gold qui trouvait que l’ameublement de bureau fourni par l’Université était inadéquat. Il s’achetait, entre autre, un grand sofa confortable, assez grand pour prendre une petite siesta. Et il décorait son bureau avec des ornements en or, probablement pour mieux correspondre à son nom de famille précieux. Après son départ, il laissait le sofa à un collègue; ce sofa a eu une longue vie au Département et a servi à beaucoup de monde.