View
116
Download
2
Category
Preview:
Citation preview
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) ...
Recommended