• Aucun résultat trouvé

Principes de Génération : Réification et Traduction

d’IHM multicible

4. Principes de Génération : Réification et Traduction

On entend par génération une succession de transformations de des-criptions conduisant à des IHM multicibles exécutables. La réification et la traduction, justifiées au chapitre “De l’adaptation des IHM : ana-lyse et taxonomies” à la page 34, constituent nos deux principes de génération. En 4.1 et 4.2, nous en affinons les définitions selon les ter-mes de nos outils formels, puis en 4.3 et 4.4, nous analysons leurs effets sur la factorisation et la décoration.

4.1. LA

RÉIFICA-TION

Par définition, la réification est une transformation en chose. Dans le contexte de cette étude, la réification consiste à transformer par étapes successives une description abstraite (par exemple une description des tâches) en une interface homme-machine concrète. Chaque étape pro-duit par inférence une représentation à un niveau d'abstraction donné. Nous dirons que chaque étape définit un niveau de réification.

L'inférence s'exerce sur une description source : elle applique à celle-ci, un ensemble de règles de production qui exploite toutes connaissan-ces déjà acquises par ailleurs. Les règles de production concernent l'organisation des informations, le style d'interaction, l'ergonomie, etc. ainsi que les règles de compilation de l'application.

La figure 19 illustre le principe de réification. DmCbl, une description de m, modèle des concepts du domaine pour la cible Cbl, est réifiée en Dm+1Cbl, une nouvelle description de m+1, modèle d’IHM concrète pour Cbl.

De manière formelle, la réification se définit comme suit. Soit une description de modèle m pour la cible Cbl, avec Cbl = {Cbl1, ..., Cblp}.

77

se décompose en :

Par définition, on a : et .

Alors, la réification R de se définit ainsi :

Par exemple, la réification R sur est :

4.2. LA

TRADUC-TION

La traduction consiste en la reproduction d’informations pour une autre cible. À partir d’une description à un niveau de réification et pour une cible donnée, et d’un ensemble de règles, une description est pro-duite pour une nouvelle cible. Il n’y a pas de changement de niveau d’abstraction. Par exemple (cf. figure 20) le passage d’une l’IHM con-crète pour Macintosh à une IHM concon-crète pour PalmPilot est une opé-ration de traduction.

De manière formelle, la traduction se note comme suit :

DmCbl1 Dm+1Cbl1 Règles et connaissances b) Production d’une nouvelle description

Figure 19. Principe de la réification. Production d’une interface graphique à partir d’une description des concepts du domaine.

<info>

<zone id=”Bed room”> dataBedRoom <\zone>

<zone id=”Bathroom”> dataBathRoom <\zone>

<zone id=”Living room”> dataLivingRoom <\zone> <\info> Utilise : Réification : Dm{Pilot, Mac}

Dm{Pilot Mac, } ~ D{Pilot Mac, }

c m ~ D{Pilot Mac, } Pilot m ~ D{Pilot Mac, } Mac m =

DmPilot~Dm{Pilot Mac, } DmMac~ Dm{Pilot Mac, }

DmCbl R D( mCbl) def ~ R D( mC bli) C bli

Cbl = def ~ DmC bl+i1 C bli

Cbl = Dn{Pilot Mac, }

R D( m{Pilot Mac, })def= R D( mPilot)∪~ R D( mMac)

def

DmPilot+1~ DmMac+1

78

Soient :

Cbl = {Cbl1, ... , Cbl n}

Alors la traduction de la description dans la cible Cbli (i∈[1..n]) vers la cible Cblp (p∉[1..n]) se note comme suit :

4.3. GÉNÉRATION

ETFACTORISATION

Nous allons étudier les effets de la réification et de la traduction au regard du principe de factorisation.

Réification et factorisation

Rappelons la définition de la réification R :

Comme le montre la définition, R ne garantit pas la production d’une nouvelle description factorisable puisque l’intersection des Dm+1Cbli peut-être vide.

Si l’intersection de DmCbli est vide, nous obtenons une divergence

totale par réification. Ce type de divergence est à mettre en opposition

avec la divergence partielle qui correspond à une description possé-dant une partie commune et des parties spécifiques non vides. La diver-gence totale peut-être inévitable et révèle une limite du contrôle du versionnement.

Attention.

DmCbl1 DmCbl2

Règles et connaissances

Figure 20. Principe de la traduction. Traduction d’une interface Mac vers une interface pour Pilot.

DmCbl ~ cDCblm ~ CblDCbl 1 m ~ ~ CnlDCbl n m = TC bl iC blp Dm Cbl ( )def TC bl p(DmC bli)~ ~ DmC blj C blj

Cbl = def DmC blp ~ ~ DmC blj C blj

Cbl = R D( mCbl) def ~ R D( mC bli) C bli

Cbl = def ~ DmC bl+i1 C bli

Cbl = , { } { , } ~ { , } ~ { , }

79

Comme le montre l’expression ci-dessus, la réification d’une descrip-tion n’est pas peudo-égale à la réificadescrip-tion de la partie commune jointe aux réifications des parties spécifiques. La réification de la partie com-mune est dépendante de toute la description (y compris les parties spé-cifiques). Il en va de même pour la réification de la partie spécifique. Traduction et

factorisation

Rappelons la définition de la traduction :

L’application d’une traduction conduit aux deux situations suivantes : 1. Si , alors la partie commune et les parties

spécifi-ques ne changent pas lors de la traduction (cf. figure 21, cas 1) 2. Si , alors la partie commune diminue tandis que

les parties spécifiques augmentent (cf. figure 21 cas 2).

4.4. GÉNÉRATION

ETDÉCORATIONS

Dans le cas d’une décoration corrective, la réification et la traduction ne posent pas de problème. Elles se font sur la description après inter-prétation de toutes les décorations correctives.

Pour les décorations de factorisation ou les corrections directives, nous nous ramenons aux points énoncées aux pages 73 et 74. Une décoration directive peut aboutir à un énoncé surcontraint et une décoration de factorisation pose le problème, que nous laissons ouvert, de sa consommation/propagation.

Dans la section qui suit nous montrons comment notre notion de des-cription multicible, nos principes de modélisation (factorisation et décorations) et nos principes de génération (réification et traduction)

TC bl iC blp Dm Cbl ( )def TC bl p DmC bli ( )~ ~ DmC blj C blj

Cbl = def DmC blp ~ ~ DmC blj C blj

Cbl = D{Cbl} c m cD{mCbl, Cblp} D{Cbl} c m / Dc {mCbl, Cblp}

Partie spécifique Partie commune Traduction Traduction

Cas 1 : pas d’influence sur le reste de la description

Cas 2 : modification de la parie commune et donc des autres parties

spécifiques

Figure 21. Application du principe de traduction sur une description factorisée.

Description initiale

80

coopèrent en un cadre cohérent servant la production d’IHM multici-ble.

5. Cadre de référence pour la production