• Aucun résultat trouvé

Chapitre 5. Assistants Personnels de Conception

5.2 Assistants personnels de conception .1 OAC basé sur la théorie C/K/E

Un des buts ultimes de notre projet est de proposer un outil d’aide à la conceptualisation en exploitant les principes de la théorie C/K/E. Dans le chapitre précédent, nous avons vu qu’il fallait prendre en compte l’environnement E du concepteur, puisque l’outil est externe au concepteur et donc dans son environnement. Réciproquement, pourrons-nous remarquer que le concepteur est dans l’environnement de l’outil. Ayant redéfini la conception comme l’interaction et la co-évolution des espaces C, K et E, nous pouvons donc conclure qu’un outil qui va supporter l’élaboration d’un concept devrait permettre au concepteur d’utiliser ses espaces C et K le plus favorablement possible en interaction avec son environnement E et donc avec l’outil. En revanche, l’outil peut maintenir et utiliser ses propres espaces C et K. En ce qui concerne l’outil, ceci pourra être exprimé en des termes plus traditionnels : l’outil peut être créatif et apprendre.

Dans la littérature sur les outils de conception, ces deux aspects ont été pris séparément. D’un coté, des outils qui permettent des effets créatifs (par exemple, en utilisant les algorithmes génétiques, qui fonctionnent, en termes de C – K, en produisant de grandes quantités de partitions expansives à chaque cycle jusqu’à une K-validation) ont été reportés (Maher 1994 ; Gero et al. 1997). De l’autre coté, des outils qui apprennent, souvent que la représentation finale, ont été proposés (Maher et al. 1995; Maher et Pu 1997). 5.2.2 Paradigmes traditionnels pour OACs

Les systèmes OAC reportés dans la littérature (par exemple, ceux présentés dans la section 5.1) suivent l’une des deux paradigmes très dominants ; l’automatisation de la conceptualisation ou soutien de l’activité par des bases de données. Dans le premier cas, le système conçoit d'une manière autonome, indépendamment de l’environnement. Nous pouvons citer à titre d’exemple le travail de Maher (1994) où des algorithmes génétiques sont utilisés sur des représentations de concepts ou le travail de Campbell et al. (1999) où plusieurs agents interagissent pour former un concept.

Figure 5.1 Un assistant personnel de conception collaborant avec le concepteur et d'autres APCs.

Dans le deuxième cas, le soutien de l’activité par l’outil est passif comme nous pouvons constater avec (Gorti et al. 1998). Dans les deux cas, nous trouvons que la nature située du concepteur est ignorée partiellement ou totalement. Pour le premier cas, le travail est effectué indépendamment du concepteur et celui-ci peut n’intervenir qu’à la fin de la création de concept. Dans le deuxième cas, le concepteur agit sur l’outil mais il n’y a pas d’interaction véritable. Ainsi, dans les deux cas, la conversation du concepteur avec la situation de conception est limitée, ce qui, comme nous l’avons vu au paragraphe 4.2, ne favorise pas l’activité de celui-ci.

5.2.3 Enrichir la conversation du concepteur avec son environnement Idéalement, un outil devra être complémentaire au concepteur, dans le sens qu’il devra permettre d’effectuer une activité que le concepteur aura des difficultés à réaliser (comme des calculs d’amplitude important) ou amplificateur, dans le sens qu’il devra permettre au concepteur de mieux faire ce qu’il sait déjà faire (comme des actes de créativité). Dans les deux cas, l’outil devra être le catalyseur de l’action pour le concepteur.

Comment un outil peut être catalyseur de l’action? Sachant que les concepteurs s’engagent dans une conversation réflexive avec la situation pendant la conception, une voie potentielle est l’enrichissement de ce dialogue de la part de l’outil. Ceci implique une interaction accrue entre l’outil et le concepteur. Comme Edmonds et Candy (1999) précisent, le mot

« inter-action » se réfère à un processus réciproque, donc, deux entités qui agissent l’un sur l’autre et qui s’influencent. Si le mot peut évoquer un échange, il n’est pas pourtant nécessaire que la qualité de celle-ci soit identique dans les deux sens. Néanmoins, si l’outil peut jouer un rôle actif et peut intervenir dans la conversation, la qualité de l’interaction peut augmenter compte tenu de la nature située du concepteur. Une manière d’accomplir cela est de bâtir l’outil en sorte qu’il réagisse aux actions de son utilisateur et qu’il fasse des suggestions. Un tel système se rapprochera plus de la notion d’assistant que d’outil.

5.2.4 Assistants Personnels de Conception - APCs

Nous appellerons « Assistant Personnel de Conception (APC) » un agent de conception situé qui a comme fonctions principales :

• Observer l’environnement, c'est-à-dire, le travail de son utilisateur, • Soutenir l’activité de son utilisateur par des suggestions,

Pour réaliser ces fonctions, un APC coopère avec l'utilisateur et avec d’autres APCs si nécessaire ; Figure 5.1. Cette coopération est une activité bidirectionnelle où, d’une part, l’APC suggère des actions à son utilisateur, de l’autre part, observe les réactions de son utilisateur et l’environnement.

D’un point de vue général, un APC peut fournir deux types d’assistance ; assistance orienté projet et assistance orienté outil. L'assistance orienté projet consiste à des suggestions à propos de l'élaboration d’un concept. Un APC peut assister son utilisateur pendant les étapes de synthèse, d’analyse ou d’évaluation. En terme de la théorie C – K, il peut aider le partitionnement de l’espace C, l’utilisation ou l’expansion de l’espace K ou la K-validation des concepts créés. L'assistance orienté outil consiste à des suggestions sur la manipulation des outils de conception dont l'assistant est en charge tels que des différents modules d’analyse, des bases de données, d’outils de dessin ou de prototypage.

Comme le terme « assistant » suggère, nous ne concevons pas un APC comme un agent autonome, concevant indépendamment de l'environnement étant donnée un problème de départ. Plutôt, un APC assiste l'utilisateur en faisant des « suggestions » pour continuer le travail de conception. Nous

pouvons remarquer qu'une telle approche s'inscrit par définition dans une démarche constructiviste où l'APC acte comme un catalyseur pour aider le concepteur à construire un concept.

5.2.5 Modes d'assistance d'un APC

Un APC peut orchestrer ses constituants afin d'offrir deux types d'assistance : assistance orienté projet et assistance orienté outil. L'assistance orienté projet concerne les représentations externes de concepts et les actions qui peuvent être exécutées sur elles :

• Compléter ou corriger des parties de la représentation courante du concept

• Suggestion des modifications (de structures ou de fonctions) • Suggestion des interprétations alternatives

• Explications, justifications • ...

Ses actions peuvent s'inscrire dans le cadre d'analyse, d'évaluation ou de synthèse. Assistance orienté outil concerne le choix d'outils appropriés et leurs utilisations convenables : quels outils devront être employé et comment, dans quelles circonstances spécifiques :

• Activer des outils appropriés quand nécessaire (par exemple, un module de simulation ou un outil d’analyse d’éléments finis)

• Les reconfigurer d'une manière conforme à l'usage que le concepteur en fait

• Modifier leur structure (par exemple, en créant des macros pour les patternes récurrents d'utilisation)

• Instruire le concepteur sur la façon de les employer • ...

Traditionnellement, la littérature de conception s'est concentrée principalement sur l'assistance orienté projet tandis que l'assistance orienté outil a été le centre d'intérêt du champ de recherche plus général qu'est le génie logiciel. Dans le reste du chapitre, nous allons nous intéresser essentiellement à l’assistance orientée projet mais les propos tenus ne seront pas nécessairement exclusifs.

5.2.6 Concepteurs créatifs, outils qui inspirent

Un outil peut-être créatif ? Nous devons prendre un moment pour parler de la « créativité d’un outil». Birkhofer (2004) remarque que parler d’un outil d’aide à la conception à des praticiens provoque souvent des attentes peu réalistes de la part de ceux-ci (e.g. un outil facile à utiliser, qui résout des problèmes complexes avec un clique et d’une façon immédiate, qui s’intègre naturellement avec les outils existant, etc.). Nous avons constaté nous-même dans nos discussions avec des professionnels que parler d’un « outil créatif » ne fait qu’amplifier ces types d’attentes. Il vaut mieux de discuter et préciser les sens qu’on peut donner au terme créatif dans le contexte d’outils d’aide à la conception.

Le terme créatif est utilisé souvent en référence à une acte ou une idée émerveillante, surprenante et impressionnante. Remarquons que « créatif » inclut en outre un jugement du nouveauté et de l’impact de cette acte ou de cette idée vis-à-vis des systèmes de valeurs existants de la part du qualifiant. Compte tenu de l’état actuel des outils informatiques et des techniques de l’intelligence artificielle, il parait insensé d’attendre de la part d’un programme informatique la capacité d’appréhender les systèmes de valeurs et les besoins humaines et de chercher intentionnellement à produire une acte ou une idée qui sera jugé créatif ; c'est-à-dire, de faire preuve d’une créativité consciente.

Notons qu’une créativité aléatoire parait être possible, par exemple, avec les algorithmes génétiques. Les algorithmes génétiques ont été appliqués avec succès dans les problèmes de conception de forme (Hsiao et Tsai 2005). Une fois les paramètres définissant la forme générale de l’artéfact sont décidés, ce type d’approche a une efficacité phénoménale pour générer de multiples formes compatibles avec les spécifications. Cependant, l’application de cette approche dans le cadre de conceptualisation a été très limitée, même au niveau académique (e.g. (Maher 1994)). Sachant que la conceptualisation est la phase où on décide la fonction de l’artéfact (autrement dit, à quoi servira l’artéfact), ceci n’est pas surprenant.

Nous pensons que, pour les raisons que nous venons de souligner, il serait plus avisé de parler des outils qui vont promouvoir la créativité de l’utilisateur plutôt que des outils créatifs en soi. Encore une fois, cette perspective met l’accent sur l’assistance : Ce que nous pouvons attendre d’un outil, c’est qu’il ne nuit pas à la créativité de son utilisateur et même de la promouvoir. Une telle assistance peut être cherché en passant par une créativité émergente par contraste à une créativité consciente ou aléatoire. Un phénomène est émergent s’il résulte de l’interaction de plusieurs éléments sans qu’il existe un contrôle centralisé (Steels 1990). Steels (1990) suggère cette interaction fait émerger propriétés inattendues. En particulier, ceci implique qu’il n’est pas facile de prédire le résultat final du phénomène, sinon impossible, mais qu’on peut comprendre ce résultat en regardant les propriétés des éléments en interaction. Cependant, le manque de contrôle centralisé ne veut pas dire que le système va agir d’une manière chaotique; les propriétés des éléments déterminent les tendances du phénomène, même si elles ne permettent pas de prédire le résultat final.

Dans la littérature sur la conception, la créativité émergente a aussi été considérée. Par exemple, Edmonds et Candy (1999) étudient la notion d’émergence en conception et illustrent à l’aide d’une étude de cas que celle-ci peut avoir lieu par l’interaction du concepteur avec les représentations de concept. Comme nous avons vu dans la section 4.2, cette interaction est au cœur des activités de conceptions et en particulier, de l’acte de créativité. Pour cette raison, nous croyons qu’un système qui interagit avec son utilisateur par un dialogue peut provoquer une créativité par émergence. 5.2.7 Adaptation d'un APC

Comment peut un APC s’adapter ? Qu’est-ce qu’un outil peut apprendre ? L'adaptation d’un APC peut avoir deux dimensions en parallèle avec ses modes d’assistance. Il peut développer ses propres connaissances au sujet des problèmes de conception spécifiques qu'il traite ; mais également, il peut s'adapter à la manière spécifique que son utilisateur se sert d'elle.

La manière qu'un APC adapte ses connaissances sera fortement liée à la manière par laquelle il fonctionne. Un APC observe concurremment une

représentation externe d'un concept et les actions effectuées dessus, réfléchit sur ces observations et suggère des actions de conception à l'utilisateur. Ce qu'il perçoit de ses observations peut être employé pour apprendre et s’adapter. Par des observations, l’assistant peut simplement apprendre les concepts qu’il observe afin de les suggérer dans de futures occasions. Il peut aussi essayer d’apprendre l’utilité d’une suggestion étant donné un contexte. Ce genre d’adaptation peut se baser sur la réaction de l’utilisateur aux éléments suggérés. L’APC observera et interprétera les résultats des actions de l’utilisateur:

• l'utilisateur adopte-t-il les changements suggérés ou réalisés ?

• quelle est la représentation du concept qui résulte, (au cas où les changements sont acceptés par l'utilisateur) ?

• quelles actions sont exécutées par l'utilisateur et ses résultats, (au cas où les changements ne seraient pas adoptés par l'utilisateur) ?

Sur la base de ces observations, l’APC adaptera son comportement. Un percept, un concept ou une action qui est jugée utile (resp. non utile) aura plus de chance (resp. moins de chance) d'être activé dans des occasions futures semblables. En terme de la théorie C/K/E, ces deux types d’apprentissage concerne l’expansion de l’espace K de l’assistant par des opérations de K →K et E →K. Mais l’assistant peut aussi apprendre en créant des concepts lesquels il peut tenter de valider soit par ses propres moyens (K-validation), soit en les soumettant à l’utilisateur (E-validation).

Pour un APC, par contraste aux outils traditionnels de CAO, l'apprentissage n'est pas limité au stockage d'un résultat final du processus de conception (par exemple, un concept ou un prototype de conception). Il inclut également l'adaptation de la manière que l'agent performe son activité. L'importance de l’apprentissage pour un APC est double. D'abord, ceci fournit un mécanisme à l'APC pour développer les connaissances utiles à son fonctionnement et à sa propre expertise. En second lieu, la nature adaptative d'un APC permet au système de s'adapter à la manière que son utilisateur se sert d'elle. Par l'expérience, chaque concepteur apprend les fonctionnalités et les limitations de son outil et développe un style d'utilisation. Et chaque concepteur a son propre style de conception. Puisqu'un APC s'adapte en observant les actions de l'utilisateur, son comportement convergera éventuellement vers le style de

l'utilisateur. L'assistance de l'APC sera d'autant plus personnelle dans la mesure de son expérience avec l’utilisateur dans le même domaine de tâches. 5.2.8 Société d'APCs

Comme Suchman (1987) remarque les machines ont habituellement accès seulement à un sous-ensemble très limité des actions observables de leurs utilisateurs : Pour un assistant personnel de conception ce qui est observable est limité aux représentations externes de concepts et aux modifications actionnées sur elles par son utilisateur, aussi bien que la manière dont le concepteur utilise des outils desquels l'APC est responsable. Ainsi, il pourrait être avancé que cette conception est quelque peu limitée pour qu'un APC apprenne rapidement et efficacement. Une manière possible de traiter cette limitation serait d'étendre le cadre ci-dessus en permettant à un APC de communiquer également avec d'autres APCs afin d'effectuer des comparaisons. Elle peut comparer avec d'autre APCs leurs connaissances concernant leurs domaines, leurs utilisateurs respectifs et leurs configurations courantes. Basé sur les résultats de cette interaction, un APC peut évaluer ses relations de partnériat avec les autres APCs, demander ou les suggérer de l'aide.