• Aucun résultat trouvé

I.2 Génie logiciel

I.2.5 Le modèle hélicoïdal

Le modèle proposé par M. Shaw nous a permis de montrer que le développement des disciplines d’ingénierie était basé sur des interactions fortes entre la recherche et l’industrie. Pour mettre en évidence d’autres aspects de cette interaction, nous allons maintenant définir notre propre modèle que nous appellerons “modèle hélicoïdal”. Ce modèle permet de représenter à la fois l’évolution de l’industrie et l’évolution de la recherche ; mais surtout, il fait ressortir leur complémentarité. Il sera utilisé et affiné tout au long de cette thèse.

I.2.5.1 L’interaction recherche-industrie

Trois acteurs principaux sont considérés : (1) la recherche fondamentale, (2) la recherche appliquée et (3) l’industrie. La figure 8 représente ces trois acteurs comme différents niveaux manipulant des notions plus ou moins abstraites.

L’industrie a des objectifs précis ; les problèmes auxquels elle doit faire face sont spécifiques et concrets. A l’autre extrême, la recherche fondamentale se caractérise par la généralité et l’abstraction. De ce point de vue la recherche fondamentale et l’industrie s’opposent [Davi92] [Dene93]. C’est la recherche appliquée qui leur permet de communiquer ; elle joue en quelque sorte un rôle d’interface1.

Ce besoin de communication peut tout d’abord être considéré du point de vue de l’industrie. Il s’agit alors de résoudre des problèmes industriels spécifiques. Plusieurs approches sont possibles selon les acteurs et le niveau d’abstraction mis en jeu (voir lafigure 8).

• (a) Industrie. Face à un problème spécifique le plus simple est de proposer une solution ad-hoc. Cette approche est la plus courante dans l’industrie car c’est la plus directe.

• (b) Recherche appliquée. Des solutions moins directes font intervenir la recherche appliquée. Ses objectifs sont : (1) étudier les coutumes industrielles et les problèmes associés d’un point

1. La décomposition proposée est simplificatrice ; en pratique il s’agit plutôt d’un continuum. Par exemple on aurait aussi pu intégrer les sociétés de conseils s’occupant de transfert de technologie ; différents types d’industries auraient pu être distinguées : industrie de pointe, industrie lourde, etc.

de vue plus abstrait, (2) élaborer de nouvelles méthodes de production, (3) permettre la mise en place de nouvelles pratiques industrielles.

• (c) Recherche fondamentale. Si l’état des connaissances le permet il est parfois possible d’utiliser des modèles et des théories développées dans le contexte de la recherche fondamentale. Le problème est alors traité à un niveau plus abstrait1.

Ces approches ont des caractéristiques différentes. Alors que les solutions ad-hoc sont rapides, leur efficacité est incertaine. Les solutions basées sur l’utilisation de théories et de modèles sont plus sûres mais plus longues et plus coûteuse à élaborer. Il est donc nécessaire de faire un compromis entre le coût, la rapidité, l’efficacité et les risques. En fait ces approches sont complémentaires : alors que des solutions ad-hoc sont indispensables pour résoudre rapidement les problèmes, pour traiter les problèmes de fond des solutions à plus long terme sont nécessaires. Le développement de l’industrie dépend des interactions qu’elle a avec la recherche. Inversement, le développement de la recherche fondamentale peut aussi bénéficier de telles interactions. Comme le souligne M. Shaw, la plupart des sciences devraient voir l’industrie comme une source de problèmes intéressants. De même dans la plupart des sciences, les expérimentations sont nécessaires pour confirmer ou infirmer les théories.

Dans un tel contexte, l’ingéniérie se présente comme l’utilisation de principes théoriques déjà connus pour résoudre un problème industriel particulier. C’est donc en quelque sorte la répétition d’une transformation (c) mais tout en conservant les avantages des transformation de type (a).

I.2.5.2 Le cycle problème-solution

Trop souvent on est en quête de la solution. Pourtant il n’existe pas de solution définitive ; en tout cas le fait de trouver une solution n’implique pas la fin des problèmes [Broo87]. Les raisons en sont multiples :

1. A titre d’illustration, prenons le cas de la gestion de configurations (thème développé dans les chapitres suivants). A partir des années 70, l’évolution des logiciels de grande taille s’est peu à peu révélée être un problème industriel majeur. Il est devenu indispensable de gérer les multiples versions créées lors de cette évolution. Des solutions ad-hoc ont été (sont encore) utilisées dans l’industrie. Typiquement il s’agit d’organiser l’espace des fichiers en utilisant des conventions de nommage pour stocker les différentes versions, d’écrire des fichiers de commandes pour les manipuler, etc (approche (a)). Ce n’est qu’à partir des années 80 que la gestion de configurations est devenue un thème de recherche appliquée. Aujourd’hui des solutions sont disponibles et commencent à avoir un impact réel sur les pratiques industrielles (approche (b)). Par contre l’utilisation de théories et de techniques formelles est encore très limitée dans ce domaine. Autrement dit la connexion avec la recherche fondamentale n’est pas encore faite (approche (c)).

figure 8 L’interaction recherche-industrie

Elaboration de nouvelles méthodes Rationalisation Nouvelles pratiques Recherche fondamentale Recherche appliquée Industrie Modèles et théories Application et validation Abstrait / Théorique Concret / Pratique Problèmes

industriels industriellesSolutions

(a) (c) (b)

• La solution proposée peut être inadaptée, soit parce que le problème a été mal compris, soit parce qu’elle n’est pas applicable en pratique.

• L’application d’une nouvelle solution peut créer de nouveaux problèmes ou mettre à jour des problèmes déjà existants.

• Si une solution est satisfaisante, elle donnera lieu à de nouvelles applications faisant invariablement apparaître de nouveaux problèmes.

On parlera du cycle “problème-solution” pour faire référence à ce phénomène. Combiné à l’interaction recherche-industrie, on obtient le “modèle cyclique”(figure 9).

I.2.5.3 Le modèle hélicoïdal

Le modèle cyclique correspond à une vision plutôt pessimiste car il donne l’impression de “tourner en rond” plus que d’évoluer. En réalité à chaque tour des progrès sont faits. C’est ce qui assure “l’ascension” de ce processus et le rend hélicoïdal plutôt que cyclique.

Le “modèle hélicoïdal” résulte donc de l’intégration de trois dimensions : (1) La dimension circulaire correspond à la répétition des problèmes et des solutions. (2) La dimension latérale représente la communication entre recherche et industrie. (3) La dimension verticale symbolise la maturité acquise au cours du temps.

Grâce à ce modèle, on peut représenter la trajectoire d’un thème particulier en utilisant une métaphore physique.

L’industrie se focalise sur son centre d’intérêt alors que la recherche, éloignée de telles préoccupations, a beaucoup plus de recul. En fait, l’industrie est animée d’une force centripète qui l’attire invariablement vers des aspects centraux.

La distance prise par la recherche fondamentale lui laisse une plus grande liberté d’action. Elle est soumise à une force centrifuge. Ces caractéristiques se retrouvent d’ailleurs dans les clichés habituels opposant la recherche et l’industrie. Dans le monde de la recherche on a tendance à penser que “l’industrie tourne en rond” alors que dans l’industrie certains pensent que “les chercheurs planent”(figure 9).

Quant à la recherche appliquée, elle est tantôt attirée par un problème précis, tantôt par des

figure 9 Le cycle problèmes-solutions et le modèle cyclique

(b) Le modèle cyclique

Ce modèle intègre les deux dimensions. La dimension circulaire suggère qu’au fil du temps on assiste a une alternance entre problèmes et solutions. Les différents niveaux d’abstractions de la figure 8 sont représentés circulairement : l’industrie est au centre et la recherche fondamentale à la périphérie.

(a) Le cycle problèmes-solutions

L’apparition d’un problème donne normalement lieu à la recherche d’une solution. Une fois celle-ci trouvée de nouveaux problèmes apparaissent, d’autres subsistent, etc. Problèmes Solutions Cycle problèmes-solutions Interaction recherche-industrie Recherche fondamentale Recherche appliquée Industrie

aspects plus théoriques. Pour qu’elle puisse jouer son rôle d’interface, elle doit d’une part se détacher des problèmes industriels spécifiques et d’autre part sélectionner les apports de la recherche fondamentale pouvant avoir des retombées sur l’industrie. Un tel va et vient ne peut se faire qu’en dépensant de l’énergie.

Graphiquement il apparaît que la distance à parcourir entre un problème et une solution est bien plus courte dans le cas de l’industrie que dans le cas de la recherche fondamentale. Ceci s’interprète par le fait que des solutions ad-hoc sont plus simples à obtenir mais font apparaître plus rapidement des problèmes. Inversement, utiliser des techniques formelles est plus long mais permet de traiter des problèmes de fond.

I.2.5.4 Echanges inter-disciplinaires

En fait, jusqu’à maintenant nous avons supposé que l’industrie avait un seul centre d’intérêt. Si l’on prend en compte plusieurs secteurs d’activités l’espace est plus complexe(figure 11). Plus le un niveau d’abstraction est élevé, plus les centres d’intérêt semblent proches. Par exemple des activités de recherche appliquée peuvent regrouper différents secteurs d’activités. De même, des résultats de recherche fondamentale peuvent être réutilisés dans différents travaux de recherche appliquée. En fait, plus une trajectoire s’éloigne d’un centre de gravité, plus il est probable qu’elle puisse s’intégrer à une autre. Ce phénomène permet les échanges inter-disciplinaires et favorise une évolution rapide grâce à la réutilisation de connaissances1(figure 11).

1. Par exemple la conception assistée par ordinateur et la gestion bancaire sont deux secteurs d’activités industriels distincts, pourtant la modélisation des données peut être un thème de recherche commun. Les modèles de données peuvent être basés sur la théorie des ensembles, théorie pouvant elle-même être réutilisée dans d’autres contextes.

figure 10 Le modèle hélicoïdal

Evolution Problème Problème Solution Solution Abstrait Concret

(a) Vue de coté

Force centrifuge “L’industrie tourne en rond!” Force centripète “Les chercheurs planent !” (b) Vue de dessus

Comme dans les autres figures l’industrie est représentée par les cercles les plus foncés. La recherche fondamentale est en fait l’espace englobant. La figure de droite montre que les trajectoires des travaux de recherche fondamentale permettent une communication inter-disciplinaire.

I.2.5.5 Evolution dans le temps

L’espace présenté ci-dessus n’est pas statique. Tout au moins ses caractéristiques ne sont pas connues à priori : de nouveaux centres d’intérêt peuvent apparaître, les trajectoires possibles évoluent dans le temps...

Le modèle d’évolution de l’ingéniérie de M. Shaw est complémentaire : il permet de délimiter la zone d’attraction de laquelle une trajectoire ne peut s’échapper. Au cours du temps, cette zone s’agrandit progressivement et on peut donc visualiser cette enveloppe infranchissable comme un cône centré sur un sujet déterminé. Dans la phase artisanale, seules des solutions industrielles sont possibles car l’on n’est pas en mesure de se détacher des spécificités des problèmes. La maturité aidant, il devient peu à peu possible de lutter contre la force centripète et même d’atteindre un niveau où des connaissances scientifiques peuvent être réutilisées (phase d’ingéniérie). Parallèlement des connexions parfois insoupçonnées apparaissent et permettent la communication avec d’autres domaines (les cônes s’entrecroisent). Aujourd’hui, en informatique ce phénomène tend à s’amplifier. C’est sans nul doute une signe de maturité1.

Il est important de souligner que les différents processus décrits ci-dessus sont beaucoup plus lents qu’on pourrait le penser à priori. Rappelons par exemple que le développement des différentes disciplines d’ingénierie s’est fait au cours des siècles[Shaw90][Babe91]. Il n’est donc pas surprenant de constater que, même après plus de trois décennies, le terme “génie logiciel” ne soit pas adapté à la réalité industrielle.

Il est également intéressant de donner quelques idées sur le temps que peut prendre un cycle problème - solution faisant intervenir la recherche. Selon une étude réalisée sur différents cas de figure, l’ordre de grandeur d’une telle période s’exprimerait en décennies [RedwRidd85]. Plus précisément entre 15 et 20 ans seraient nécessaires pour passer de la définition claire d’un problème à une évolution conséquente des pratiques industrielles .

Documents relatifs