m.e.d.a.l. module denseignement à distance pour larchitecture logicielle alain vailly diapositive...

Post on 03-Apr-2015

118 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

M.E.D.A.L.M.E.D.A.L.

Module d’Enseignement à Distance pour Module d’Enseignement à Distance pour l’Architecture Logiciellel’Architecture Logicielle

Alain VAILLYDiapositive n° 1 IUP MIAGE - Université de NANTES

IUP-MIAGE 3ème année

Le paraphrasage des modèles

Alain VAILLYDiapositive n° 2

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

• La modélisation de logiciel est assurée par les informaticiens et, plus précisément, par la « caste » des architectes logiciels.

• Elle est plus rarement effectuée par les utilisateurs eux-même.

• Elle l’est aussi de temps en temps par les développeurs.

Programmation Programmation « agile »« agile »

« bidouille » ACCESS« bidouille » ACCESS

Alain VAILLYDiapositive n° 3

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Le principal problème rencontré à ce niveau est celui du contrôle du modèle. Il y en a (au moins) deux sortes :

- vérification

- validation

Am I building the product right?

Am I building the right product?

assurée par l’informaticienassurée par l’informaticien

assurée par le client

Alain VAILLYDiapositive n° 4

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Les modèles sont de plus en plus complexes. La validation par le client est de plus en plus difficile.

Comment faire pour assister le

client ? Une réponse peut être trouvée dans le paraphrasage

Alain VAILLYDiapositive n° 5

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cahier des chargesAnalyse par le

client expérimenté

Validation

Non validation(ou)

(et)

Reformulation

par l’expert

Spécification satisfaisante

Analyse

par l’expert

Spécification

Spécification non satisfaisante

(ou)(et)

Alain VAILLYDiapositive n° 6

1) Introduction

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Cahier des charges

Analyse par

le client novice

Validation Non validation

(ou)

(et)

Reformulation

par l’expert

Spécification satisfaisante

Analyse

par l’expert

Spécification

Spécification non satisfaisante

(ou)(et)

Reformulation

par l’outil

Texte

Alain VAILLYDiapositive n° 7

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

MCD (MERISE)MCD (MERISE)

TARIF

code-tarif

RUBRIQUE2

nom-rubrique2

PAYS

nom-pays

TIMBRE

[description]couleurs[image]

année-émission[valeur-faciale]

[dentelure]

numéro-stock

RUBRIQUE1

nom-rubrique1

CATALOGUE

nom-catalogueéditeur

EST-REFERENCE-DANS

EST-INCLUSE-DANS

EST-EMIS-PAR

COUTE

prix

numéro-timbre

1, n

1, n1, n

1, 1

1, n

1, n

1, n

1, 1 1, n

Alain VAILLYDiapositive n° 8

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

DET (UML)DET (UML)

Alain VAILLYDiapositive n° 9

2) Exemples de modèles

IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

Machine (B)Machine (B)

MACHINE

Inscription

SETS ETUDIANT; NUMERO; NOM; MATIERE; NOMMATIERE

VARIABLES

étudiant, numéro, nom, matière, nomMatière, étudier

INVARIANT

étudiant ETUDIANT

matière MATIERE numéro étudiant NUMERO

nom étudiant NOM

nomMatière matière NOMMATIERE étudier étudiant matière

END

Alain VAILLYDiapositive n° 10 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un timbre est décrit par un nom, une ou plusieurs couleurs, une dentelure, un, deux ou trois prix. Il est distingué des autres par un numéro. Il est toujours

émis par un et un seul pays.

modélisation traduction

Paraphraser quelque chose, c’est l’exprimer autrement. Appliquée à un MCD, cette technique va consister à remplacer le schéma par un texte supposé équivalent. Il est recommandé d’appliquer un algorithme pour

cette récriture, faute de quoi les éventuelles erreurs de conception perdureront.

modélisation X

Alain VAILLYDiapositive n° 11 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un timbre est décrit par un nom, une ou plusieurs couleurs, une dentelure, un, deux ou trois prix. Il est distingué des autres par un numéro. Il est toujours

émis par un et un seul pays.

modélisation

(écriture)traduction

A défaut d’outil de paraphrasage, il peut être nécessaire de recourir à un traducteur « extérieur », pour mettre en place un fonctionnement de type lecteur-rédacteur de la

méthode SADT.

modélisation X

X

interprétation

(lecture)traduction

n° 2

n° 1

Alain VAILLYDiapositive n° 12 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « NOM » est décrit par « Propriété 1 », « Propriété 2 »… et

« Propriété N ». Chaque « NOM » est distingué des

autres grâce à « identifiant ».

NOM

identifiantPropriété 1Propriété 2

…Propriété N

CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

Tout CLIENT est décrit par un nom-client, une adresse-règlement et une

date-entrée. Chaque CLIENT est distingué des autres grâce au

numéro-client.

Alain VAILLYDiapositive n° 13 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « A » « VERBE » un et seul « B ».

EST-PASSEE-PAR

-, n

1, 1CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

COMMANDE

numéro-commandedate-commande

Toute COMMANDE EST-PASSEE-

PAR un et un seul CLIENT.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

1, 1

Alain VAILLYDiapositive n° 14 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un « A » « VERBE » un et seul « B ». Il peut ne pas le faire.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

0, 1

EST-PASSEE-PAR

-, n

0, 1CLIENT

numéro-clientnom-client

adresse-règlementdate-entrée

COMMANDE

numéro-commandedate-commande

Une COMMANDE EST-PASSEE-

PAR un et un seul CLIENT. Elle

peut ne pas l’être.

Alain VAILLYDiapositive n° 15 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Un « A » « VERBE » un ou plusieurs « B ». Il peut ne pas le faire.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

0, n Un TIMBRE EST-COMPRIS dans une ou

plusieurs COMMANDES. Il peut

ne pas l’être.

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande

Alain VAILLYDiapositive n° 16 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « A » « VERBE » un ou

plusieurs « B ».

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

1, n Tout TIMBRE EST-COMPRIS dans une ou

plusieurs COMMANDES.

COMPREND

qté-cd

1, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande

Alain VAILLYDiapositive n° 17 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Une association, c’est aussi, quelque part, une entité.

Elle peut avoir des propriétés. Ceci doit donc

également être traduit.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Une association correspond en fait à deux fonctions sémantiques (une dans

chaque sens). Il y a donc deux interprétations.

interprétation n° 1

interprétation n° 2

interprétation n° 3

Alain VAILLYDiapositive n° 18 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Une association, c’est aussi, quelque part, une entité.

Elle peut avoir des propriétés. Ceci doit donc

également être traduit.

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Pour traduire, il faut transformer le verbe en un mot. Cette technique, bien

connue en politique, s’appelle la nominalisationnominalisation.

interprétation n° 1

interprétation n° 2

interprétation n° 3

langue de boislangue de bois

Alain VAILLYDiapositive n° 19 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout « nominalisation (VERBE) » est décrit par « infoX » et « InfoY ».

Chaque « nominalisation (VERBE) » est distingué

des autres grâce à (« identifiantA », « identifiantB »).

A

identifiantPropriété 1Propriété 2

…Propriété N

B

identifiantPropriété 1Propriété 2

…Propriété N

VERBE

infoY

infoX

x, y

z, t

Pour traduire, il faut transformer le verbe en un mot. Cette technique, bien

connue en politique, s’appelle la nominalisationnominalisation.

interprétation n° 1

interprétation n° 2

interprétation n° 3

langue de boislangue de bois

Alain VAILLYDiapositive n° 20 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

Tout CONTENU est décrit par une qté-cd. Chaque

CONTENU est distingué des autres par (numéro-

commande, numéro-timbre).

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande 1, n

nominalisation (COMPREND) = CONTENUnominalisation (COMPREND) = CONTENU

Toute COMMANDE COMPREND un ou plusieurs

TIMBRES.

Un TIMBRE EST-COMPRIS dans une ou plusieurs

COMMANDEs. Il peut ne pas l’être.

Alain VAILLYDiapositive n° 21 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasage

COMPREND

qté-cd

0, n

TIMBRE

numéro-timbredescription

quantité

COMMANDE

numéro-commandedate-commande 1, n

Tout timbre est décrit par une description et une quantité. Chaque

timbre est distingué des autres par un numéro de timbre. Un timbre est compris dans une ou plusieurs

commandes. Il peut ne pas l’être. Toute commande est décrite par une date de

commande. Chaque commande est distinguée des autres par un numéro de commande.Toute commande comprend un ou plusieurs timbres. Tout contenu est décrit par une quantité commandée. Chaque contenu est distingué des autres par le couple (numéro de commande,

numéro de timbre).

Le texte rédigé, il faut le faire lire au client et lui demander s’il correspond à sa réalité.

Alain VAILLYDiapositive n° 22 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

3) Processus de paraphrasageTout timbre est décrit par une

description et une quantité. Chaque timbre est distingué des autres par un

numéro de timbre. Un timbre est compris dans une ou plusieurs

commandes. Il peut ne pas l’être. Toute commande est décrite par une date de

commande. Chaque commande est distinguée des autres par un numéro de commande.Toute commande comprend un ou plusieurs timbres. Tout contenu est décrit par une quantité commandée. Chaque contenu est distingué des autres par le couple (numéro de commande,

numéro de timbre).

Le texte rédigé, il faut le faire lire au client et lui demander s’il correspond à sa réalité.

Le MCD est OK.

Le MCD doit être modifié.

[OUI]

[NON]

Alain VAILLYDiapositive n° 23 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

• La traduction est encore sensible à la qualité du nommage des variables (noms des entités, des associations …).

• Les expressions complexes (comme, par exemple, le code OCL) sont pour l’instant encore hors d’atteinte des traducteurs.

• Il reste un gros travail à effectuer pour paraphraser les opérations (et, plus généralement, un algorithme).

Alain VAILLYDiapositive n° 24 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

Exemple 1/3

enseigner : enseignant matière

phrase (enseignant, enseigner, matière)

Exemple 2/3

xens : enseignant matière

phrase (enseignant, xens, matière)

Exemple 3/3

emprunteur : exemplaire abonné

phrase (exemplaire, emprunteur, abonné)

Alain VAILLYDiapositive n° 25 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

context Membre-- toutes les fonctions d'un membre-- sont consécutivesinv nonCumul :

self . FonctionCA ->forAll (f1, f2 ⎯ 1 f < > 2 f implies

( 2 f . fin . infeT ( 1 f . ) début or( 1 f . fin . infeT ( 2 f . )))début

Alain VAILLYDiapositive n° 26 IUP MIAGE - Université de NANTES

M.E.D.A.L.M.E.D.A.L.

4) Problèmes encore irrésolus

l : line

status (article (l)) = available

total (i) + (q unit_cost (l) percentage (i) / 100) <= allowed (i)

increment_line (l,q) =

PRE l : line &

q : NAT &

status (article (l)) = available &

quantity (l) + q : NAT &

total (i) + (q unit_cost (l) percentage (i) / 100) <= allowed (i)

THEN total (i) := total (i) + q unit_cost (l) percentage (i) / 100) ...

top related