mardi 18 mars 2008

Histoire de l'enseignement de l'analyse (analystes-programmeurs) à l'Iut de Nantes

La "méthode De Blanpré"

A l'IUT de Montpellier, nous avions pratiqué "la méthode De Blanpré". De Blanpré était un ingénieur d'IBM France. On y utilisait une "grille d'informations". La démarche était la suivante :
- lister les fichiers de sortie, répartir les rubriques dans les fichiers
- remonter, via les algorithmes (les "règles de gestion" comme on dira avec Merise), aux données (informations) nécessaires en entrée pour sortir les sorties
- regrouper ces rubriques d'entrée dans des fichiers d'entrée. On distinguait les fichiers "événements" des fichiers "permanents"
- et on faisait le chemin inverse, en vérifiant que les accès étaient possibles (via ce qu'on appelera plus tard des "clés d'accès).

La méthode Cantor (d'ICL)

La méthode Cantor comprenait l'étude du système existant et la conception du nouveau système.
- L'étude du système se faisait par une enquête par station. On avait différents niveaux d'abstraction : le plus haut, appelé système, puis les établissements, puis les services, puis les postes de travail. Pour chaque station, on relevait les fichiers en entrée (leur origine, la périodicité d'entrée), les fichiers de sortie (leur périodicité, avec quels fichiers ils étaient créés ou mis à jour, leur destination). Puis, on faisait une matrice d'incidence par périodicité et, appliquant l'algorithme de recherche des niveaux dans un graphe (un ordre), on calculait l'ordre des opérations (les procédures). A noter qu'avec De Blanpré l'enquête était procédurale : on partait d'un événement et on suivait la procédure juqu'à une sortie du système.
Avec Cantor on avait la même démarche au niveau d'une opération. Le même algorithme était utilisé avec les rubriques (telle rubrique est créée, mise à jour avec telle autre, en accédant à telle autre avec telle et telle autre (clés d'accès)).
Avec Cantor, on allait jusqu'à la construction des programmes. Cantor sera suivi de Armin-Parm (un atelier de génie logiciel) et de son générateur de programme. Le problème à l'époque est que ces outils ne fonctionnaient qu'en traitement par lots.
La même démarche s'utilisait pour étudier un système existant que pour concevoir un nouveau système, ou modifier un système.

Nota : J'avais passé mes vacances, avant de prendre mon poste à l'IUT de Nantes, dans une banque de Louisville (Kentucky), ville jumelée avec Montpellier. J'avais pu constater que les informaticiens de la banque ignoraient ce qu'on m'avait enseigné à Montpellier. Ils n'avaient aucun dossier d'analyse. Ils n'avaient que du code non commenté ! Déjà j'avais compris que les USA sont un grand pays où on trouve de tout ... et du pas grand chose. La France, l'Europe étaient bien en avance dans leur pratique. Et tous les USA ne participaient pas au projet Apollo. Pendant ce séjour aux USA, j'ai fait un tour de pas mal d'universités. Aux USA, les profs utilisent les livres. Ainsi, il m'était facile de prendre connaissance du contenu de l'enseignement. Les livres d'informatique empilés dans les librairies des campus (Toutes les universités n'étaient pas le MIT, Stanford, ...) n'étaient pas des modèles à suivre !
Ce qui m'avait frappé sur les campus était le fait que le campus vivait. Les bibliothèques y étaient ouvertes y compris le dimanche. On a mal copié les campus en France ! (on est mauvais en copier-coller !). Au dormitory (cité U), les chambres étaient pour deux étudiants. La recherche du roomate était essentielle. Je me souviens que mon roomate était un étudiant en police thaïlandais (sur les campus on trouvait des tas de disciplines, dont la police). Et j'appréciais quand il allait en cours : un peu d'intimité. Mais parfois il n'y allait pas. Je lui demandais pourquoi ? Réponse : parce que je n'ai pas étudié les pages du livre qui étaient à étudier. Je suis allé suivre des cours (le samedi, la banque était fermée), et j'ai compris : les étudiants posaient des questions sur ce qu'ils avaient lu (on ne payait pas un prof pour faire une dictée !), le prof répondait, donnait exemples, contre-exemples. Des étudiants passaient au tableau sur leur demande (des étudiants ! oui, oui !). Et quand le prof se rendait compte qu'il serait bon qu'il fasse un exposé sous une autre forme que ce qui était dans le livre, il le faisait...
Je comprends l'étonnement d'étudiant américain quand ils ont fréquenté nos amphis !

- Lors de ma première année à l'IUT, je me souviens d'un TP ainsi conçu par mes collègues (il y avait Marc Bensmaine, qui est parti à la fac, puis fut mon voisin de bureau à la fac alors qu'il était directeur du CRI, et aussi François Alliaume) : répartis dans des bureaux de l'ENSM, des collègues jouaient des personnages (un directeur financier, un chef des ventes, etc.). Les étudiants devaient faire l'étude du système existant en allant enquêter dans les services. Ils devaient prendre rendez-vous, gérer leur planning, etc. Ca valait bien la nouvelle pédagogie avec les NTIC et TOC !
- Je me souviens aussi qu'était traité complétement le cas MAIF. Robert Reix l'utilisait dans son livre publié chez Dunod.

- A l'époque, il n'y avait pas de matière appelée "algorithmique". Comme nous implantions par des "chaînes de traitement" par lot, il fallait "trier". J'enseignais alors au sein de "Analyse" (le nom "méthodologie" avait été abandonné. Car au début, nous n'y faisions pas d'étude des méthodes. Nous n'en étions d'ailleurs pas capables.) les algorithmes de tri et leur performances (je viens de jeter mon polycop de l'époque). Puis un collègue qui venait du Québec est arrivé chez nous, Rolland Guihur. Il a rédigé un livre "algorithmes de tri avec programmes en Basic et en Pascal". Les tris sont sortis de l'"analyse".
- La technique des tables de décision était la technique principale qui était enseignée quand je suis arrivé à l'Iut. Je me suis trouvé en stage chez ICL avec un étudiant de l'Iut et il m'avait donné son cours ... Aujourd'hui, je me dis que si seulement cette technique était pratiquée, on comprendrait un peu quelque chose dans les dossiers de stage où souvent la spécification se réduit aux petits bonhommes des "uses cases" de Uml !

- LCP, CORIG
Nous avons rappelé comment LCP est arrivé à l'Iut de Nantes.
Robert Mallet avait rédigé un livre "La méthode informatique, Conception et Réalisation en Informatique de Gestion" chez Hermann, un éditeur prestigieux : il avait publié Bourbaki. Dans ce livre, Robert Mallet présentait ce qu'aujourd'hui on appelerait des "design patterns". La "méthode Corig" au niveau "analyse" consistait à décrire des tâches sous la forme de listes d'actions conditionnées : si condition faire ... Mallet considérait que c'est ce qui était le plus facile à obtenir des gens effectuant le travail. Il utilisait des diagrammes qui sont proches des "modernes" sequence charts. En fait, ces diagrammes, les "organisateurs" les utilisaient depuis pas mal de temps. En France, le SCOM (Service Centrale Organisation et Méthodes) - voir nos pages sur ce bloc-notes sur le SCOM et ses publications dont nous avons photocopié des pages - publiait à l'époque des documents exposant des notations graphiques.
Au niveau programmation, l'ordinogramme type (aujourd'hui on dit "diagramme de flot de contrôle") était linéaire (vs celui de LCP qui était hiérarchique (des boucles composées en séquence soit par inclusion) : une séquence de si condition faire. Pour "optimiser" on pouvait ensuite faire des "rateaux" ou mettre des "ficelles". En LCP, on utilisait des diagrammes de Karnaugh pour simplifier l'algorithme. On se servait de la structure des "fichiers logiques d'entrée" et "des fichiers logiques de sortie". Pierre utilisait Corig plus spécialement pour les programmes de mise à jour.

LCS (Lois de Conception de Système) - voir sur le présent bloc-notes une présentation - proposait de modéliser en terme de clients et de fournisseurs, internes, externes. Par exemple, le Personnel était rattaché aux données fournisseurs internes. On construisait ainsi un arbre (dessiné avec des parenthèses. Déjà à l'époque, ceux qui n'avait fait que tourner les pages des livres, n'avaient retenu de "LCP" et de "LCS" que les parenthèses). Les feuilles étaient appelées des structures. Chaque structure était alors décomposée de manière hiérarchique
en données d'entrées,
elles-même décomposées en données de base,
elles-mêmes décomposées
en données et
en programmes (de mise à jour, d'obtention de résultats),
et en données mouvement.
et en données de sorties
elles-mêmes décomposées en
en résultats de contrôle
en résultats demandés.

Maintenant, si on prend par exemple, le chemin Clients Externes de Produits finis, on va définir ce qui est appelée une base. Et on fait une décomposition. Au premier niveau : Clients, Produits, Données générales.
Au deuxième niveau :
pour clients
données générales
échanges
Commandes
Expéditions
Facturation
Réglements
pour produits
données générales
échanges
commandes
expéditions
Chacune des feuilles était appelée un FLB (Fichier Logique de Base).
Ensuite, on ajoutait aux feuilles les rubriques d'identification. Puis les rubriques d'"application". Le terme était utilisé dans le sens qu'il a en maths ensemblistes en France (une fonction totale -->). C'était du "modèle relationnel" (on aurait pu utiliser le terme "dépendance fonctionnelle" !). La méthode allait ainsi jusqu'à la programmation.

Elle fut appliquée en URSS. Les livres de Warnier furent traduits dans plusieurs langues. Je me souviens avoir discuté avec un informaticien japonais sur une plage d'une île en face d'Hiroshima, informaticien très fier de me montrer en dessinant sur le sable, une petite spécification selon la notation LCS. Je me souviens que je fus membre du jury d'Etat à l'IMA (rattaché à la Catho, à Angers) où les étudiants devaient faire des études de cas en LCS.

- MAS (Modules d'Analyse Structurale)
Avec l'arrivée d'IDS (le SGBD distribué par Bull)qui utilisait un "modèle réseau", nous avons introduit avec Pierre les "diagrammes de Bachman" (Bachman qui eut le prix Turing). Et fait les correspondances entre le vocabulaire de Codd et celui de Bachman. Pierre était et est toujours un grand boxologue. Il sait débusquer les mathématiques élémentaires derrière les flèches et les boîtes. Merci à lui de m'avoir intronisé en boxologie. Il y a du boulot ! avec les gourous, les "évangélistes" des USA, il y a à faire. On est toujours un peu écoeurés de voir nos étudiants envoyés par leurs chefs à Paris (il n'y a bonne boxo qu'à Paris) suivre la dernière boxo à la mode. Bon, certains reconnaissent que c'était du pipeau. On n'a pas complétement échoué ! Un de nos premières publis avec Pierre fut un papier présenté à un colloque ... d'ergonomes (on était en contact avec J.M. Hoc qui est maintenant au CNRS à l'Ircyn à Nantes) : il traitait des graphiques utilisés par les informaticiens.
Chez Bull, il y avait ceux qui faisaient du LCS et ceux qui faisaient des MAS. Aux Vinaigriers, j'ai suivi le cours sur les MAS (lesquelles avaient été utilisées au Crédit Agricole du Morbihan à Vannes). Le cours commençait par une formation au jeu de GO. On utilisait l'algorithme de recherche des niveaux dans un graphe appliqué à une matrice représentant une fonction entre les rubriques. Ainsi on construisait un diagramme de Bachman structuré.
- Le "modèle relationnel de Codd"
Je ne me souviens plus bien de la chronologie.
Je me souviens que l'IRIA organisait des conférences à Rocquencourt. Claude Delobel, prof à Grenoble faisait cours. A l'époque est paru le livre de Ted Codd et le livre de Date. J'ai découvert que ces livres ont été supprimés de notre bibliothèque (considérés que trop vieux. C'est bien connu, en informatique, tout ce qui a plus de 5 ans est périmé !). Bientôt le fin du fin sur les bases de données ce sera PHP, mySql pour les Nuls.
Nous avons immédiatement fait passer dans nos cours ce que nous venions d'apprendre (je ne suis pas sûr que nous avions lu le Programme Pédagogique National !). Nous avons suivi les sorties d'articles qui ont peaufiné les premières définitions de formes normales de Codd qui ne remplissaient pas l'objectif fixé. On a eu la 4ième, puis la 5ième. Beaucoup, ignorant le but de la normalisation, ont dit : dans l'enseignement, il suffit de s'arrêter à la troisième. La 4ième on ne la rencontre presque jamais. Pour montrer que ces propos n'étaient pas fondés, je prenais en amphi des cas réels : une étudiante ayant sur la tablette, le catalogue de Phildar, je me suis lancé dans sa modélisation (et nous avons trouvé les "dépendances multivaluées" partout), une autre fois ce fut le catalogue Yvert et Tellier. Le besoin de la définition de la 5eme forme normale est assez rare. Mais avec l'exemple de l'émission l'Oreille en coin, dimanche matin (où intervenait Maurice Horgues), j'avais un cas où pouvait décomposer si "un invité à l'émission chantait à l'émission toutes les chansons qui étaient chantées à l'émission et qui étaient à son répertoire (de cet invité chanteur)".

Remarque :
J'ai entre les mains un livre de la Collection "Université et technique" chez Dunod. Le titre "Mathématiques de l'informatique" (deux tomes) par Mme J. Boittiaux, maître assistant à l'IUT de Grenoble, et daté de 1970. Ces deux tomes sont excellents et finalement les seuls volumes qui traitaient d'informatique dans la collection !
Le tome 2 commence par un chapitre sur les relations. Les étudiants étaient ainsi prêts à recevoir le "modèle relationnel".

- Le livre de Claude Delobel et Michel Adiba, Bases de données et systèmes relationnels, chez Dunod est paru en 1982. Il utilisait la notation Z de J.R. Abrial, laquelle avait été utilisée aussi dans le livre de Meyer et Baudouin, Méthodes de programmation, Eyrolles.

Grâce aux écrits de J.R. Abrial, nous avons pu dégager l'essentiel : un "schéma relationnel n-aire", "un MCD, Modèle Conceptuel de Données", etc. , tout cela n'est ni plus ni moins qu'un invariant.

- Merise
Nous avions lu les papiers de l'équipe du CET d'Aix en Provence. Un jour, quelqu'un nous a dit "vous ne connaissez pas Merise ?". Je savais ce qu'était un merisier. Ils poussent bien en Limousin. Le Ministère de l'Industrie venait de publier un rapport qui présentait la notation et la méthode Merise et un autre rapport qui présentait une étude de cas. On y retrouvait un schéma relationnel mais sous forme graphique. Etonnant ! quand on faisait des rectangles et des ficelles, c'était "conceptuel". Quand on représentait avec des parenthèses, c'était un "MLD" (Modèle Logique de Données). "Conceptuel", "logique" ! ? pauvres étudiants à qui on commençait à enseigner de la logique ! Comme Chen avait publié son papier sur "le modèle entité relation" (c'était amusant les traductions en français. Pour faire de la même chose deux produits différents, c'est bien connu, il suffit de changer le nom (notre société "virtuelle" est passée maître dans ces techniques d'entubage). Alors on a utilisé "association". ..
Je disais aux étudiants : si vous êtes payés à la page, faites du MCD. Sinon, utilisez la notation de Codd ! et je m'amusais à leur montrer la conceptualisation du logique et la logicisation du conceptuel. Eh con ! aurait dit un de mes collègues toulousain. Je leur disais aussi de faire ce qui suit (mais après avoir évalué les risques) en entreprise :
Si leur interlocuteur Bac + 4 (on n'était pas encore aux grands nombres) leur présentait un MCD, à eux, simples DUT, qu'ils lui disent "Je ne suis pas sûr de bien avoir compris à l'Iut, voici des patates, pouvez vous m'expliquer les cardinalités en mettant des flèches entre les patates." J'ai revu des étudiants dans le train et ils m'ont dit qu'ils avaient pu constater que les "spécialistes" le plus souvent ne savaient pas lire la notation graphique. Quid aujourd'hui avec les "multiplicités" (nouveau nom des "cardinalités" de Merise) d'UML.
En soutenance de stage, combien de fois ai-je vécu la scène suivante :
- "Je suis sûr que votre implantation ne respecte pas votre MCD"
- "Pourquoi ? Parce que vous avez spécifié des ensembles infinis et que vous avez spécifié qu'à toute commande "il y a une facture" alors que par ailleurs vous me dites que vous facturez vos commandes, et que des commandes peuvent ne pas être facturées ...
A ce moment là, l'étudiant se justifiait en disant "j'ai mis un MCD pour mettre quelque chose dans le rapport de stage".
Bertrand Meyer a écrit un article fort plaisant sur UML . Mais, il cède ... à la puissance de la mise en boîte (vous voyez ce que je veux dire ?) !

En Merise, il y avait aussi les MCT (Modèles conceptuels de traitement), des espèces de réseaux de Petri interprétés dont on n'a jamais réussi à donner une sémantique. Les MCT étaient rarement faits.
Les Réseaux de Petri, je me souviens que c'est Yves Simon qui nous en a parlé le premier. Il avait suivi une présentation à une conférence. A l'époque, il n'y avait pas de bibliothèque d'informatique (à moins de "monter" à l'Iria), pas de web. C'est par les conférences qu'on apprenait. Ensuite, on avait les bibliographies. On écrivait aux auteurs, on faisait venir des photocopies...

Je me souviens d'un cours que l'on m'avait demandé de faire à Angers à des profs de maths, certifiés, agrégés. Un peu comme aujourd'hui avec UML, on me demandait de les "former à Merise". Je leur ai présenté la notation avec les rectangles, les certangles, les ficelles, les "cardinalités". Lors de la première pause, deux stagiaires sont venus au tableau et m'ont fait des diagrammes sagittaux comme on en faisait à l'époque en mat sup (maternelle supérieure, grande section) et m'ont demandé : est-ce que vous vouliez dire autre chose. Ma réponse fut : non. Fonction, injective, surjective etc il y avait tout cela dans le Boittiaux ! A partir de cette date quand on m'a demandé de faire une formation en méthode Truc, Machin ou Chouette (la dernière scie à la mode), j'ai prévenu le demandeur que je ne jouerai pas le vendeur de boîtes et de flèches. Merci aux profs de maths.

Je me souviens des publications sur le "modèle entité association" où des auteurs discutaient pour savoir si Date était une entité ou une propriété (ou attribut). Si il fallait faire un rectangle ou un rectangle à coins arrondis...
Des membres d'une société de service m'avaient dit : Merise = Méthode efficace pour ralentir la sortie des études. Un membre du ministère des finances m'avait dit que c'était excellent quand, suite à une question d'un député à l'Assemblée, le ministre demandait une étude sur le paiement de l'IRPP tout en faisant comprendre qu'il ne tenait pas à ce que l'étude sorte.
Je me souviens de sociétés qui mangeaient 80 % du budget d'un projet pour faire quelques rectangles ... et disaient ensuite qu'il ne restait plus qu'à développer le logiciel ... ce qu'avaient à faire les Dut ! A l'époque les parapluies étaient à la mode (et de nos jours ?!) et le pantouflage fréquent avec les nationalisations de 81. Au Royaume-Uni, les britanniques avaient leur Merise à eux. Je ne retrouve plus le nom.

J'ai assisté à la Conférence Entité-Association de New-York. Je ne me souviens plus ce que j'avais pu y raconter. Ce dont je me souviens est que le repas de gala de la conf a eu lieu au restaurant situé en haut d'une des tours jumelles disparues le 11 septembre. A ma table était P. Chen. Un des présents lui a demandé si ça ne vaudrait pas le coup de donner une sémantique formelle à la notation graphique afin d'éviter ces multiples notations, non définies, comme nous venions d'en voir lors des premières sessions. Et P. Chen a fait un geste montrant l'ensemble des participants attablés et à dit : " Et ça disparaîtrait !" . Business, business ... Et ça continue !
P. Chen avait l'ambition de créer des associations des Utilisateurs de "E-R" sur tous les continents. Il m'a proposé de créer l'asso européenne. Je me suis dit : "une occasion pour tenter de déboxologiser". Je me suis appuyé sur l'AFCET (défunte AFCET, son dernier président fut ... un ancien chef du département informatique de notre IUT, Jean Erceau).

Dommage tout cela. Cela n'a pas favorisé le développement de l'ingénierie du logiciel. Imagine-t-on la construction de l'Airbus A80 avec seulement de la boxologie ?

- Jean-Louis Gardies

Avec J.H. Jayez j'ai suivi les cours de Jean-Louis Gardies à la faculté des Lettres (logique et histoire des sciences). C'était en 1976. Les cours étaient suivis par des enseignants de maths, des philosophes, etc. Le livre de J-L Gardies que je considère comme un chef-d'oeuvre, Esquisse d'une grammaire pure, Vrin, 1975, m'a beaucoup appris. Quelle chance d'être tombé sur ce livre et ce prof. J'ai correspondu avec lui lorsque j'ai monté la conférence Pierre Abélard, à l'aube des universités. Je lui avais proposé d'intervenir dans cette conférence. Il était alors en retraite mais continuait à publier des livres. Mais il était malade. J'ai été très touché par sa longue lettre. Dans mes cours, je ne manque pas d'utiliser des extraits du livre cité, en particulier, la partie sur les 4 sens du verbe être.

Avant la logique et l'histoire des sciences (on a étudié 'l'histoire des algorihtmes et des algèbres'), j'avais fait une licence de psycho à Nantes. J'ai été particulièrement intéressé par les cours de psycho-physio car le concept de régulation y était souvent illustré.
Avec J.H. Jayez, j'ai aussi fait le certif de linguistique générale. C'est que j'avais été étonné qu'il n'y ait, à l'époque, dans le programme des IUT rien sur la théorie des langages et sur des éléments de linguistique. J'ai particulièrement apprécié de cours de phonologie.

- NIAM
Un jour Jacques Philippé m'a dit "Est-ce que tu connais la méthode I.A. ?" . Je répondis non. Il me dit que le CMILACO (Crédit Mutuel) l'utilisait à Nantes. Je prenais contact aussi tôt et découvrait qu'il s'agissait de la notation graphique diffusée par Control Data (Bruxelles). Elle avait été utilisée dans un rapport de l'IFIP, sous le nom de NIAM (Nijssen Information Analysis Method). Un schéma NIAM était un invariant comme un schéma Merise. Une grande différence était que l'accent était mis sur les relations binaires avec leur ensemble de départ, leur domaine, leur ensemble d'arrivée, leur co-domaine. Que l'on s'obligeait, pour toute relation, à fournir l'expression en langue naturelle (pseudo naturelle) sous la forme sujet verbe complément, pour la relation et pour son inverse. Que l'on faisait la distinction entre concepts (on disait "objets non lexicaux types") et entre "objects lexicaux types", entre les mots et les choses. Au lieu des 1-1, 0-1, 1-n de Merise, on n'avait que deux symboles : \/ (pour tous, le quantificateur universel !) et ____ pour "unicité" (fonction). Et on pouvait exprimer très clairement graphiquement que tel domaine était inclus dans tel autre, ou disjoint de tel autre ou égal à tel autre, idem pour les codomaines, idem pour les relations. On avait même le sous-typage. Quand on passait au schéma relationnel n-aire on disait tout simplement qu'on faisait un schéma regroupé. On regroupait en effet toutes les fonctions totales ayant même partie gauche dans un même schéma relationnel, etc.
Niam ne pouvait que me conduire à Z puis à B ! Et quand on commence à faire du propre , on répugne à la saleté !

J'ai demandé une "délégation" au CMILACO. Son directeur était Monsieur Luksenberg. Contrairement à la plupart des chefs de service informatique de la région qui étaient des ingénieurs ENSM (le seul établissement d'enseignement supérieur à Nantes, hors médecine, avant la re-création de l'université après 68), il avait suivi une formation universitaire en informatique. Le CMILACO fut sans doute le premier service informatique de la région à utiliser le satellite. Il était équipé de Control Data.
Au CMILACO, toute la banque avait été modélisée avec NIAM. La modélisation était utilisée par les analystes programmeurs et chefs de projet. Ce fut très motivant pour l'enseignant que j'étais.
Je me suis lancé dans l'écriture d'un cours qui est devenu un livre publié chez Eyrolles : Le modèle relationnel binaire, Méthode I.A. (NIAM) en 1988. Je ne disposais alors que de quelques documents internes à Control Data. Le problème est que les textes étaient peu formels et donc ambigüs. Ce n'est qu'après la publication de mon livre préfacé par P. Jeulin et P. Sauge, auteurs de la méthode MAIA à la BNP, de la direction Intelligence Artificielle et Génie logiciel de Rank Xerox France (où allait être développé un méta-langage, Graphtalk. Le MDA était déjà inventé !), que Nijssen publiait son livre.
A l'époque j'ai eu des relations avec M. Clouet au CMILACO, Sylvie Leprêtre à C.D. puis à Infigénie, M. Conroy, M. Walfard (C.D. France), P. Thompson (C.D. Usa), Falkenberg et Brinkemper de l'Université de Nimègue.et J'ai participé à des réunions d'équipes de C.D. J'en ai gardé un excellent souvenir. Nous disposions du logiciel PC-IAST développé par C-D France. Lors de mon jury d'HDR, Nijssen fut invité à faire un exposé au CMILACO. Je me souviens qu'il demandait systématiquement à ses auditeurs de reformuler ce qu'il venait de dire. Et ça marchait.

- JSD (Jackson Software Development)

Pour la deuxième conférence de génie logiciel que j'ai organisé (CCO, Tour de Bretagne) j'ai invité Michaël Jackson (il y eut aussi un exposé d'un collaborateur de Bertrand Meyer qui avait pour titre, le titre du premier chapitre du livre qu'allait sortir B. Meyer sur l'objet). L'annonce de la venue de M. Jackson à Nantes m'avait fait recevoir des appels téléphoniques cocasses. Je m'étais intéressé à l'approche de Jackson, entre autres, parce que la société TNI de Brest utilisait JSD pour ses développements en Smalltalk (je crois me souvenir que c'est elle qui nous a installé une première version de Smalltalk sur une station de travail). Jackson France fut d'ailleurs créé à Brest. Son directeur était M. Parot. Et de plus, mes collègues de NEWI (Pays de Galles) avaient rédigé un livre sur la méthode Jackson. Je me souviens que lors de leur venue à Nantes, ils ont accepté "en direct" devant un de mes groupes de TD, de traiter ... un sujet de BTS. Dans le sujet, il n'y avait aucune réponse aux questions que la méthode de Jackson amenait à poser. Excellent ! J'espère que les étudiants ont profité de l'expérience.
Jackson, qui fut élève de T. Hoare à Oxford, a repris les concepts de processus séquentiels communicants. Il représente le comportement d'un processus sous forme d'un arbre dit "arbre Jackson" (en fait une expression régulière). Il insiste sur le fait qu'il n'y a des objets que parce qu'il y a du parallélisme. Son entité marsupiale est une excellente image pédagogique. Jackson a choisi des communications asynchrones entre processus (par "flot de données") car il voulait aller facilement vers l'implantation. Une base de données était vue comme un ensemble de vecteurs d'états de processus. Pour l'implantation, Jackson utilisait la technique d'inversion de processus, le back-tracking. On allait de la spéc à l'implantation. J'ai utilisé la méthode JSD et la modélisation relationnel en même temps. Ce fut la "méthode MOON" Méthode Orientée Objets Normalisées (c'était au temps de la secte Moon !). Je collaborais alors avec des collègues de BTS qui déposèrent la marque MOON. Pas un brevet européen : la loi sur le brevet européen ne permet pas de déposer des brevets sur des méthodes ! Mes idées furent publiés dans mon livre Introduction à la spécification, publiée chez Masson, avec préface de Hervé Gallaire et une présentation de Michael Jackson.
Un peu à la même époque, je suivais une semaine de cours donné par un collègue britannique dans le cadre d'un projet européen. Je découvrais avec Jean-François, le langage Occam.
Avant ou après (?) j'allais avec un groupe d'étudiants de Nantes suivre un cours à l'université de Teesside sur CCS de R. Milner. Puis le Cnam de Nantes me permettait de participer à un projet européen (projet Papillon) sur l'enseignement du parallélisme.
Les gens "des systèmes d'information" ne sortaient pas des MCD. CCS, CSP, Jackson, etc, était "out". Alors j'ai considéré que je faisais du "génie logiciel".

- Lors d'un de mes colloques, j'ai eu la présentation de deux britanniques Magee et Kramer. Nous avions trouvé excellent leur logiciel ... Je les ai retrouvés des années plus tard avec leur livre et le logiciel LTSA (que tout le monde peut installer en une minute sur son ordinateur) et le langage FSP. Je m'en sers dans mon module Spec2. FSP est proche de CCS.

- Le GRAFCET

Nous avions la chance d'avoir au 3 rue Ml Joffre, un département Génie Mécanique. J'avais pu voir leurs projets avec les entreprises : des robots qui montaient les escaliers, etc. Ils utilisaient systématiquement le GRAFCET, le logiciel exécutable étant généré à partir de la spécification du contrôle en GRAFCET. Au département informatique, le changement de population étudiante (les micros et consoles de jeux étaient passées par là. Nous avions de moins en moins de filles...), faisait que lors des projets (de moins en moins avec des entreprises), les étudiants ne faisaient pas d'analyse, de spécs (et "in fine", ne livraient le plus souvent que des "IHM" avec rien derrière. Mais ça faisait de "beaux PP" (Power Point). Impossible de reprendre un dossier l'année suivante. Je me suis dit : "je vais leur faire honte" et les amener au labo d'auto de GMP. Lors du premier TD, il y avait une des manips qui consistait à faire remplir des caisses des bouteilles de Muscadet. Un étudiant quand il a fallu exécuter le programme, à pris un balai, en a détaché le manche pour s'en servir pour appuyer sur la touche exec. Il n'avait pas confiance en sa specification ! Notre problème en "informatique de gestion" est que pourvu que quelque chose sorte sur l'écran, "ça marche" !
Pendant plusieurs années, je demandais aux étudiants ayant étudié le GRAFCET en terminal, de faire le cours à ma place dans l'amphi. Je leur fournissais mon matériel. C'était une excellente expérience pour eux. Depuis quelques années, aucun ne veut faire cela. Le monde change !
Aujourd'hui je fais transformer les GRAFCET en spécifications en FSP. Et ce qui est intéressant c'est que les étudiants voient ainsi deux langages : un langage asychrone et un langage synchone. Certes ce n'est pas du haut niveau. Je considère que les bases doivent être étudiées au début des études. Je n'ose écrire ici ce que je lis ou ce que me disent des Bacs + 5 !




(à suivre)

Aucun commentaire:

 
Site Meter