3 FACULTE DES SCIENCES EXECTES ET D'INFORMATIQUE DEPARTEMENT D’INFORMATIQUE MOD
3 FACULTE DES SCIENCES EXECTES ET D'INFORMATIQUE DEPARTEMENT D’INFORMATIQUE MODULE INGENIERIE DES MODELES Solution Examen Exercice 01: (06 Pts) Une réponse fausse entraîne une pénalité. Pas de réponses donne 0. (01 réponse juste /-01 réponse fausse) 1. L'ingénierie dirigée par les modèles assure la pérennité du savoir faire. X vrai faux 2. La transformation par annotation nécessite les profils UML pour réaliser la transformation de modèles. X vrai faux 3. Le Platform Dependent Model (PDM) est un modèle de l'approche MDA. vrai X faux Répondre aux questions à choix multiples suivantes: il y a exactement une et une seule réponse juste pour ces questions. Si plusieurs réponses sont valides, sélectionner la plus restrictive. Pour les questions suivantes, une réponse fausse entraîne une pénalité. Pas de réponses donne 0. 4. L’approche MDA est basée sur: a) trois niveaux de modèles; b) deux niveaux de modèles; c) quatre niveaux de modèles; 5. Un modèle donné est: a) conforme à un diagramme de classes; b) une instance d’un méta-modèle; c) conforme à son méta-modèle; 6. La transformation entre deux méta-modèles différents est effectuée via: a) Le mode d'exécution raffinement; b) Le mode d'exécution normal; c) Le mode d'exécution mixte; Exercice 02: (06 Pts) module Diagramme2Reseau; create OUT: MMReseau from IN:MMDiagramme; rule Diag2Net { (02) from D : MMDiagramme!Diagramme to N : MMReseau!Reseau ( noeuds <- D.moeuds, arcs <- D.arcs)} rule Composant2Place { (02) from D : MMDiagramme!Composant (D.refImmediateComposite().noeuds->includes(D)) to N : MMReseau!Place ( name <- D.name)} rule Composant2transition { (02) from D : MMDiagramme!Composant (D.refImmediateComposite().arcs->includes(D)) to 3 t : MMReseau!Transition (name <- D.name)} Exercice 03 : (08 Pts) 1. a- Contrainte 01 : Un membre ne peut avoir qu'un seul père et une seule mère. (0,5) Contexte Membres inv MembrePere: self.Fpere->union(self.Fmere)->size()=2 b- Contrainte 02 : Le nombre des membres d'une famille est supérieur à 0. (0,5) Contexte Famille inv NombreFamille: self.Pere->union(self.mere)->union(self.fils)->union(self.filles)->size()>0 2. <Famille Nom="Karim"> (0,5) <Pere Prenom="Ali" Age=40/> <mere Prenom="Asmaa" Age=38"/> <fils Prenom="Younes" Age=18/> <filles Prenom="Meryem" Age=16/> </Famille> <Famille Nom="Samir"> <Pere Prenom="Ismail" Age=28/> <mere Prenom="Aicha" Age=27 /> <fils Prenom="Abdellah" Age=6/> <fils Prenom="Taieb" Age=5/> <filles Prenom="Ikram" Age=2/> </Famille> 3. <Hommes Nom_Prenom=" Karim Ali " Nbr_enfants=2/> (0,5) <Hommes Nom_Prenom=" Karim Younes Nbr_enfants=0"/> <Hommes Nom_Prenom=" Samir Ismail Nbr_enfants=3"/> <Hommes Nom_Prenom=" Samir Abdellah Nbr_enfants=0"/> <Hommes Nom_Prenom=" Samir Taieb Nbr_enfants=0"/> <Femmes Nom_Prenom=" Karim Asmaa Nbr_enfants=2"/> <Femmes Nom_Prenom=" Karim Meryem Nbr_enfants=0"/> <Femmes Nom_Prenom=" Samir Aicha Nbr_enfants=3"/> <Femmes Nom_Prenom=" Samir Ikram Nbr_enfants=0"/> 4. a. helper context Familles!Membres def: NomdeFamille(): String = (01) if not self.Fpere.oclIsUndefined() then self.Fpere.Nom else if not self.Fmere.oclIsUndefined() then self.Fmere.Nom else if not self.Ffils.oclIsUndefined() then self.Ffils.Nom else self.Ffilles.Nom endif endif endif; b. helper context Familles!Membres def: Sexe(): String = (01,5) if not self.Fpere.oclIsUndefined() then 'Masculin' else if not self.Ffils.oclIsUndefined() then 'Masulin' else 'Féminin' endif endif; c. helper context Familles!Membres def: Nombreenfants(): Integer = (01,5) if not self.Fpere.oclIsUndefined() then self.Fpere.fils->union(self.Fpere.filles)->size() else if not self.Fmere.oclIsUndefined() then self.Fmere.fils->union(self.Fmere.filles)->size() else 0 endif endif; 3 5. module Familles2Persons; create OUT: MMPersonnes from IN:MMFamilles; helper context Familles!Membres def: NomdeFamille(): String = if not self.Fpere.oclIsUndefined() then self.Fpere.Nom else if not self.Fmere.oclIsUndefined() then self.Fmere.Nom else if not self.Ffils.oclIsUndefined() then self.Ffils.Nom else self.Ffilles.Nom endif endif endif; helper context Familles!Membres def: Sexe(): String = if not self.Fpere.oclIsUndefined() then 'Masculin' else if not self.Ffils.oclIsUndefined() then 'Masulin' else 'Féminin' endif endif; helper context Familles!Membres def: Nombreenfants(): Integer = if not self.Fpere.oclIsUndefined() then self.Fpere.fils->union(self.Fpere.filles)->size() else if not self.Fmere.oclIsUndefined() then self.Fpere.fils->union(self.Fpere.filles)->size() else 0 endif endif; rule Membre2Homme{ (01) from s: Familles!Membres (s.Sexe()='Masculin') to d: Personnes!Hommes ( Nom_Prenom <- s.NomdeFamille()+ ' '+ s.prenom, Nbr_enfants <- s.Nombreenfants() ) } rule Membre2Femme{ from s: Familles!Membres (s.Sexe()='Féminin') (01) to d: Personnes!Femmes ( Nom_Prenom <- s.NomdeFamille()()+ ' '+ s.prenom, Nbr_enfants <- s.Nombreenfants() ) } uploads/Geographie/ ssolution-emd-ingm-2020.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/f0ryOKKt7nYRtvSY86FcaFT9QNuVjUXwz8irdL5Y9rScgqGEk8ifZhFAj3E2Lfse8IkMe8y14NBRIPy4ilCcwhla.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/qaAxPd5w1D5tXU5f7gXSJenwXVWymVG6l0hKm4lvO1vQm2BBcAY01cruYVr1Ahnd747hWX4xThlM5dqh4EgG9dPE.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Sq88PcNZd53FOPlOXFpbsMTR0kEwbRze2C8vvyt5Tz8kpLIoci3JGWUitVeunw0BVFS3xqarCmDd45ccZM50grJe.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3LIS7jUBilvEOJNVyHOfujs3zns2M6leN4qDbrbchGzrym0EFIwXYsjog0IJKulIP8Mrxy3yBPPz0Lt7q1UkXx4S.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/600GbjejLmbIf5ftommVUPX7eCZuyW67bBP81kLGXbWwDsCtffa2uCJkO6odHPmCgMP3TUArb4cIQLHJa3qyDX2X.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/oknCT4vM8RrFDTyAKvX2ANReQvTnSphPdj3FeYNfYTsdqHTNk8GlseOPbe0HtUuIAV2F5dNFY1sUCZx8YagS3wt2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Ne4nKAdh8MJZOGgjJa6RR1RZKPG1xqXr1m3mcZMqMTNo6AGvbG0hta5XPme9nW0aq3wmUlHarerICZjwRt0aFwGA.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/fdklbZs9LKrN9i52jBh6XjldCLalIHPPBFKwd5REVa4W4qP6iCARzDL0rvAB2vpRiCCa2FUasATGiPltTOAY7XBs.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Eufcutr95DjwkfPLgrALWm2ysmDhBOMmEkHo31vtWETaqzd2FaTuFs0HLPgu8IDTrVrawnRqxzalHKVjUOb9u0uo.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/eRginjYEgo7BDrLJBbR14b3YHnVAWnDqjK4B24SVjTgOAstB80m3YGumlnfVIH1LNyihSvS5bEt9L1BXCZMlz2II.png)
-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 17, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.1175MB