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