1. Adaptation des IHM
Travaux de recherche
Anne-Marie Dery - Année 2015 2016Parcours IHM Polytech’Nice Sophia
2. Prérequis pour le cours
• Connaitre les principes de l’IDM (cours de Mireille Blay)
• Connaitre la définition de l’adaptation et du contexte d’usage
• Connaître la notion d’arbre de tâches (cours de CEIHM)
• Connaître la notion de composants
• Connaitre la notion d’ontologies
3. Rappel de l’Espace problème
• Domaine de l’adaptation au contexte d’usage
Env ironneme nt
Pl ate-forme
Ut ilisate ur
Seuil de plasticité
Domaine de plasticité
C2
Contexte non couvert
C1 Contexte couvert par l’IHM
4. Adaptation pour qui et quand ?
2 cas
A la conception – faciliter la vie du développeur
Réutiliser un maximum pour chaque nouvelle cible
Diminuer le coût de développement
Prendre en compte l’usage (exemple Jeux vidéos -Shiva)
A l’exécution – faciliter la vie de l’utilisateur final
Faire migrer une application d’un support à un autre
Faire migrer des taches d’un support à un autre
Conserver les facilités l’usage et les habitudes tout en profitant des spécificités des supports
5. Premières Approches à la conception
XML
XSL
HTML
VoiceML
WML Au centre une description
XMLisée
basées sur des Traducteurs
Un langage commun
Une génération de code
Des techniques de compilation
Limites et Avantages ?
6. Premières Approche à l’exécution
• Problème traité : Migration totale
• Exemple
• SI la batterie du PC faiblit ALORS passer sur PDA
SI condition ALORS action
Action Réaction
Ecrire une machine à états
Limites et Avantages ?
7. Capture du
contexte
Identification
Des solutions
candidates
Selection d’une
solution
candidate
Détection de
changement de
contexte
Identification du
changement de
contexte
Exécution du
prologue
Execution de la
reaction
Execution de
L’épilogue
Cadre de référence : phase “exécution”
8. • Identifier le problème = Quel est le besoin en plasticité
• Conception et/ou exécution ?
• Quels dispositifs visés ?
• Quel(s) environnent(s) ?
• Quel(s) utilisateur(s) ?
• Etudier l’existant
• Quelles sont les technologies adaptées ?
• De quels travaux de recherche peut-on s’inspirer ?
Proposer une solution
• Solution partielle ou complète
• Solution ad-hoc ou modèle
Démarche
9. Petit rappel : plasticité au travers d’un espace
problème
Work-space
UI
Design-Knowledge
Reaction
Context
Multimodal
Inter-modal
Intra-modal
User
Platform
Static
Granularity
Modality
Adaptation type
Context
of use
Learning
Dynamic
Environment
Interactor
10. Modèles de tâches
Les modèles de tâches sont des descriptions logiques des activités à
réaliser pour atteindre les objectifs des utilisateurs
Utiles pour concevoir, analyser et évaluer les applications logicielles
interactives
Les modèles de tâches décrivent comment les activités peuvent être
réalisées pour atteindre les objectifs des utilisateurs lors de
l’interaction avec l’application considérée.
11. Analyse et Modélisation de la tâche
formalisme type HTA
(Hierarchical Task Analysis) :
Ordonnancement des tâches
UAN (User Action Notation)
CTT (ConcurTaskTrees) = HTA
+ opérateurs temporels +
ajout d’annotations sur les
tâches
14. Quand les chercheurs s’en
mêlent…
CAMELEON : le cadre de référence
Projet ServFace : Travaux de Pise
Travaux sur UsiXML : Valenciennes , Louvain, Grenoble
Travaux Rainbow : Construction d’IHM par composition
15. Où trouver les informations
Equipe IIHM Laboratoire IMAG à Grenoble
Gaelle Calvary & Joelle Coutaz http://iihm.imag.fr/publication/
Equipe RAINBOW Laboratoire I3S à Sophia Antipolis
Michel Riveill & Philippe Renevier & Audrey Occello & Anne Marie
Dery http://proton.unice.fr/biblio/displayReference.php?team=0&&export=teamHtml&&idKe
yWord1=1
Laboratoire HIIS à l’université de Pise
Fabio Paterno http://hiis.isti.cnr.it/publications.php
Laboratoire CHI Université catholique de Louvain
Jean Vanderdonckt http://uclouvain.academia.edu/JeanVanderdonckt/Papers
Equipe IHM au Université de Valencienne
Anas Hariri & Sophie Lepreux & Christophe Kolski
http://www.univ-valenciennes.fr/LAMIH-
intra/site/commun/_gestion/publis/recherche/resultat.php?id_perso=97&langue=lang_fr
16. Un cadre de référence
CAMELEON
Cameleon
Context Aware Modelling for
Enabling and Leveraging Effective
interaction
http://giove.isti.cnr.it/projects/cameleon.html
(IST R&D 2001-2004)
17. Equipes et travaux en présence
http://giove.isti.cnr.it/projects/cameleon.html
• I.S.T.I (Pisa, Italy)
• Université Catholique de Louvain (Louvain, Belgium)
• Université Joseph Fourier (Grenoble, France)
http://giove.isti.cnr.it/projects/cameleon/external_publications.html
http://iihm.imag.fr/publication/C10a/ User Interface Plasticity: Model Driven
Engineering to the Limit!
http://iihm.imag.fr/publication/BDB+04a/ CAMELEON-RT: a Software
Architecture Reference Model for Distributed, Migratable, and Plastic User
Interfaces
18. Phase de “conception”
Config 1 Modèle
Tâches et
Concepts
IHM
concrète
IHM finale
IHM
abstraite
Modèle
Tâches et
Concepts
Modèles archétypes
Config 2
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM
concrète
IHM finale
IHM
abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
Domaine
Concepts
Tâches
Contexte
User
Plate-forme
Environment
Adaptation
Evolution
Transition
Modèles ontologiques
ARTStudio
D. Thevenin
Réification, Factorisation, Traduction, Abstraction
/ Reconception, Crossing, Intervention Humaine
Spécifier 1 fois -> N Interfaces
approche par modèles
19. Modélisation de la configuration
Domaine
Concepts
Tâches
Contexte
User
Plate-forme
Environment
Adaptation
Evolution
Transition
Modèles ontologiques
Adaptation dynamique
utilisateur
contexte d’usage
24. Phase de “conception”
Config 1 Modèle
Tâches et
Concepts
IHM
concrète
IHM finale
IHM
abstraite
Modèle
Tâches et
Concepts
Config 2
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM
concrète
IHM finale
IHM
abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
CONFIGURATION 1 CONFIGURATION 2
25. Phase de “conception”
Config 1 Modèle
Tâches et
Concepts
IHM
concrète
IHM finale
IHM
abstraite
Modèle
Tâches et
Concepts
Config 2
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM
concrète
IHM finale
IHM
abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
CONFIGURATION 1 CONFIGURATION 2
26. Phase de “conception”
Config 1 Modèle
Tâches et
Concepts
IHM
concrète
IHM finale
IHM
abstraite
Modèle
Tâches et
Concepts
Config 2
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM
concrète
IHM finale
IHM
abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
CONFIGURATION 1 CONFIGURATION 2
27. Phase de “conception”
Config 1 Modèle
Tâches et
Concepts
IHM
concrète
IHM finale
IHM
abstraite
Modèle
Tâches et
Concepts
Modèles archétypes
Config 2
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM
concrète
IHM finale
IHM
abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
Domaine
Concepts
Tâches
Contexte
User
Plate-forme
Environment
Adaptation
Evolution
Transition
Modèles ontologiques
ARTStudio
D. Thevenin
Réification, Factorisation, Traduction, Abstraction
/ Reconception, Crossing, Intervention Humaine
Spécifier 1 fois -> N Interfaces
approche par modèles
29. Vue d’ensemble
+Annotations de services avec des éléments d’interfaces
+Composition de services
+Génération de l’interface du service « composite » à
partir des annotations
+2 approches:
+1ière approche : composition visuelle des services
+2ième approche : composition dirigée par les tâches
Equipe de Fabio Paterno :
http://hiis.isti.cnr.it/publications.php
32. 1ière approche: Composition Visuelle
[Nestler et al., 2009]
[Feldmann et al., 2009]
Services
(WSDL)
Services
Annotés
Auto-génération d’annotations
+ Annotations par
un “Expert”
Génération de
l’interface “abstraite”
Transformations:
1) M2M
2) M2C
Interface Finale
Service Annotator
Service Composer
MARIA
34. 2ième approche: Dirigée par les tâches
8/15
[Feldmann et al., 2009]
[Janeiro, 2009]
Transformations:
1) M2M
2) M2C
Interface Finale
Services
Génération d’annotations
(IHM + tâches)
+ A partir des opérations du service
+ Une opération = une “tâche annotée”
+ Une “tâche annotée” = une tâche système
Génération des tâches intéractives
+ Chaque tâche d’interaction = une fenêtre (par défaut)
+ Intervention du développeur : enlever les doublons
Génération de
l’interface “abstraite”
MARIA
36. Projet Européen UsiXML
Définir, valider et standardiser un langage de description d'interfaces
utilisateur (UIDL) pour améliorer la productivité, la réutilisabilité et
l'accessibilité d'applications interactives
Un langage pour tous les acteurs de la constructions d’IHM
basé sur des niveaux d’expressivité et des outils différents
USer Interface eXtensible Markup Language
Le consortium 7 pays, 28 organisations : PME,
grandes entreprises -Thalès France, Telefonica -, des universités et
centres de recherche.
www.usixml.org
programme ITEA2
37. UsiXML
UsiXML USer Interface eXtensible Markup Language)
XML pour applications interactives
UsiXML pour des non développeurs : analystes, concepteurs,
designers, ergonomes, chefs de projet, novices,...
UsiXML : élément principal User Interface Description Language (UIDL),
langage déclaratif décrivant les UI indépendament des caractéristiques physiques.
www.usixml.org
38. UsiXML
•UsiXML indépendant device, plateforme et
modalités
•UsiXML abstraction des éléments de base : widgets,
controls, containers, modalités, techniques
d’interaction, ....
•UsiXML reutilisation d’UI existantes dans un nouveau
contexte par composition
www.usixml.org
40. Zoom sur les travaux à Valenciennes
Sophie Lepreux
15 novembre 2013
41. Post-doc au sein du laboratoire BCHI à Louvain-la-neuve dirigé par Jean
Vanderdonckt
•Composition d’interfaces utilisateurs
(en résumé)
• basée sur UsiXML = langage de description d’interface
Utilisateur (UIDL) basé sur XML
• Centrée sur la couche de l’interface concrète = spécifique à
la modalité graphique
• Sur la base d’opérateurs inspirés de la théorie des
ensembles
• Utilisant l’algèbre des arbres [Jagadish et al.] pour modéliser les
opérateurs de composition
• Développement et tests effectués « à la conception» :
ComposiXML plug-in de GraphiXML outil de conception
d’interface concrète
48. L’opérateur « fusion »
Fusion(
, )=
algorithm:
The two trees T1 and T2 are merge at the %level R+1 to form the T3 window.
IF (direction = vertical)
Then Add box (vertical B’)
%Modify the window size:
T3.height = T1.height + T2.height
T3.width = T1.width
IF (direction = horizontal)
Then Add box (horizontal B’).
%Modify the window size:
T3.height = T1.height
T3.width = T1.width + T2.width
Add T1(R+1) in box B’, Add T2(R+1) in box B’.
49. ComposiXML
• Développé par Benjamin Michotte (BCHI)
intersection
Unique Union
Normal Union
Fusion
Difference
(right)
Difference
(left)
Equivalence
set selection Cut or extract
projection
50. Composition au niveau AUI
Task & Concepts
Abstract UI
Concrete UI
Final UI
Task & Concepts
Abstract UI
Concrete UI
Final UI
Source platform Target platform
Task & Concepts
Abstract UI
Concrete UI
Final UI
Task & Concepts
Abstract UI
Concrete UI
Final UI
Source platform Target platform
textInput button button
Window
AIC
facet=control
AIC
facet=control
AIC
facet=control
AbstractIndividual
Container
textInput button button
Window
AIC
facet=control
AIC
facet=control
AIC
facet=control
AbstractIndividual
Container
Source = < User, Platform,
Environment >
Target = < User, Platform,
Environment >
LEPREUX S., HARIRI M-A., ROUILLARD J., TABARY D., TARBY J-C., KOLSKI C. (2007) « Towards Multimodal
User Interface Composition based on UsiXML and MBD principles ». Proc. of 12th International
Conference on Human-Computer Interaction HCI International'2007, Beijing, 22-27 July 2007.
51. Order a pizza
AUI01: Choose a pizza
Choose
size
Choose
toppings
Choose
vegetable
Choose
meat
AUI02: Give delivering
address
Give
name
Give
phone
Give
address
Choose
quantity
Composition au niveau AUI
AUI Model
AbstractContainer AUI0
AbstractContainer AUI03 AbstractContainer AUI02R2
AIC AIC AIC AIC AIC AIC AIC
AIC = AbstractIndividualComponent
The AUI model has been realized with IdealXML
(www.usixml.org)
<auimodel>
<abstractContainer id="idaio00" name="Order a pizza">
<abstractContainer id="idaio01" name="idaio01">
<abstractIndividualComponent id="idaio02"
name="Choose quantity">
</abstractIndividualComponent>
<abstractIndividualComponent id="idaio03"
name="Choose size">
</abstractIndividualComponent>
…
<abstractIndividualComponent id="idaio06"
name="[Choose meat]">
</abstractIndividualComponent>
</abstractContainer>
<abstractContainer id="idaio07" name="idaio07">
<abstractIndividualComponent id="idaio08"
name="Give name">
</abstractIndividualComponent>
…
</abstractContainer>
</abstractContainer>
</auimodel>
Equivalence in tree
representation
52. Case study
• The first existing application is ordering pizza.
• the task “Choose a pizza” is multimodal (cf. CUI
model and FUI (XHTML+VoiceXML))
• The task “Give delivering address” can not be
multimodal (and does not exist).
<outputText id="Ask_for_pizza_quantity"
name="Ask_for_pizza_quantity" defaultContent="Quantity:"/>
<inputText id="pizzaQuantity" name="quantity"
defaultContent="1"
voice_prompt="How many pizzas would you like?"
voice_event_help="Say a number between one and twenty."
voice_event_nomatch="Sorry I did not understand you."
voice_event_noinput="You have to pronounce a quantity of
pizza."/>
<voice_quantity:grammar>
<![CDATA[
#JSGF V1.0;
grammar pizza_quantity;
public <quantity> = 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
;
]]>
</voice_quantity:grammar>
</inputText>
<outputText id="Ask_for_pizza_size" name="Ask_for_pizza_size"
defaultContent="Size:"/>
<group voice_prompt="What size would you like?">
<radioButton id="radiobuttonSize1"
name="radiobuttonSize" defaultContent="small" />
<radioButton id="radiobuttonSize2"
name="radiobuttonSize" defaultContent="medium"/>
<radioButton id="radiobuttonSize3"
name="radiobuttonSize" defaultContent="large"/>
<voice_quantity:grammar>
<![CDATA[
#JSGF V1.0;
grammar pizza_size;
public <size> = small | medium | large ;
]]>
</voice_quantity:grammar>
</group>
Order a pizza
AUI01: Choose a pizza
Choose
size
Choose
toppings
Choose
vegetable
Choose
meat
AUI02: Give delivering
address
Give
name
Give
phone
Give
address
Choose
quantity
CUI
AUI
FUI
53. Case study
• The second existing application is to order
Chinese food.
• the task “Choose Meal” is GUI (cf. CUI model
and FUI (realized with GrafiXML)
• The task “Give delivering address” exists.
CUI
AUI
FUI
<cuiModel id="ChineseFood-cui_12" name="ChineseFood-cui">
<window id="window_component_0" name="window_component_0"
defaultContent="Chinese Food Order" width="263" height="491">
<gridBagBox id="grid_bag_box_1" name="grid_bag_box_1"
gridHeight="24" gridWidth="13">
<outputText id="output_text_component_2"
name="output_text_component_2"
defaultContent="APPETIZER :"/>
<checkBox id="checkbox_component_3"
name="checkbox_component_3"
defaultContent="Small Fried Shrimp"/>
<checkBox id="checkbox_component_4"
name="checkbox_component_4"
defaultContent="Nicky's Egg Roll"/>
<checkBox id="checkbox_component_5"
name="checkbox_component_5"
defaultContent="Fried Popcorn Shrimp"/>
<outputText id="output_text_component_6"
name="output_text_component_6"
defaultContent="STARTER :" isVisible="true"/>
<radioButton id="radiobutton_component_7"
name="radiobutton_component_7"
defaultContent="Seaweed Soup" isVisible="true"/>
<radioButton id="radiobutton_component_9"
name="radiobutton_component_9"
defaultContent="Hot and Sour Soup"/>
…
<button id="button_component_22"
name="button_component_22"
defaultContent="Cancel" isVisible="true"/>
<button id="button_component_23"
name="button_component_23"
defaultContent="Order" isVisible="true"/>
</gridBagBox>
</window>
</cuiModel>
54. Case study
• Goals:
• multimodal application allowing to order Chinese food or
pizza,
• reuse the “give delivering address” task from the Chinese
food ordering applicationAUI
AUI0: Order food
AUI0’: Choose food
AUI03: Choose meal
AUI02: Give
delivering
address
AUI01: Choose a pizza
Give
name
Give
phone
Give
address
[Choose
Appetizer]
[Choose
Starter]
choose
soup
Choose
rice
Choose
Quantity
Choose
Size
Choose
toppings
[Choose
Vegetable]
[Choose
Meat]
FUI
55. Composition au niveau des tâches
Task & Concepts
Abstract UI
Concrete UI
Final UI
Task & Concepts
Abstract UI
Concrete UI
Final UI
Source platform Target platform
Task & Concepts
Abstract UI
Concrete UI
Final UI
Task & Concepts
Abstract UI
Concrete UI
Final UI
Source platform Target platform
textInput button button
Window
AIC
facet=control
AIC
facet=control
AIC
facet=control
AbstractIndividual
Container
textInput button button
Window
AIC
facet=control
AIC
facet=control
AIC
facet=control
AbstractIndividual
Container
Source = < User, Platform,
Environment >
Target = < User, Platform,
Environment >
LEWANDOWSKI A., LEPREUX S., BOURGUIN G. (2007). Tasks models merging for high-level component
composition. J. Jacko (Ed.), Human-Computer Interaction, Part I, HCII 2007, Lecture Notes in Computer
Science (LNCS) 4550, Springer-Verlag, pp. 1129-1138, juillet
56. Composition au niveau des tâches
• Travaux de Gregory Bourguin et Arnaud Lewandowski
(Laboratoire d’informatique du littoral) et Jean-Claude Tarby
(LIFL) :
• Les arbres de tâches sont intégrés à chaque composant métier.
• La composition de composant métier => composition d’arbres de tâches
• => Toujours une notation avec structure arbres
57. Composition au niveau des tâches
• Illustration :
• 2 composants chat et tableau blanc possédant des tâches « similaires ».
58. Composition au niveau des tâches
• Illustration suite :
• Résultat de la composition (fusion).
61. Equipes et travaux en présence
Equipe Rainbow
Anne-Marie Pinna-Dery and Jérémy Fierstone. Component model and
programming : a first step to manage Human Computer Interaction
Adaptation. In Mobile HCI’03, volume LNCS 2795, pages 456–460, Udine,
Italy, September 2003. L. Chittaro (Ed.), Springer Verlag.
62. Problématique
• Applications évolutives et adaptables
• accessibles via un PDA, un portable ou une station
• variabilité des fonctionnalités selon le contexte d'utilisation
(mode dégradé, connecté ou déconnecté, dépendance des ressources…)
• Applications construites à base de composants (composants métiers,
composants d’IHM, composants services…)
S’appuyer sur les infrastructures systèmes (RMI, EJB, …)
Fournir une plate-forme à composants
Exemples :
• Agenda collaboratif
• Gestion commerciale (facturations, commandes, client, fournisseur)
65. Proposition :
modèle de composants et abstraction
• La communication entre composants
IHM et métier est exprimée par des
interactions
• Un langage abstrait de description
structurelle des IHMs : SUNML dans
la lignée de XForms, RIML,... (inspiré
de UIML)
• Composition de composants métiers
par interactions
• Règles de composition adaptées aux
IHMs
• Fusion de règles vérifiant la
cohérence de la composition
• Atelier de composition : Amusing
Réutiliser
des composants métiers
Composer les
IHMs des
composants
métiers
Un modèle de composant + ISL + SUNML
Un modèle de composants qui découple composant métier et composants d ’IHM.
Spécification d ’ IHM
indépendantes du support
67. Exemple de Liste de Clients
<sunml>
<interface id="ListeClients">
<structure>
<dialog id="MainDialog" sequence="true">
<list id="ListeClients" reference="FicheClient"
select="Field[FieldNom]"/>
</list>
</structure>
</interface>
</sunml>
Fichier SUNML (spécification)
Exemple en Swing
Composition Représentant – Client (1-n) : Liste de clients
68. De l’IHM abstraite vers l’IHM concrète
Séparation du composant d’IHM du composant métier
Expression des communications possibles entre ces composants avec
ISL
Adaptation des composants suivant le contexte d’exécution
durand
FicheClient
IHM concrète
IHM abstraite
Composant métier
JFrame1
Légende
Instance
interaction
Controleur
71. Un modèle inspiré d’Arche pour les services
Proposer un modèle d’architecture
pour un service interactif
N services fonctionnels et leurs interactions utilisateurs : comment
fusionner le tout ?
Services
Fonctionnel
Services
D’interaction
AdaptorAdaptor
Dialogue
72. Quid des assemblages
Comment fusionner 2 services respectant l’architecture?
Composition d’arches ?
Assemblage des services
fonctionnels
Quid des dialogues ?
Expression et fusion
Quid des IHM?
Expression et fusion
73. Travaux de références pour le domaine utilisateur
Travaux composants (Fractal, SOA, Noah, WCOMP MODEL)
Gestion de la dynamique de l’application (apparition et
disparition de composants et de services)
Expression des assemblages (orchestration, règles isl,
langages d’aspects…)
Sureté des assemblages
Travaux sur l’IDM
Modèles et transformation de modèles
Fusion de modèles
Travaux en IHMs
Plasticité des interfaces
Expression de modèles pour l’IHM (taches, dialogues…)
74. Nos spécificités
Etre centré sur le dialogue : relation « fonctionnel et IHM »
Déterminer le bon modèle de dialogue et avoir une architecture
N-Arches
Etre indépendant plateforme : s’appuyer sur un modèle
Etre indépendant dispositifs : s’appuyer sur les modèles d’IHM
pour la plasticité
Faire collaborer des modèles et pouvoir les changer
Assurer la dynamique de l’application : assembler à tous les niveaux
Déduire au maximum les assemblages
Trouver le bon niveau d’IHM abstrait
75. Adapter l’interface à l’évolution du système
déduction
Assemblage de services
(Orchestrations, fusion
d’aspects, composants
hiérarchiques)
Assemblage d’IHMs
(Utilisation d’IHMs abstraites,
Puis projection sur devices)
Intervention
Si conflits
S’adresse au développeur
76. Adapter l’interface aux besoins utilisateurs
2 utilisateurs : le développeur ou
l’utilisateur final
Choix des services organisation de
l’IHM
Choix des devices
Dialogue
Device Device
IS Service
Marks Service
IS Service
WebCal Service
IS Service
WebCal Service
78. MPI
Points communs aux adaptations visées
Conception Exécution
Noyau Fonctionnel
IHM
Evolution Noyau Fonctionnel Apparition, disparition de services
Nouvelles Utilisations Préférences, Contexte d’utilisation …
Adaptation
Adaptation
M IHM
Un langage abstrait orienté composition : SUNML
Un composant d’IHM : représentation fractal
Un modèle de dialogue et un modèle de plateforme
Une collaboration entre les modèles