Vous êtes sur la page 1sur 76

Plan du cours

• C01.1 : L'industrie et le logiciel • C02 : Concepts de base


• Des logiciels et des homo sapiens ... • Conception descendante
• Les logiciels sont-ils bons pour la • Dépendance à un code
santé ?
• Dépendance à une spécification
• La Cybernétique en guise de
• Techniques de découplage
conclusion ...
• Application à Java : « Collection »
• C01.2 : Ecrire un logiciel
• Exemples de spécification
• Le mythe du développement rapide et
des méthodes agiles
• Qu'est-ce qu'écrire un logiciel ?
• Cycles de vie du logiciel
• Conclusion : « Ce que l'on conçoit bien
s'énonce clairement ... » • C04 : Etudes de cas
• C03 : Design Pattern • Conception d'un logiciel de contrôle d'un
• Délégation et substitution processus de réaction chimique
• Introduction aux patterns
• Mise en œuvre de patterns

© Marc LE GOC 2022 - Génie Logiciel 1/76


Génie Logiciel
C01.1 : L'industrie et le logiciel

Département GII
Génie Informatique et Industriel

•Des logiciels et des homo sapiens ...


•Les logiciels sont-ils bons pour la santé ?
•La Cybernétique en guise de conclusion ...

© Marc LE GOC 2022 - Génie Logiciel 2/76


© Marc LE GOC 2022 - Génie Logiciel 3/76
© Marc LE GOC 2022 - Génie Logiciel 4/76
Pourquoi la quantité d'information Q(t) croît-elle au
rythme d'une exponentielle eλt, λ positif ?

Vous êtes ici


Q(t)

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 5/76


12ieme siècle : renaissance de la scolastique
Première grande déstabilisation technique
Mayeul de Cluny (910-994), « l'arbitre des rois », institué en tant que
quatrième abbé de Cluny en 954, inverse la règle de Benoît de Nursie (480-
547), dit Saint Benoit, pour imposer celle dite « de Cluny » : les travaux de
l’esprit primeront désormais sur les travaux manuels. Il fait renaitre a Mayeul de Cluny
scolastique, du grec skolê signifiant « arrêt du travail » ou « loisir consacré (910-994)
Source : Wikipedia
à l'étude ».
Q(t)
Mayeul de Cluny placera ainsi une bibliothèque au coeur d'une profonde
révolution qui ferra fleurir clochers, champs et moulins à travers toute
l'Europe.
Première dissémination des connaissances
(clochers, outils en fer, moulins et graines)
XIIe siècle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 6/76


12ieme siècle : renaissance de la scolastique
Première grande déstabilisation technique
Mayeul de Cluny (910-994), « l'arbitre des rois », institué en tant que
quatrième abbé de Cluny en 954, inverse la règle de Benoît de Nursie (480-
547), dit Saint Benoit, pour imposer celle dite « de Cluny » : les travaux de
l’esprit primeront désormais sur les travaux manuels. Il fait renaitre a Mayeul de Cluny
scolastique, du grec skolê signifiant « arrêt du travail » ou « loisir consacré (910-994)
Source : Wikipedia
à l'étude ».
Q(t)
Mayeul de Cluny placera ainsi une bibliothèque au coeur d'une profonde
révolution qui ferra fleurir clochers, champs et moulins à travers toute
l'Europe.
Première dissémination des connaissances
(clochers, outils en fer, moulins et graines)
XIIe siècle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 7/76


12ieme siècle est celui d'Abélard (1079-1152) ...

Mayeul de Cluny (910-994), « l'arbitre des rois », institué en tant que


quatrième abbé de Cluny en 954, inverse la règle de Benoît de Nursie (480-
547), dit Saint Benoit, pour imposer celle dite « de Cluny » : les travaux de
l’esprit primeront désormais sur les travaux manuels. Il fait renaitre a Pierre Abélard
scolastique, du grec skolê signifiant « arrêt du travail » ou « loisir consacré (1079-1152)
Source : Wikipedia
à l'étude ».
Q(t) Abélard (1079-1152) est un philosophe, dialecticien et théologien chrétien, considéré
Pierre
commeMayeul
le pèrede
deCluny
la scolastique et inventeur
placera ainsi du conceptualisme
une bibliothèque au coeur d'uneoù un concept est un
profonde
uniquement objetqui
révolution mental
ferra(ce qui clochers,
fleurir s'oppose champs
au platonisme et auànominalisme.)
et moulins travers toute
l'Europe.
Intellectuel Première
célèbre dans dissémination
toute la chrétienté, des connaissances
Abélard est l'auteur du premier ouvrage diffusé, de
son vivant,(clochers, outils
à un large public nonen fer, moulins
spécialisé, et pourtant
le livre étant graines) écrit en latin.

XII de
En 1110, au sein sièclee
l'école cathédrale de l'abbaye Sainte-Geneviève de Paris, l'actuel Lycée
Henri-IV, il fonde le premier collège qui préfigure l'Université parce qu'il échappe à l'autorité
épiscopale. Abélard y sera le premier à promouvoir les travaux d'Aristote (-384 - -322).
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 8/76


12ieme siècle est celui d'Abélard (1079-1152) et
Héloïse (1092-1164) !
Mayeul de Cluny (910-994), « l'arbitre des rois », institué en tant que
quatrième abbé de Cluny en 954, inverse la règle de Benoît de Nursie (480-
547), dit Saint Benoit, pour imposer celle dite « de Cluny » : les travaux de
l’esprit primeront désormais sur les travaux manuels. Il fait renaitre a Héloïse
scolastique, du grec skolê signifiant « arrêt du travail » ou « loisir consacré (1092-1164)
Source : Wikipedia
à l'étude ».
Q(t) Héloïse (1092-1164) est une intellectuelle du Moyen Âge, première abbesse du
L'abesse
Paraclet, premier
Mayeul ordre placera
de Cluny monastique
ainsi doté d'une règle au
une bibliothèque spécifiquement féminine, et deuxième
coeur d'une profonde
femme révolution
de lettres d'Occident dontclochers,
qui ferra fleurir le nom soit resté.etElle
champs définira
moulins un statut
à travers clérical pour les
toute
femmesl'Europe.
en leur donnant accès à l'éducation au sein du Paraclet.
Première dissémination des connaissances
Chantre de(clochers,
l'amour libre,outils
elle est en fer, moulins
la première écrivaineet graines)
à affirmer et définir la spécificité du
désir féminin. La liaison sexuelle et intellectuelle entre elle et Abélard sera célèbre dans toute
l'Europe et se XII siècle par un mariage, un enfant et ... une castration !
e
terminera

L'histoire de l'université commence donc par une torride histoire d'amour ...
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 9/76


13ieme siècle : longtemps servitude, c-à-d esclavage, de
pénitence le travail devient rédemption
« La scission se fait à partir du XIIIe siècle entre un travail
manuel plus méprisé que jamais et le travail « intellectuel »,
celui du marchand comme celui de l'universitaire. », Jacques
Le Goff (1924-2014), « Un autre Moyen Age », Paris, Gallimard,
Q(t) col. Quarto, 1999, cité par Daniel Cohen (1953-) in « La
Prospérité du vice - Une introduction (inquiète) à l'économie »,
Librairie Générale Française, col. Le Livre de Poche, 2011,
(Albin Michel 2009)
Dissémination
des connaissances
XIIIe siècle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 10/76


13ieme siècle : longtemps servitude (esclavage), de
pénitence le travail devient rédemption
« La scission se fait à partir du XIIIe siècle entre un travail
manuel plus méprisé que jamais et le travail « intellectuel »,
celui du marchand comme celui de l'universitaire. », Jacques Le
Goff, « Un autre Moyen Age », Paris, Gallimard, col. Quarto,
EtQ(t) 1999,decité
Cohen par Daniel
préciser, Cohen
citant (1953-) Le
à nouveau in «Goff
La Prospérité
: du vice -
Une introduction
Cette rupture (inquiète)
bouleverse à l'économie
le rythme qui était », Librairie
celui Générale agraire,
de l'économie
rythmeFrançaise,
« exemptcol.
de Le Livre
hâte, de soucis
sans Poche, 2011, (Albin Michel
d'exactitude, 2009)
sans inquiétude de
productivité - et d'une société à son image, sobre et pudique, sans grands
Dissémination
appétits, peu exigeante, peu capable d'effort productifs »
des connaissances
XIIIe siècle
Il fallait bien trouver quelque chose pour forcer les paysans à travailler pour
des moines copistes !
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 11/76


15ieme siècle : invention de l'imprimerie en
caractères métalliques mobiles par Gutenberg

Le livre, denrée rare et très chère, réservée à la noblesse parce


que copiée à la main par des moines cisterciens, devient
accessible à la petite aristocratie car beaucoup moins couteux Johannes
Gutenberg
Q(t) (1400-1468)
Source : Wikipedia

Dissémination
des connaissances
Imprimerie

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 12/76


16ieme siècle : invention de la science moderne
Seconde grande déstabilisation technique

Le mathématicien français François Viète (1540-1603) unifie le


calcul sur les nombres et le calcul sur les grandeurs géométriques à
travers le calcul dit littéral ou symbolique. Francois
Viète
Q(t) (1540-1603)
Source : Wikipedia

120 livres/an Avènement de


au XVIe siècle la science moderne
Dissémination
des connaissances
Imprimerie
Ère Féodale

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
Fin de l'ère féodale
(Société agraire, production artisanale, rendements décroissants (Malthus))
© Marc LE GOC 2022 - Génie Logiciel 13/76
17ieme siècle : début de l'ère industrielle
Naissance des mathématiques symboliques

Dans sa « Géométrie » de 1637, René Descartes (1596-1650) René Descartes


propose de résoudre les problèmes de géométrie par le recours (1596-1650)
systématique au calcul algébrique : représenter grandeurs Source : Wikipedia
connues et inconnues par des lettres, et de trouver autant de
Q(t) relations entre grandeurs connues et inconnues qu'il y a
d'inconnues au problème.

Source :
Wikipedia
Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
Début de l'ère industrielle
(Société capitaliste, production industrielle, rendements constants)
© Marc LE GOC 2022 - Génie Logiciel 14/76
17ieme siècle : début de l'ère industrielle
Naissance des mathématiques symboliques

Dans un livre post mortem intitulé « Ad locus planos et solidos René Descartes
isagoge » publié en 1636, Descartes écrit les premières équations (1596-1650)
de droites, paraboles et hyperboles, en faisant usage systématique Source : Wikipedia
de coordonnées pour résoudre les problèmes de lieux
Q(t) géométriques.

Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
Début de l'ère industrielle
(Société capitaliste, production industrielle, rendements constants)
© Marc LE GOC 2022 - Génie Logiciel 15/76
17ieme siècle : Pascal créé la première machine
à calculer, ancêtre de nos ordinateurs

De 1642 à 1645, à 19 ans, Blaise Pascal (1623-1662) a construit


plus de 50 "Pascaline" pour faciliter le travail de comptabilité de Blaise Pascal
son père. (1623-1662)
Source : Wikipedia
Q(t)
Pascaline

Dissémination Avènement de Source : Wikipedia

des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
Pascal pensait avoir automatisé la plus haute fonction cognitive humaine.
300 ans plus tard, ni Kurt Gödel (1906-1978) ni Alan Turing (1912-1954) ne lui
© Marc LE GOC 2022 - Génie Logiciel
donneront vraiment tord ! 16/76
Le 18ieme siècle sera, entre autre, celui d'un
certain Jean-Baptiste de Lamarck (1744-1829)

Premier à proposer une théorie naturaliste matérialiste et


mécaniste des êtres vivants à partir de laquelle il élabore une
Jean-Baptiste de
théorie de leur évolution. Lamarck
(1744-1829)
Q(t) Source : Wikipedia

Source :
Wikipedia
Dissémination Avènement de
La des
théorie du «transformisme»
connaissances de Lamarck
la Science Moderne repose sur deux principes:
1 °) la complexité
Imprimeriecroissante de l'organisation des êtres vivants sous l'effet
de dynamiques
Ère Féodale
internes propresÈre
à leur métabolisme
Industrielle
2 °) la diversification, ou spécialisation, des espèces, par adaptation à leur
environnement
1100 1200 1300 de 1400leur1500
comportement
1600 1700 ou 1800
de leurs1900
organes.
2000 2100

© Marc LE GOC 2022 - Génie Logiciel 17/76


Le 18ieme siècle sera, entre autre, celui d'un
certain Jean-Baptiste de Lamarck (1744-1829)

Effet de l'appétit de connaissances des européens, les 120


livres par an produit au XVe siècle sont devenus 20
Jean-Baptiste de
millions par an au XVIIIe siècle*. Lamarck
Durant 3 siècles, la productivité de l'industrie du livre a donc (1744-1829)
Q(t)
progressé de 1% par an ! Source : Wikipedia

Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
*: In « La Prospérité du vice - Une
introduction (inquiète) à l'économie »,
Daniel Cohen, Librairie Générale
© Marc LE GOC 2022 - Génie Logiciel Française, col. Le Livre de Poche, 2011, 18/76
(Albin Michel 2009), p. 48-49.
19ieme siècle : Publié en 1859, “On the Origin
of Species” (1859) créé un immense choc moral !

A la suite d'Alfred Russel Wallace (1823-1913), Charles


Darwin (1802-1882) a introduit la théorie selon laquelle
l'évolution résultait d'un processus qu'il appelait
Q(t) « sélection naturelle ».
Charles Darwin
(1802-1882)
Source : Wikipedia

Darwin soutient que l'hypothèse de Lamarck, l'évolution des espèces au cours du


temps,Dissémination
repose sur un principe de sélection
Avènement de naturelle : au sein d'une même espèce, les
des connaissances
descendants la Science
des individus Moderne
les mieux adaptés à leur environnement participeront à la
Imprimerie prochaine génération
Mal comprise, et de toute façon largement fausse parce que faisant abstraction de
Ère Féodale Ère Industrielle
l'interaction avec l'environnement, l'idée de Darwin donnera un argument imparable
pour justifier la supériorité des riches et des puissants :
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
l'argument de nature.

La transposition des idées de Darwin à la sociologie donnera naissance à l'eugénisme


de© Marc
triste mémoire
LE GOC 2022 - Génie... et au darwinisme social qui fait tant de ravage de nos jours ! 19/76
Logiciel
19ieme siècle : Publié en 1859, “On the Origin
of Species” (1859) créé un immense choc moral !

A la suite d'Alfred Russel Wallace (1823-1913), Charles


Darwin (1802-1882) a introduit la théorie selon laquelle
l'évolution résultait d'un processus qu'il appelait
Q(t) « sélection naturelle ».
Charles Darwin
(1802-1882)
Source : Wikipedia

Darwin a étudié l'évolution d'espèces plongées dans un milieu riche où la nourriture


est abondante dans un Avènement
Dissémination climat favorable.
de Dans ce cas, effectivement, les individus,
des même
d'une connaissances
espèce oula Science Moderne
d'espèces différentes, tendent à un comportement égoïste.
Mais nous savons aujourd'hui que dans un milieu pauvre, où la nourriture est rare et
Imprimerie
le climat hostile, les individus tendent à un comportement altruiste.
Ère Féodale Ère Industrielle

Lamarck avait donc raison !


1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Voir à ce sujet l'excellent livre de Pablo Servigne (1978-) et Gauthier Chapelle (?-)
dans « L'Entraide, l'autre loi de la jungle », éditions Les Liens qui Libèrent, 2019
© Marc LE GOC 2022 - Génie Logiciel 20/76
19ieme siècle : Publié en 1859, “On the Origin
of Species” (1859) créé un immense choc moral !

A la suite d'Alfred Russel Wallace (1823-1913), Charles


Darwin (1802-1882) a introduit la théorie selon laquelle
l'évolution résultait d'un processus qu'il appelait
Q(t) « sélection naturelle ».
Charles Darwin
Le principe de sélection multi-niveau veut que « Une adaptation à un niveau X
(1802-1882)
nécessite un processus de sélection correspondant, et tend à être sapé par la sélection
Source : Wikipedia

aux niveaux inférieurs. » (p. 337)


« D'un Dissémination
point de vue évolutif, l'égoïsme
Avènement de supplante l'altruisme au sein des groupes. Les
des connaissances
groupes altruisteslasupplantent
Science Moderne
les groupes égoïstes. Toute le reste n'est que
Imprimerie commentaire. » (p. 241 et 291)
Ère Féodale Ère Industrielle
Ces citations sont de Wilson DS et Wilson EO, 2007, « Rethinking the theoretical
fundation of sociobiology », The Quaterly Revview of Biology, n°82 (4), p. 327-348.
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Elles sont soulignées par Pablo Servigne (1978-) et Gauthier Chapelle (?-) dans
« L'Entraide, l'autre loi de la jungle », éditions Les Liens qui Libèrent, 2019
© Marc LE GOC 2022 - Génie Logiciel 21/76
19ieme siècle, premier grand choc conceptuel : le temps
ne serait pas réversible !

Entropie micromécanique S = k ln(W)


Opposée de l'entropie thermodynamique de Clausius (Theoème H, 1872) :
Ludwig
Boltzmann
Q(t) (1844-1906)
dH (t ) Source : Wikipedia
⩾0
dt Source :
Wikipedia

Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
L'un des plus grands mathématiciens du 20ième siècle, David Hilbert (1862-1934)
écrira dès 1900 : « Le livre de M. Boltzmann
Ère Féodale sur les Principes de la Mécanique nous
Ère Industrielle
incite à établir et à discuter du point de vue mathématique d'une manière complète et
1100 rigoureuse
1200 1300les méthodes
1400 1500 fondées
1600sur1700
l'idée de
1800passage
1900à la2000
limite,2100
et qui de la
conception atomique nous conduisent aux lois du mouvement des continua ».

© Marc LE GOC 2022 - Génie Logiciel 22/76


19ieme siècle, deuxième grand choc conceptuel : les systèmes
dynamiques sont sensibles aux conditions initiales !

Problème des 3 corps : Connaissant les valeurs initiales des positions et


des vitesses des N particules, trouver la solution de l'équation
Henri Poincaré
(1854-1912)
Source : Wikipedia
Q(t)

Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Un desÈre
derniers
Féodalegrands savants universels, Henri Poincaré (1854-1912) démontre en
Ère Industrielle
1888 que le problème des N corps n'a pas de solution générale, même avec N = 3 !
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
Ce faisant, il pose, entre autres choses, les bases de la Théorie du Chaos et de la
Relativité Restreinte.

© Marc LE GOC 2022 - Génie Logiciel 23/76


Boltzmann et Poincaré mettent fin à la croyance
d'un univers calculable et donc prévisible ...

La merveilleuse prédictibilité de l'Univers de Pierre-Simon, Marquis


de Laplace (1749 - 1827) n'était qu'une illusion !
Source : Wikipedia

Q(t)

« Une intelligence qui, à un instant donné, connaîtrait toutes les forces dont la nature est
animée et la situation respective des êtres qui la composent, si d’ailleurs elle était
Dissémination
suffisamment Avènementces
vaste pour soumettre de données à l’analyse, embrasserait dans la même
des connaissances la Science Moderne
formule les mouvements des plus grands corps de l’univers et ceux du: plus léger atome ;
Source
Wikipedia
rien ne serait incertain pour elle, et l’avenir, comme le passé, serait présent à ses yeux. »,
Imprimerie
in “EssaiÈre
philosophiques
Féodale sur les probabilités”, Ed. Courcier, 1814, p. 2.
Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 24/76


... et ouvrent la voie d'un nouveau monde, une véritable
Terra Incognita ... qui reste encore à explorer !

Ludwig Boltzmann (1844-1906) Henri Poincaré (1854-1912)

Q(t)

Combinés, les 2 chocsAvènement


Dissémination conceptuels
de provoqués par les travaux de Boltzmann et de
Poincaré vont
des connaissances façonner
la Science la science du 20ième siècle et ses suivants.
Moderne
Aujourd'hui encore, la science subit les contre coups de ces chocs : il n'existe toujours
Imprimerie
pas de théorie générale des systèmes dynamiques générale et unifiée.
Ère Féodale Ère Industrielle
Le réchauffement climatique nous en rappelle pourtant l'urgence !
1100 1200 1300 1400 1500 1600
1700
1800 1900 2000 2100

© Marc LE GOC 2022 - Génie Logiciel 25/76


20ieme, troisième grand choc conceptuel : Il est impossible de
construire un système axiomatique sans défaut

Théorème d'incomplétude, 1931: « Tout système axiomatique assez puissant pour


décrire des nombres naturels ne peut être à la fois cohérent et complet »
Kurt Gödel
Q(t) (1906-1978)

Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
En d'autres termes, depuis 1931, Homo Sapiens sait qu'aucun système axiomatique
parfait ne peut être conçu, ni par lui-même ni par Dieu
(Pour une illustration de ce théorème, voir le premier opus de «Matrix» des frères Wachowskis (1999))
© Marc LE GOC 2022 - Génie Logiciel 26/76
Illustration avec Turing, l'inventeur des concepts
modernes de programme et de programmation ...

Il existe des nombres réels non calculables par une Machine de Turing
(1936). Alan Turing (1912-1954) est célèbre pour son fameux test
d'Intelligence Artificielle (ses contributions sur Enigma ne seront Alan Turing
déclassifiées qu'en ... 2012 !) (1912-1954)
Source : Wikipedia
Q(t)

Machine de Turing
Pascaline
Source :
Wikipedia
Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie
Ère Féodale Ère Industrielle

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

En 1949, le premier ordinateur électronique, le "Manchester Mark I",


est décrit par la presse britannique comme un "cerveau électronique"
© Marc LE GOC 2022 - Génie Logiciel 27/76
Boltzmann et Shannon donnent raison à
Lamarck !

Dans son article de 1948, « Théorie Mathématique de la Communication »,


Shannon donne une définition de la quantité d'information contenu dans un
message à partir de l'entropie informationnelle (h = - Σi( pi ∙ log2(pi) )) Claude Shannon
(1916-2001)
Q(t) Source : Wikipedia

Dissémination Avènement de
des connaissances la Science Moderne

Printing
L'entropie négative conditionne l'organisation autonome des
Ère Féodale Ère Industrielle
structures de la chimie du carbone, c'est-à-dire de la vie elle-même.
Boltzmann et Shannon posent ainsi les bases mathématiques du principe de
1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100
complexification croissante de la théorie du « transformisme » de Lamarck !

© Marc LE GOC 2022 - Génie Logiciel 28/76


3ième grande, énorme, phénoménale, déstabilisation technique :
la numérisation de l'information !

La numérisation systématique des données marque la fin du néolithique :


un nouvel être humain émerge de l'avènement de la science moderne !

Q(t)
150 ans 50 ans

Numérisation de
l'information
Dissémination Avènement de
des connaissances la Science Moderne

Imprimerie Machine de Turing


Ère Féodale Ère Industrielle Ère de l'information

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Fin de la période néolithique


(Agriculteurs-Eleveurs, ∼11 000 ans)
© Marc LE GOC 2022 - Génie Logiciel 29/76
Une nouvelle ère débute ainsi avec le 21ieme siècle :
celle de l'information et des rendements croissants

Les logiciels sont les nouveaux « moteurs » de l'économie, l'information est la nouvelle
source de création de richesse et le savoir est le processus de transformation
Q(t)

Dissémination Avènement de Numérisation de


des connaissances la Science Moderne l'information

Imprimerie Machine de Turing


Ère Féodale Ère Industrielle Ère de l'information

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Ère de l'information
(Société de la connaissance, production sur mesure, rendements croissants)
© Marc LE GOC 2022 - Génie Logiciel 30/76
Une petite minute !!! Rendements croissants ???
Quésaco ?

Comment pensez-vous que Jeff Bezos (120 milliards de dollars), fondateur d'Amazon, a pris à Bill
Gates (90 milliards de dollars) la première place dans le classement Forbes (12/03/17)?
(et pas en vendant des livres : en vendant son service de cloud !)
https://www.forbes.fr/classements/classement-forbes-2018-top-20-des-milliardaires-mondiaux/#
Q(t)

Dissémination Avènement de Numérisation de


des connaissances la Science Moderne l'information
http://www.parismatch.com, 2018/03/07
Imprimerie Machine de Turing
Ère Féodale Ère Industrielle Ère de l'information

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Ère de l'information
(Société de la connaissance, production sur mesure, rendements croissants)
© Marc LE GOC 2022 - Génie Logiciel 31/76
La numérisation fait croitre la quantité d'information
disponible selon une exponentielle !

Selon John Cambers, Cisco's chief excecutive, au New York Times, le


Les logiciels sont les nouveaux « moteurs » de l'économie, l'information est la nouvelle
5/10/11 source
: « Ende2007, il y avait 1 appareil connecté à internet par
création de richesse et le savoir est le processus de transformation
personne. En 2011, nous en sommes à 5. En 2013, nous en serons à
Q(t)
140 ! »
Dissémination Avènement de Numérisation
D'après
desleconnaissances
site Planescopela (Science
https://www.planetoscope.com/Internet-/1523-.html
Moderne des données ), sont
publiés dans le monde :
- 29 000 Go par seconde
- 2 505 600 000 Go par jour
Imprimerie Pascaline Machine de Turing
- 912 038 400 000 Go par an
Ère Féodale Ère Industrielle Ère de l'information

Les besoins
1100 1200 en1300
logiciels
1400 croissent
1500 évidemment
1600 1700 selon 1900
1800 la même
2000 dynamique
2100 ...
mais pas le nombre d'informaticiens !
Ère de l'information
(Société de la connaissance, production sur mesure, rendements croissants)
© Marc LE GOC 2022 - Génie Logiciel 32/76
Remarque troublante : la richesse du monde suit la
courbe de la quantité d'information ...

Q(t)

Dissémination Avènement de Numérisation


des connaissances la Science Moderne des données

Imprimerie Machine de Turing


Ère Féodale Ère Industrielle Ère de l'information

1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100

Ère de l'information
(Société de la connaissance, production sur mesure, rendements croissants)
© Marc LE GOC 2022 - Génie Logiciel 33/76
Que s'est-il donc passé ?
Ou plutôt : que se passe-t-il ?

Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
• Génétique + Biologie Neuronale + Cognition ?
Rendements croissants
20ième siècle : 3ième Révolution Industrielle - Informatique
• Transistor + Mémoires + Numérisation
Ère Industrielle
• Dernière révolution industrielle !
Société du Capital
Production Industrielle 19ième siècle : 2ième Révolution Industrielle - Électricité

Rendements constants • Électricité + Pétrole + Automobile


18ième siècle : 1ière Révolution Industrielle - Mécanique
• Vapeur + Acier + Textile

Ère Féodale 17ième siècle : Invention de la Science


Société Agraire • Newton, Bacon, Descartes, Pascal, Liebniz, ...

Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 34/76
Que s'est-il donc passé ?
Ou plutôt : que se passe-t-il ?

Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
• Génétique + Biologie Neuronale + Cognition ?
Rendements croissants
20ième siècle : 3ième Révolution Industrielle - Informatique
• Transistor + Mémoires + Numérisation
Conséquences de l'avènement
Ère Industrielle de la science moderne, les
• Dernière révolution industrielle !
révolutions industrielles
Société du Capital
19
successives
siècle : 2ième
ontIndustrielle
Révolution
ième
fait croitre
-
la
Électricité
Production Industrielle
productivité humaine selon• Électricité
Rendements constants
une exponentielle,
+ Pétrole + Automobile marquée par
18 siècle : 1 Révolution Industrielle - Mécanique
une croissance économique de plus en plus forte au cours
ième ière

• Vapeur + Acier + Textile


des âges (et les impacts écologiques que l'on connait !)
Ère Féodale 17ième siècle : Invention de la Science
Société Agraire • Newton, Bacon, Descartes, Pascal, Liebniz, ...

Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 35/76
Or, la productivité mesure une habilité cognitive,
l'efficience dans l'usage de l'information

• L'habileté cognitive humaine croissant avec la disponibilité des informations et


inversement, Internet a finalisé la mise en oeuvre du phénomène explosif initié
par la science moderne ... jusqu'à l'atteinte des limites de la cognition humaine !

Problème
Connaissance Requêtes
Connaissance
du métier du SI

Etre DWH
Humain
Algorithmes SI Web

Informations et
Corrélations
Solution
© Marc LE GOC 2022 - Génie Logiciel 36/76
Exemple de la sidérurgie (FFA, « Comment fabrique-t-on
l’acier ? », 2000)

• Alors qu'en 1985, la production d'une tonne d'acier brute nécessitait 9,8h de
travail d'un être humain, 2,8h suffisaient en 2000
• Le gain de productivité est donc de 7 heures en 15 ans, soit 28 minutes par année !
• A ce rythme, la production de l’acier brut aurait du être entièrement
automatisée dès 2006 ...
• 2006 est l'année d'achat du groupe Arcelor, alors second producteur mondial d'acier
et premier groupe à se doter du statut de société européenne, par Lakshmi Mittal
(1950-) ... avec l'argent de sa famille !
• Depuis ce coup de maître, Lakshmi Mittal est considéré comme un très grand
financier (il est « l'homme de l’année » 2006 pour le Financial Times)

© Marc LE GOC 2022 - Génie Logiciel 37/76


Exemple de la sidérurgie (FFA, Comment fabrique-t-on
l’acier ?, 2000)

• Alors qu'en 1985, la production d'une tonne d'acier brute nécessitait 9,8h de
travail d'un être humain, 2,8h suffisaient en 2000
• Le gain de productivité est donc de 7 heures en 15 ans, soit 28 minutes par année !
• A ceProvoquée par la numérisation
rythme, la production systématique
de l’acier brut aurait des
du être entièrement
données, dès
automatisée la fin
2006de
... l'ère industrielle est ainsi marquée
• 2006 est l'année d'achat du groupe Arcelor, alors second producteur mondial d'acier
par le fait que la productivité humaine a atteint une
et premier groupe à se doter du statut de société européenne, par Lakshmi Mittal
limite, engendrant le spectre de la stagnation
(1950-) ... avec l'argent de sa famille !
• Depuis ce coup de maître, Lakshmi Mittal est considéré comme un très grand
économique séculaire que seule une technologie de type
financier (il est « l'homme de l’année » 2006 pour le Financial Times)

« intelligence artificielle » permettra de franchir ...


(ceci expliquant cela !)

© Marc LE GOC 2022 - Génie Logiciel 38/76


Il se passe que nous avons créé ex nihilo un univers
numérique en expansion accéléré

Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
UnRendements
véritablecroissants« Big Bang » numérique se produit
• Génétique + Biologie Neuronale + Cognition ?

sous nos
20
yeux
siècle : 3
hébétés !
Révolution Industrielle - Informatique
ième ième

• Transistor + Mémoires + Numérisation


Ère Industrielle
• Dernière révolution industrielle !
Société du Capital
En 1990, un anglais, Tim19Berners-Lee,
siècle : 2
ième
au CERN
Révolution
ième
(Genève),
Industrielle -
a créé
Électricité
Production Industrielle
le lien hypertextuel, les fameux « mots bleus », et donnera ainsi
• Électricité + Pétrole + Automobile
Rendements constants
naissance au World Wide 18 Web : 130
siècle connectés
: 1 Révolution
ième ière
en 1993,
Industrielle 2 738 en
- Mécanique
1994, 23 500 en 1995, 257 600 en+1996
• Vapeur Acier + ... 1 757 334 652 en 2018
Textile
(source : Alessandro Baricco, « Theième
Game », Gallimard 2019 pour la traduction française)
Ère Féodale 17 siècle : Invention de la Science
Société Agraire • Newton, Bacon, Descartes, Pascal, Liebniz, ...

Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 39/76
Il se passe que certains d'entre nous se prennent pour
des Dieux !

Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
Un très croissants
Rendements petit nombre d'êtres
• Génétique +humains super-riches,
Biologie Neuronale + Cognition ?

appelés Homo Deus 20parsiècle l'historien


:3ième
et écrivain
Révolution Industrielle - israélien
ième
Informatique

Yuval Noah Harari (1976-)


Ère Industrielle dans son livre « Homo Deus
• Transistor + Mémoires + Numérisation
• Dernière révolution industrielle !
- Une brève histoire 19
Société du Capital
de l'avenir
siècle : 2
ième
» (2017,
Révolution
Albin- Michel),
Industrielle
ième
Électricité
Production Industrielle
tente de dominer l'humanité
Rendements constants • Électricité en se +dotant
+ Pétrole Automobilede capacités
18 siècle : 1 Révolution Industrielle - Mécanique
telles que l'omnipotence, l'omniscience et l'immortalité .
ième ière

• Vapeur + Acier + Textile


(Pour une illustration du concept 17
d'Homo
ième Deus,
siècle voir par de
: Invention exemple la série Netflix « Altered
la Science
Ère Féodale
Carbon » (Laeta Kalogridis, 2018) ou le film « Jupiter Ascending » des soeurs
Société Agraire • Newton, Bacon, Descartes, Pascal, Liebniz, ...
Wachowskis (2015))
Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 40/76
Et, fort heureusement ! il se passe que la nature a mis
une limite à l'hubris des êtres humains !
Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
• Génétique + Biologie Neuronale + Cognition ?
Rendements croissants
Chez les Grecs anciens, 20 siècle : 3hubris
ième
Révolution
ième désigne
Industrielle - toute
Informatique

démesure, tout orgueil


Ère Industrielle inacceptable de la part
• Transistor + Mémoires + Numérisation
• Dernière révolution industrielle !
Société du Capital
Production Industrielle
d’un
19 mortel.
siècle :2
ième
Révolution Industrielle - Électricité
ième

Toute prétention
Rendements constants à une supériorité
• Électricité insolente doit
+ Pétrole + Automobile
18 siècle : 1 Révolution Industrielle - Mécanique
ième ière

donc entraîner une punition • Vapeur + Acier +cruelle


Textile de la part
Ère Féodale des dieux
17 immortels.
siècle : Invention de la Science
ième

Société Agraire • Newton, Bacon, Descartes, Pascal, Liebniz, ...

Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 41/76
Entre Homo Deus et notre planète, Homo Sapiens doit
maintenant choisir !
Ère de l’Information
21ième siècle : Première Révolution de la Science ?
Société de la Connaissance
• E. Morin : Pensée complexe
Production artisanale à coût industriel
• Génétique + Biologie Neuronale + Cognition ?
Sauf à condamner notre espèce, Homo Sapiens,
Rendements croissants
20 siècle : 3
ième
Révolution Industrielle - Informatique
ième

nous n'avons pas, nous n'avons plus d'autres


• Transistor + Mémoires + Numérisation
Ère Industrielle
choixSociété
que de confier• àDernière
du Capital desrévolution
machinesindustrielle ! à la fois la
19 siècle : 2 Révolution Industrielle - Électricité
production des biens et +laPétrole
réparation de la
ième ième
Production Industrielle
Rendements constants • Électricité + Automobile
planète, tout en construisant18 un nouveau
siècle : 1 Révolution
ième ière
Industrielle - système
Mécanique
• Vapeur + Acier + Textile
économique fondé sur le seul processus
Ère Féodale 17 siècle : Invention de la Science
ième

d'apprentissage
Société Agraire
efficace
• Newton, et permanent
Bacon, : le...jeu !
Descartes, Pascal, Liebniz,

Production Artisanale
Rendements décroissants
© Marc LE GOC 2022 - Génie Logiciel 42/76
Génie Logiciel
C01.1 : L'industrie et le logiciel

Département GII
Génie Informatique et Industriel

•Des logiciels et des homo sapiens ...


•Les logiciels sont-ils bons pour la santé ?
•La Cybernétique en guise de conclusion ...

© Marc LE GOC 2022 - Génie Logiciel 43/76


Des rendements croissants, ça veut dire que le logiciel
créé de la valeur, beaucoup de valeur !

• Selon Mark Minasi (« Software Conspiracy », McGraw Hill, 2000), en 1996, aux
USA, le commerce de logiciels offre la balance économique la plus grande !
• 24 M$ exportés, -4 M$ importés ==> +20M$ de solde !
• Pour mesurer l'importance économique du logiciel, voici quelques balances
économiques des activités traditionnelles (toujours en 1996) :
• Agriculture : 26 M$, -14M$ ==> +12M$
• Aerospatiale : 11 M$, -3M$ ==> +8M$
• Chimie : 26 M$, -19M$ ==> +7M$
• Automobile : 21M$, -43M$ ==> -22M$
• Produits manufacturés : 200M$, -265M$ ==> -64M$ !

© Marc LE GOC 2022 - Génie Logiciel 44/76


Les logiciels sont de mauvais produits parce qu'ils mal
construits !

• Nous ne savons pas construire des logiciels fiables, utiles et sans dangers :

• Les échecs de développement sont si nombreux que l'échec est la norme !

• Nous assistons à une croissance inédite du nombre d'accidents imputables aux


logiciels

• Force est de constater la faible qualité des logiciels

© Marc LE GOC 2022 - Génie Logiciel 45/76


L'échec du développement d'un nouveau logiciel est la
norme

• IBM, 1994 :
• 55% des systèmes coûtent plus cher que prévus, 66% dépassent les délais, 88% ont
du être significativement re-conçus
• Selon la Federal Aviation Administration (FAA, 1982-1994), pour un coût moyen
du code dans l’industrie de 100$/ligne :
• le prix d’achat estimé/espéré est de 500$/ligne
• le coût payé est de 700 à 900$/ligne, soit de 1,4 à 1,9 fois le prix estimé (ce qui
signifie que 40% à 80% des lignes de code sont réécrites, idem IBM)
• et 6M$ dépensé par an pour du travail rebuté (jeté)
• Bureau of Labor Statistics (1997) :
• 30% des systèmes mis en opération échouent, la probabilité d’échec pour les
systèmes les plus gros atteignant 50% !
• Dépassement moyen des délais est de 50%
• 3/4 (75%) des systèmes sont considérés comme étant « operating faillure » (i.e.
inexploitable, inutilisable)
© Marc LE GOC 2022 - Génie Logiciel 46/76
European Space Agency, juin 1996 : Destruction
d'Ariane-501, premier prototype de la fusée Ariane 5

• Une erreur dans le transfert d’une exception dans un code ADA a provoqué une
défaillance catastrophique du système de navigation
• Débordement arithmétique dans les deux ordinateurs
• Vitesse de déplacement horizontal stocké sur 16 bits
• OK pour simulation au sol, mais KO pour TR !
• Le code était celui d’Ariane 4
• Le code avait été validé par 2 équipes
• Aucun problème de débordement arithmétique n'a été observé sur Ariane 4
• Mais le code d'Ariane 4 n'avait jamais testé sur de vraies trajectoires d’Ariane 5 !
• Accident typique :
• Les bogues provoquent rarement des accidents
• Les bogues résultent généralement d’erreurs dans l’analyse et l’évaluation des
hypothèses expérimentales d’exploitation (exigences)

© Marc LE GOC 2022 - Génie Logiciel 47/76


Qualité du logiciel selon la Food and Drug Administration
(FDA) et le Massachusetts Institute of Technology (MIT)

• John Murray, FDA’s software quality guru :


• « You know what ’s needed before we get good software? Cars in this country got
better when Japan showed us that cars could be built better. Someone will have to
show the industry that software can be built better. », .
• Prof. Daniel Jackson and Srinivas Devadas, MIT : « We need better ways to talk
about software than code, that are less cumbersome (emcombrant, lourd),
more direct, and less tied to technology that will become obsolete. »

• Même si le codage n’est qu’une petite partie du processus de construction d’un


logiciel (10%), le code n’est pas une partie de la solution : il est une partie du
problème !

© Marc LE GOC 2022 - Génie Logiciel 48/76


Rapport PITAC, February 24, 1999 : Information
Technology Research: Investing in Our Future

• In the Report to the President of the United States of America from the
President ’s Information Technology Advisory Committee
(http//www.ccic.gov/ac/report/) :
• The demand for software has grows far faster than our ability to product it.
• Furthermore, the Nation needs software that is far more usable, reliable, and
powerful than what is being produced today.
• We have become dangerously dependent on large software systems whose behavior is not
well understood and which often fail in unpredicted ways.

© Marc LE GOC 2022 - Génie Logiciel 49/76


Exemple de problème de qualité : NASA
(https://reves-d-espace.com/12-avril-1981-navette-spatiale-columbia-programme-sts/)

• Annulation du vol inaugural de Colombia à A T-20 minutes le 10 avril 1981 à


cause d'un problème logiciel
• Après un jour d’investigation, les ingénieurs identifient le problème
• Les ordinateurs principaux avaient un problème de synchronisation de 40
millisecondes.
• Délai modifié de 50ms à 80ms, 2 ans avant le vol
• Les logiciels sont mis à jour et une nouvelle date de lancement est décidée au
12 avril ...

• Les milliers de tests effectués n’ont jamais permis de détecter cette erreur
• La validation du logiciel est non-décidable (i.e. pas de preuve) !

© Marc LE GOC 2022 - Génie Logiciel 50/76


Exemple de problème de qualité : McDonnel-
Douglas, C-17

• Transporteur cargo C-17 livré par McDonnel-Douglas avec un


dépassement de 500m$
• Le C17 devait être le transporteur cargo le plus performant de son temps
• Avion livré en retard et avec un déficit énorme
• Cause : Les logiciels ne donnaient pas les performances et la fiabilité désirée
• Constats :
• Système trop complexe
• 19 ordinateurs embarqués (80 microprocesseurs)
• 6 langages de programmation différents
• Incompatibilité des machines et des langages ==> cauchemar !

© Marc LE GOC 2022 - Génie Logiciel 51/76


Nasa, 1987 : d'où provient la qualité ?

• 32 programmeurs ont appliqué 3 techniques de test différentes à quelques


petits programmes
• Quel était selon eux la procédure de test la plus efficace ?
• Réponse : Tests boite noire basé sur les specs
• Réalité : lecture de code
• Malgré leur formation, leur professionnalisme et leur expertise, leurs intuitions
comme leurs pratiques se sont révélées fausses
• Cette expérience montre que la qualité du logiciel vient de sa lisibilité

© Marc LE GOC 2022 - Génie Logiciel 52/76


Un exemple vécu ...

• Depuis 1999, dans le cadre de mes travaux de recherche, je développe la


plateforme Java d'apprentissage et de modélisation automatique des processus
dynamiques à partir d'observations datées effectuées au cours du temps.
• Le corps de la méthode « durationOfListOfSequencesInSecondes » était le
suivant (8 lignes) :
• private long durationOfListOfSequencesInSecondes(Vector aVector) {
• long d=0;
• for (int idCj = 0; idCj < aVector.size(); idCj++) {
• Vector vectorOfEvents = (Vector) ((ElSequence) aVector.elementAt(idCj)).getEvents();
• d = d + durationOfListOfEvents(vectorOfEvents);
• }
• return d;
• }

© Marc LE GOC 2022 - Génie Logiciel 53/76


Le 25/07/2003, la méthode suivante (90 lignes) a
été écrite par un informaticien (AMI).

• private long durationOfListOfSequencesInSecondes(Object anObject) {


• long durationOfListOfSequences = 0;
• ElEventSequenceComposition nextSequenceOverlapping = this.getSequenceWithOlderElEvent(anElEventSequenceCompositionList);
• while (true) {
• ElEvent elEventInOfNextContinuousPeriod = (ElEvent) nextSequenceOverlapping.getEventsAsAnElEventVector().firstElement();
• ElEvent elEventOutOfNextContinuousPeriod;
• long elEventInEventTime = elEventInOfNextContinuousPeriod.getElEventTime();
• long elEventOutEventTime;
• while (true) {
• elEventOutOfNextContinuousPeriod = (ElEvent) nextSequenceOverlapping.getEventsAsAnElEventVector().lastElement();
• elEventOutEventTime = elEventOutOfNextContinuousPeriod.getElEventTime();
• nextSequenceOverlapping = this.getSequenceThatContainsExclusively(anElEventSequenceCompositionList,
elEventOutOfNextContinuousPeriod);
• if (nextSequenceOverlapping == null) {
• durationOfListOfSequences = durationOfListOfSequences + (elEventOutEventTime - elEventInEventTime);
• break;
• }
• }
• nextSequenceOverlapping = this.getSequenceWithNextElEventIn(anElEventSequenceCompositionList,elEventOutEventTime);
• if (nextSequenceOverlapping == null) {
• break;
• }
• }
• durationOfListOfSequences = durationOfListOfSequences / 1000; //divis
• return durationOfListOfSequences;
• }

© Marc LE GOC 2022 - Génie Logiciel 54/76


En 2015, suite à un bug provoqué par cette
méthode, j'ai modifié le code (18 lignes) !

• private long durationOfListOfSequencesInSecondes(Object anObject) {


• if(anElEventSequenceCompositionList == null){
• return 0;
• }
• if (anElEventSequenceCompositionList.isEmpty()) {
• return 0;
• }
• long d = 0;
• ComparatorEventTime aComparatorEventTime = new ComparatorEventTime();
• for(ElEventSequenceComposition anElEventSequenceComposition : anElEventSequenceCompositionList){
• List<ElEvent> anElEventList = anElEventSequenceComposition.getEventsAsAnElEventVector();
• int anElEventListSize = anElEventList.size();
• Collections.sort(anElEventList, aComparatorEventTime);
• ElEvent firstEvent = anElEventList.get(0);
• ElEvent lastEvent = anElEventList.get(anElEventListSize-1);
• d = d + (lastEvent.getTime() - firstEvent.getTime());
• }
• return d;
• }

© Marc LE GOC 2022 - Génie Logiciel 55/76


Le nombre d'accidents imputés aux logiciels ne cesse
de croître

• Selon Nathaniel Borenstein (1991):


• « The most likely way for the world to be destroyed, most experts agree, is by
accident.
That ’s where we come in.
We’re computer professionals.
We cause accidents. »

Nathaniel S. Borenstein est un informaticien américain né en 1957. Il est l'un des concepteurs
originaux du protocole MIME pour la mise en forme du courrier électronique Internet
multimédia et a envoyé la première pièce jointe à un courrier électronique. Source :
Wikipedia

© Marc LE GOC 2022 - Génie Logiciel 56/76


Une vieille histoire ... London Ambulance Service,
1992

• Perte d’appels, doubles affectations à partir d’appels dupliqués !


• Pb de management du développement
• Chefs de projets naïfs ou présomptueux: ils ont mis le logiciel en ligne
directement, sans période de qualification (faire tourner l’ancien et le
nouveau système en parallèle)

• Plus jamais ça ?

© Marc LE GOC 2022 - Génie Logiciel 57/76


France, 2/06/21 : Dysfonctionnement logiciel chez
Orange, 6 morts !

• Cet « incident » londonien rappèle étrangement le « dysfonctionnement logiciel


» chez Orange à l’origine des importantes difficultés pour joindre les numéros
d'urgence (15, 17, 18 et 112), le 2 juin 2021 entre 16h45 et 24h00, ce qui aurait
provoqué la mort de 6 personnes, selon le ministère de la Santé.
• Ce nombre a été confirmé par un rapport de l’Anssi, autorité nationale en matière de
sécurité et de défense des systèmes d'information, même si l’effet de causalité reste
difficile à établir.
• Mais, précise le rapport de l'Ansii, « Orange a mis près d’une heure à prendre
conscience que la panne touchait en particulier les services d’urgence, deux heures pour
en informer les autorités et près de trois heures pour mettre en place un dispositif adapté »
• Une mauvaise manipulation sur un serveur chargé de faire le lien entre le vieux
réseau téléphonique et le réseau internet moderne ayant « déclenché un bug
préexistant sur ces équipements, qui n’a jamais été observé dans le monde », selon le
responsable de l’agence de sécurité informatique,

© Marc LE GOC 2022 - Génie Logiciel 58/76


Une encore plus vieille histoire : Therac-25
(https://fr.wikipedia.org/wiki/Therac-25)

• Therac-25 était le nom d'une machine de radiothérapie à rayon X développée


conjointement par l'Énergie Atomique du Canada Limitée (EACL, Canada) et
CGR MeV (France).
• Machine contrôlée par un ordinateur PDP-11 :
• Verrouillage matériel, pas de verrouillage logiciel
• Contrôle du flux de rayon X par le logiciel

© Marc LE GOC 2022 - Génie Logiciel 59/76


Entre 1985-1987, plusieurs personnes ont été tuées par
le logiciel de contrôle du Therac-25

• Pb de gestion du projet de développement informatique par l'AECL


• Pas d'organisme indépendant pour l'évaluation du code source
• Certaines étapes liées au test du logiciel ont été négligées
• Documentation des codes d'erreur inadéquate
• Le personnel de l'AECL n'ont pas tenu compte des plaintes (ils n'y croyait pas).
• Pb de conception du logiciel
• La sécurité au niveau des flux de rayon X reposait uniquement sur le logiciel
• Réutilisation de code provenant de machine avec sécurité matérielle
• Le contrôle du flux de rayon X était effectué en boucle ouverte
• Problème de concurrence : la tâche de contrôle était en concurrence avec la tâche
de gestion de l'IHM induisant des problèmes de paramétrage
• Dépassements dans la représentation des nombres
• Logiciel écrit en assembleur
• Plus jamais ça ?
© Marc LE GOC 2022 - Génie Logiciel 60/76
Panama, 22/05/2001 : Déclaration d'un état d'urgence
radiologique par l'International Atomic Energy Agency

• cf. http://www.fda.gov/cdrh/ocd/panamaradexp.html
• 28 patients surexposés
• 8 morts
• 3/4 des 20 survivants s’attendent à de « sérieuses complications dont pour
certains une issue fatale »
• La cause est lié à l’entrée de données dans certains programmes qui calculent
de mauvaises doses de rayons

• Plus jamais ça ?

© Marc LE GOC 2022 - Génie Logiciel 61/76


France, 1987-2006 : 5 morts, 5500 personnes
surirradiées à l'Hôpital Jean-Monnet (Epinal, Vosges)

• Dès 2005, des troubles apparaissent chez des patients traités par rayons à
l'hôpital Jean-Monnet d'Épinal pour des cancers de la prostate.
• Vingt-quatre patients ont subi entre mai 2005 et août 2006 une sur-irradiation
supérieure à 20 %.
• Cinq d'entre eux sont morts.
• Les autres souffrent, pour la plupart, de rectites ou de cystites "invalidantes",
avec des douleurs "rebelles aux traitements morphiniques".
• D'autres surexpositions moins fortes, de 8 à 10 %, ont été révélées, également
pour des traitements de cancers de la prostate chez 411 patients entre 2001 et
novembre 2006.

© Marc LE GOC 2022 - Génie Logiciel 62/76


France, 1987-2006 : 5 morts, 5500 personnes
surirradiées à l'Hôpital Jean-Monnet (Epinal, Vosges)

• Entre 1987 et 2000, une erreur de calcul systématique a provoqué la diffusion


d’une surdose de rayons, entre 3,1 % et 7,1 %, chez près de 5 000 patients au
total (cf. https://fr.wikipedia.org/wiki/Affaire_des_surirradiés_de_l'hôpital_d'Epinal )
• 22 avril 2008, la ministre de la Santé Roselyne Bachelot a reconnu que 5 500
personnes traitées par radiothérapie à l'hôpital Jean-Monnet entre 1987 et
2006, avaient été victimes de sur-irradiation
• 24 ont été très fortement irradiées pendant le traitement d'un cancer de la prostate
entre mai 2004 et août 2005
• cinq sont décédées des suites des surdoses.

© Marc LE GOC 2022 - Génie Logiciel 63/76


Verdict du procès de l'affaire des surirradiés de
l'hôpital Jean-Monnet d'Épinal (24/09 au 31/10 2012)

• Les 2 praticiens sont condamnés à 4 ans de prison, dont 30 mois avec sursis
pour les praticiens, soit 18 mois ferme, 20 000€ d'amende et interdiction
d'exercer pour homicides et blessures involontaires et non assistance à
personne en danger
• Ils sont relaxés du chef d'accusation de soustraction de preuves
• Le physicien-médical (radiothérapeute) est condamné à la même peine mais
pour homicide involontaire ainsi que soustraction de preuves
• Il est relaxé du chef d'accusation de non assistance à personne en danger
• Les autres prévenus (directrice de la Ddass, directeur de l'ARS, directeur de
l'hôpital d'Épinal) ainsi que le Centre Hospitalier (personne morale) sont relaxés
du chef d'accusation de prévention de non assistance à personne en danger

© Marc LE GOC 2022 - Génie Logiciel 64/76


La ministre de la Santé, Roselyne Bachelot, a assuré
que les leçons avaient été tirées de ce drame ...

• Suite à cette affaire, la Ministre de la Santé, Roselyne Bachelot, a :


• Fait vérifier et re-paramétrer les matériels des services de radiothérapie des 180
centres en France
• Révoqué l’un des praticiens (le chef du service) et a prononcé un blâme à l’encontre
de l’autre. Cette décision a été prise après avis du conseil de discipline des praticiens
hospitaliers.
• Le physicien-médical, n'ayant pas de statut, a vu son contrat immédiatement
terminé.

• Plus jamais ça, donc ... mais jusqu'à quand ?

© Marc LE GOC 2022 - Génie Logiciel 65/76


Professeur à l'University of South Carolina Columbia, USA,
Michael N. Huhns a fait ces quelques remarques dès 1997 ...

• Programmers still produce approximately the same number of lines of


tested and debugged code per day as they did in 1975
• in spite of several « silver bullets », such as structured programming, declarative
specification, object-oriented programming, formal methods and visual languages …
• There is a legacy of approximately 50 109 lines of Cobol, representing roughly
80% of all software written since 1960.
• Software has not kept pace with the increased rate of performance for
processors, communication infrastructure, and computing industry in general
• Processor performance: +48%/year,
• Network capability: +78%/year,
• Power of programming language and tools : +11%/year
• Software productivity: +4,6%/year !

© Marc LE GOC 2022 - Génie Logiciel 66/76


Selon Michael N. Huhns, Software systems are the most
complicated artifacts people have ever attempted to construct

• They are (supposedly) guaranteed to work correctly only when errors have
been detected and removed, which is infeasible in light of the above
complexity.
• The effect of an error is unrelated to its size, i.e. a single misplaced character
out of millions can render a system useless or, worse, harmful.
• Errors will always be part of complex systems so that error-free code can at
time be a disadvantage

© Marc LE GOC 2022 - Génie Logiciel 67/76


Et Michael N. Huhns d'en déduire les nouvelles
exigences en matière de logiciel

• New applications solve specific business problem by providing a user with


seamless interaction with remote information, application, and human
resources.
• Seamless : sans heurt, en continu
• The identities of the resources to be used are mostly unknown at the time the
application is developed.
• The pattern of interaction (workflow) among the resources is a critical part of
the application, but the pattern might be unknown at the time the application
is developed and might vary over time.
• Les worklow (flux de travaux) sont modélisés, représentés par des machines à état

© Marc LE GOC 2022 - Génie Logiciel 68/76


Génie Logiciel
C01.1 : L'industrie et le logiciel

Département GII
Génie Informatique et Industriel

•Des logiciels et des homo sapiens ...


•Les logiciels sont-ils bons pour la santé ?
•La Cybernétique en guise de conclusion ...

© Marc LE GOC 2022 - Génie Logiciel 69/76


Cybernétique (1946-1953) : Science(s) de la maîtrise des
phénomènes qui régissent la nature, l’homme et les sociétés
humaines

• Cybernétique est le nom d'une science nées dans les années 1950
et morte dès les premières années 1960 par manque d'outils de Norbert Wiener
calcul (1894-1964)
et de simulation suffisamment puissant
• Et un peu aussi par suite de la mort en 1964 du mathématicien américain Norbert
Wiener (1894-1964) ...
• Malgré la brièveté de sa « vie », cette science sera le creuset où se sont
élaborées les sciences cognitives, l'intelligence artificielle, les thérapies
systémiques de l'école de Palo Alto, ou bien encore des théories biologiques de
l'auto-organisation.

© Marc LE GOC 2022 - Génie Logiciel 70/76


Wiener et notamment les fameux McCulloch
(neurologue) et Pitts (psychologue cognitiviste) !

• Wiener sera accompagné des neurophysiologistes comme Arturo Rosenblueth


(1900-1970) ou Warren McCulloch (1898-1969), le logicien Walter Pitts (1923-
1969) qui, avec McCulloch, modéliseront le neurone formel utilisé en
apprentissage automatique, le « Deep Learning » tant à la mode de nos jours,
• Et également le mathématicien John von Neumann (1903-1957), l'ingénieur Julian
Bigelow (1913-2003), le psychanalyste Lawrence Kubie (1896-1973) ou bien encore
les anthropologues Gregory Bateson (1904-1980) et Margaret Mead (1901-1978).

John von Neumann Warren Sturgis Walter Pitts


(1903-1957) McCulloch (1923-1969)
(1898-1969)
© Marc LE GOC 2022 - Génie Logiciel 71/76
Wiener et notamment les fameux McCulloch
(neurologue) et Pitts (psychologue cognitiviste) !

• Wiener sera accompagné des neurophysiologistes comme Arturo Rosenblueth


(1900-1970) ou Warren McCulloch (1898-1969), le logicien Walter Pitts (1923-
1969) qui,McCulloch
Dès 1943, avec McCulloch, modéliseront
et Pitts tentèrent le neurone
de prouver formel utilisé
qu'un programme en être
pourrait
apprentissageimplémenté
automatique,
dansle un«réseau
Deep fini
Learning » tantformels.
de neurones à la mode de nos jours,
• Mais si la machine le
Et également de mathématicien
Turing contient leurJohn
modèle
vonduNeumann
neurone artificiel, l'inverse n'est
(1903-1957), pas vrai ! Julian
l'ingénieur
Bigelow (1913-2003), le psychanalyste Lawrence Kubie (1896-1973) ou bien encore
L'article de W.S McCulloch
les anthropologues Gregory & Bateson
W. Pitts,(1904-1980)
1943, "A Logical Calculus
et Margaret Meadof the Ideas
(1901-1978).
Immanent in Nervous Activity", Bulletin of Mathematical Biophysics Vol 5, pp
115–133, est largement reconnu comme étant un apport fondamental à la théorie
des réseaux neuronaux, à la théorie des automates, à la théorie du calcul et à la
cybernétique ... ainsi qu'aux Réseaux de Neurones Artificiels (Deep Learning) !

John von Neumann Warren Sturgis Walter Pitts


(1903-1957) McCulloch (1923-1969)
(1898-1969)
© Marc LE GOC 2022 - Génie Logiciel 72/76
Encore de nos jours, la Cybernétique reste un projet ...

• La Cybernétique est une aspiration au décloisonnement des domaines de


recherche et des champs de l’activité intellectuelle pour parvenir à une meilleur
maîtrise des phénomènes qui régissent la nature, l’homme et les sociétés
humaines
• Le terme « cybernétique » vient du grec ancien « kubernêtikê », l’homme du
gouvernail, le pilote du navire
• Il désigne des principes du gouvernement qui, par une action minimale,
coordonnerait une société, sans pour autant astreindre ses membres à une totale
servitude.

© Marc LE GOC 2022 - Génie Logiciel 73/76


Hypothèse fondatrice de la Cybernétique

• L'hypothèse fondatrice de la Cybernétique est la suivante :


• Il existe des principes généraux dans la relation d’un élément au tout dont
il est un des constituants.
• La Cybernétique a pour but l'étude des principes d’organisation régissant
l’évolution d’un tout à partir du comportement désorganisé de ses parties
• Dans ce but, elle se propose d'analyser les analogies existantes entre systèmes
de combinaison de composants qui forment un tout doué d’une dynamique
propre :
• Les cellules, les organes, l’organisme
• Les neurones, le système nerveux et la psyché
• Les individus, les groupes humains et la société
• Les corps solides, les cristallins et les liquides
• etc, etc, etc ...

© Marc LE GOC 2022 - Génie Logiciel 74/76


La Cybernétique confie à l'Informatique le rôle de régulation des
transformations de la matière, de l'énergie et de l'information

Automatique
Transformation de la matière-énergie
Phénomènes, Modèles & Lois de commande

Analyse et conception des lois


d’organisation et de régulation
permettant de prédire le
Cybernétique comportement d’une structure à
partir de la connaissance du
comportement de ses composants

Informatique Intelligence Artificielle


Transformation de l ’information
Transformation de concepts
Composants, Structures de Données &
Ontologies, Méthodes de RP & Raisonnements
Algorithmes

© Marc LE GOC 2022 - Génie Logiciel 75/76


Conclusion : le logiciel est au cœur de la
cybernétique ... qui est au coeur d'industrie 4.0 !

• Le logiciel représente la loi d’organisation et de régulation d’un


assemblage de composants matériel ou non
• Le ratio coût matériel / coût logiciel tend vers 0
• Les logiciels envahissent tous les aspects de la vie 'exemple des véhicules
autonomes)
• Notion de valeur d’usage : ce n’est pas l’objet qui est acheté mais un droit à
l’utiliser (exemple du téléphone portable)
• La conception des « logiciels » naturels ou artificiels est donc au centre
de la motivation épistémologique de la science au 21 ième sciècle

© Marc LE GOC 2022 - Génie Logiciel 76/76

Vous aimerez peut-être aussi