medal - Univ. Nantes - Université de Nantes

publicité
M.E.D.A.L.
IUP-MIAGE 3ème année
Le paraphrasage des modèles
Module d’Enseignement à Distance pour
l’Architecture Logicielle
Diapositive n° 1
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
1) Introduction
« bidouille » ACCESS
• 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 euxmême.
• Elle l’est aussi de temps en temps par les développeurs.
Programmation
« agile »
Diapositive n° 2
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
assurée par l’informaticien
1) Introduction
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
Am I building the product right?
- validation
Am I building the right product?
assurée par le client
Diapositive n° 3
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
1) Introduction
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 ?
Diapositive n° 4
Une réponse peut être
trouvée dans le
paraphrasage
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
1) Introduction
Spécification non satisfaisante
Reformulation
par l’expert
Spécification
(et)
Analyse
par l’expert
(ou)
Spécification
satisfaisante
(et)
Cahier des charges
Diapositive n° 5
Analyse par le
(ou)
client expérimenté
IUP MIAGE - Université de NANTES
Validation
Non validation
Alain VAILLY
M.E.D.A.L.
1) Introduction
Spécification non satisfaisante
Reformulation
par l’expert
Spécification
(et)
Analyse
par l’expert
Texte
(ou)
Spécification
satisfaisante
(et)
Cahier des
charges
Analyse par
le client novice
(ou)
Validation
Diapositive n° 6
Reformulation
par l’outil
Non validation
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Exemples de modèles
EST-INCLUSE-DANS
1, 1
1, n
RUBRIQUE1
RUBRIQUE2
nom-rubrique1
nom-rubrique2
1, n
1, n
EST-REFERENCE-DANS
numéro-timbre
CATALOGUE
nom-catalogue
éditeur
MCD (MERISE)
1, n
EST-EMIS-PAR
1, n
TIMBRE
numéro-stock
[description]
couleurs
[image]
année-émission
[valeur-faciale]
[dentelure]
1, 1
1, n
PAYS
nom-pays
TARIF
code-tarif
COUTE
1, n
prix
Diapositive n° 7
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Exemples
de modèles
DET (UML)
Diapositive n° 8
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Exemples de modèles
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
Diapositive n° 9
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
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
traduction
modélisation
Diapositive n° 10
X
IUP MIAGE - Université de NANTES
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.
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
n° 2
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.
interprétation
(lecture)
n° 1
traduction
modélisation
(écriture)
X
modélisation
Diapositive n° 11
X
IUP MIAGE - Université de NANTES
traduction
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.
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
NOM
Tout CLIENT est décrit par un nomclient, une adresse-règlement et une
date-entrée. Chaque CLIENT est
distingué des autres grâce au numéroclient.
CLIENT
numéro-client
nom-client
adresse-règlement
date-entrée
Diapositive n° 12
IUP MIAGE - Université de NANTES
identifiant
Propriété 1
Propriété 2
…
Propriété N
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 ».
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
COMMANDE
numéro-commande
date-commande
CLIENT
numéro-client
nom-client
adresse-règlement
date-entrée
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
1, 1
Tout « A » « VERBE » un
et seul « B ».
1, 1
EST-PASSEE-PAR
-, n
Toute
COMMANDE
EST-PASSEEP AR un et un
seul CLIENT.
B
VERBE
Diapositive n° 13
identifiant
Propriété 1
Propriété 2
…
Propriété N
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
COMMANDE
numéro-commande
date-commande
CLIENT
numéro-client
nom-client
adresse-règlement
date-entrée
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
Un « A » « VERBE »
un et seul « B ». Il
peut ne pas le faire.
0, 1
B
VERBE
Diapositive n° 14
identifiant
Propriété 1
Propriété 2
…
Propriété N
IUP MIAGE - Université de NANTES
0, 1
EST-PASSEE-PAR
-, n
Une
COMMANDE
EST-PASSEEP AR un et un
seul CLIENT.
Elle peut ne pas
l’être.
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
COMMANDE
numéro-commande
date-commande
COMPREND
qté-cd
0, n
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
TIMBRE
Un « A » « VERBE »
un ou plusieurs « B ».
Il peut ne pas le faire.
0, n
B
VERBE
Diapositive n° 15
identifiant
Propriété 1
Propriété 2
…
Propriété N
IUP MIAGE - Université de NANTES
numéro-timbre
description
quantité
Un TIMBRE ESTCOMPRIS dans une ou
plusieurs
COMMANDES. Il peut
ne pas l’être.
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
COMMANDE
numéro-commande
date-commande
COMPREND
qté-cd
1, n
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
1, n
TIMBRE
Tout « A »
« VERBE » un ou
plusieurs « B ».
B
VERBE
Diapositive n° 16
identifiant
Propriété 1
Propriété 2
…
Propriété N
IUP MIAGE - Université de NANTES
numéro-timbre
description
quantité
Tout TIMBRE ESTCOMPRIS dans une ou
plusieurs
COMMANDES.
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
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
x, y
B
VERBE
infoX
infoY
z, t
identifiant
Propriété 1
Propriété 2
…
Propriété N
Une association, c’est aussi,
quelque part, une entité.
Elle peut avoir des
propriétés. Ceci doit donc
également être traduit.
interprétation n° 3
Diapositive n° 17
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
langue de bois
3) Processus de paraphrasage
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
Pour traduire, il faut
transformer le verbe en un
mot. Cette technique, bien
connue en politique,
s’appelle la nominalisation.
interprétation n° 1
interprétation n° 2
x, y
B
VERBE
infoX
infoY
z, t
identifiant
Propriété 1
Propriété 2
…
Propriété N
Une association, c’est aussi,
quelque part, une entité.
Elle peut avoir des
propriétés. Ceci doit donc
également être traduit.
interprétation n° 3
Diapositive n° 18
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
langue de bois
3) Processus de paraphrasage
A
identifiant
Propriété 1
Propriété 2
…
Propriété N
Pour traduire, il faut
transformer le verbe en un
mot. Cette technique, bien
connue en politique,
s’appelle la nominalisation.
interprétation n° 1
interprétation n° 2
x, y
B
VERBE
infoX
infoY
z, t
identifiant
Propriété 1
Propriété 2
…
Propriété N
interprétation n° 3
Diapositive n° 19
IUP MIAGE - Université de NANTES
Tout « nominalisation
(VERBE) » est décrit par
« infoX » et « InfoY ».
Chaque « nominalisation
(VERBE) » est distingué
des autres grâce à
(« identifiantA »,
« identifiantB »).
Alain VAILLY
M.E.D.A.L.
nominalisation (COMPREND) = CONTENU
3) Processus de paraphrasage
Un TIMBRE EST-COMPRIS
dans une ou plusieurs
COMMANDEs. Il peut ne pas
l’être.
Toute COMMANDE
COMPREND un ou plusieurs
TIMBRES.
COMMANDE
numéro-commande
date-commande
COMPREND
1, n
qté-cd
0, n
TIMBRE
numéro-timbre
description
quantité
Diapositive n° 20
IUP MIAGE - Université de NANTES
Tout CONTENU est décrit
par une qté-cd. Chaque
CONTENU est distingué
des autres par (numérocommande, numérotimbre).
Alain VAILLY
M.E.D.A.L.
3) Processus de paraphrasage
Le texte rédigé, il faut le faire
lire au client et lui demander
s’il correspond à sa réalité.
COMMANDE
numéro-commande
date-commande
COMPREND
1, n
qté-cd
0, n
TIMBRE
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).
numéro-timbre
description
quantité
Diapositive n° 21
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
Le MCD est OK.
3) Processus de paraphrasage
Le texte rédigé, il faut le faire
lire au client et lui demander
s’il correspond à sa réalité.
[OUI]
[NON]
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 MCD doit être
modifié.
Diapositive n° 22
IUP MIAGE - Université de NANTES
Alain VAILLY
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).
Diapositive n° 23
IUP MIAGE - Université de NANTES
Alain VAILLY
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é)
Diapositive n° 24
IUP MIAGE - Université de NANTES
Alain VAILLY
M.E.D.A.L.
4) Problèmes encore irrésolus
context Membre
-- toutes les fonctions d'un membre
-- sont consécutives
inv nonCumul :
self . FonctionCA ->
forAll (f1, f2  f1 < > f2 implies
(f2 . fin . infeT (f1 . début) or
(f1 . fin . infeT (f2 . début)))
Diapositive n° 25
IUP MIAGE - Université de NANTES
Alain VAILLY
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) ...
Diapositive n° 26
IUP MIAGE - Université de NANTES
Alain VAILLY
Téléchargement