Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
TP5
Création de profils UML avec Papyrus
À propos de Papyrus
Papyrus vise à fournir un environnement intégré facile à utiliser pour éditer les modèles de type
EMF (Eclipse Modeling Framework), il soutient en particulier UML et les langages de
modélisation connexes tels que SysML et MARTE.
Papyrus offre également un support très avancé pour les profils UML qui permet aux utilisateurs
de définir des éditeurs pour les DSL (Domain Specific Language) basés sur le standard UML 2
Installation de Papyrus
1 - Téléchargez la plateforme Eclipse Modeling à partir de l'adresse suivante :
https://www.eclipse.org/downloads/packages/release/2021-03/r/eclipse-modeling-tools
2 - Décompressez le fichier téléchargé et lancez Eclipse.exe.
3- Aller à : help / Install new Software
Choisissez :
Name: Papyrus
Location : http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2023-12/
Et lancez l'installation.
1
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
4 - Relancez Eclipse et choisissez Papyrus comme perspective.
Construction d'un profil dédié aux bases de données
Exemple à suivre : on va créer un profil UML décrivant les bases de données relationnelles.
Une base de données contient un ensemble de tables. Une table contient un ensemble de
colonnes, un sous-ensemble de ces colonnes forme la clé primaire de la table.
Création d’un projet Papyrus
1. Créez un nouveau Profil à partir d'un projet Papyrus.
2
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
2. Choisissez le type profil comme langage pour les diagrammes puis cliquez sur le bouton
«suivant ».
3. Donnez un nom au diagramme et cochez la case de « Profile Diagram » puis cliquez sur
«finish».
Création d’un profile UML
Vous allez créer un profile nommé « DBProfile » comme langage pour représenter les bases de
données.
Les concepts qu'on souhaite créer via ce profile sont les suivants :
3
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
1. Créez les trois stéréotypes : Base, Table et Colonne, en faisant un 'glisser-déposer' de
l'élément « Stereotype » qui se trouve sur la palette dans le compartiment « Classifiers ».
2. Ajoutez l'attribut ClefPrimaire au stéréotype Table.
3. Faîtes un clic droit sur l'attribut ClefPrimaire et choisissez « affichez les propriétés ».
4
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
4. De la même façon, changez la multiplicité et choisissez 0..*.
5. Importez la métaclasse « Package », cette dernière va être étendue par le stéréotype « Base »
5
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
6. Choisissez la relation d'extension qui se trouve sur la palette dans le compartiment
RelationShips " et liez le stéréotype « Base » à la métaclasse « Package ».
7. De la même façon, ajoutez les métaclasses « Property » et « Class », puis liez-les avec les
stéréotypes « Colonne » et « Table » en utilisant les relations d'extension.
6
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
8. Ajoutez les relations d'association entre les différents stéréotypes.
9. Utilisez la fenêtre des propriétés pour concevoir les relations d'association.
10. Terminez les autres associations qui restent.
11. Vous pouvez aussi ajouter des règles OCL. Par exemple : une table doit posséder une seule
clé primaire
Context Table :
self.feature->select(isStereotyped("ClefPrimaire")).notEmpty
7
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
Les étapes :
Créez un nœud de type Constraint dans le diagramme de classes
o selectionnez « Constraint » à partir de la palette
o Ajoutez ce nœud dans le diagramme
o Cliquez sur la classe considérée comme contexte de la contrainte à ajouter
Remplacez le nom de la contrainte auto-générée
o Sélectionnez la contrainte
o Affichez Properties View et spécifiez le nom et le texte OCL de la contrainte
8
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
12. Enregistrez votre modèle, une boite de dialogue doit apparaître pour décider si le profil doit
être défini ou non. La définition est nécessaire afin d'utiliser le profil.
13. Une autre boite de dialogue va apparaître pour ajouter le numéro de la version ainsi que les
différentes informations liées au profil qui est en cours de conception. Validez la définition
pour pouvoir utiliser le profil.
9
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
Ajout des icônes pour les éléments du profile
Les icônes peuvent être associées aux stéréotypes pour améliorer la présentation des éléments
stéréotypés sur les diagrammes. Pour associer une icône à un « Stereotype » suivez les étapes
suivantes :
1. Créez un dossier « image » contenant les images que vous voulez associer dans le même
projet
2. Sélectionnez le stéréotype « Base » puis dans la partie vue de propriétés choisissez l'onglet
UML et cliquez sur « + » pour ajouter une icône
10
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
3. Dans la petite fenêtre « Model explorer », sélectionnez l'image, choisissez le type icône et
cliquez sur « + » afin de charger l'image
4. Ajoutez les icônes ou formes pour les autres stéréotypes (table et colonne)
5. N'oubliez pas d'enregistrer le modèle et de le définir.
Application/ Instanciation du profil crée
1. Créez un nouveau modèle (vous pouvez le faire dans le même projet)
11
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
12
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
2. Exemple : on va essayer de créer une base « biblio » qui contient deux tables « adherent »
et « livre ». La table « adherent » se compose de quatre colonnes (nom, prenom,
dateNaissance, adresse) et la table livre contient (isbn, titre, auteur). La composition des
colonnes « nom », « prenom » et « dateNaissance » représente la clé primaire de la table
«adherent ». La clé primaire de la table « livre » est la colonne « isbn »
3. Appliquez le profil conçu au nouveau modèle : sélectionnez le modèle, puis dans la vue
propriétés allez à l'onglet « Profile »
13
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
4. Appuyez sur « + » pour ajouter un profil qui existe dans votre espace de travail (le projet
contenant le profil doit être ouvert !)
5. Commencez par la création de la base « biblio » qui sera un package
6. Pour appliquer le stéréotype, sélectionnez le package « biblio » et appuyez sur « + » se
trouvant dans l'onglet profil de la vue des propriétés, puis sélectionnez le stéréotype « Base»
Si le stéréotype « base » ne figure pas sur le package « biblio », allez à l'onglet apparence de
la vue des propriétés du package « biblio », sélectionnez le stéréotype appliqué et cliquez sur
le bouton « afficher stéréotype »
14
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
7. Ajoutez la classe « adherent » et stéréotypez-la par « table »
8. Ajoutez les colonnes (nom, prenom, dateNaissance, adresse), chaque colonne est
représentée par une propriété au sein de la classe « adherent »
Pour chaque propriété, il faut définir le type et la multiplicité en utilisant la vue des propriétés:
nom: string : [*] - prenom : string : [*] - dataNaissance : integer : [*] - adresse : string : [*]
15
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
9. Stéréotypez chaque propriété par « colonne »
16
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
10. La classe « adherent » contient la propriété «clefPrimaire » qui est une valeur étiquetée
(Tagged value). Ajoutez les valeurs « nom », « prenom » et « dataNaissance » à cette
propriété en appuyant sur « + » qui se trouve dans la zone Property values de l'onglet
«Profile ».
Pour afficher l'attribut « clefPrimaire », sélectionnez la classe stéréotypée par « table » et
allez sur l'onglet « apparence ». Dans le champ stéréotypes appliqués, sélectionnez
«clefPrimaire » et appuyez sur le bouton d'affichage.
11. Faites la même chose pour la classe « livre »
17
Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques : Département Informatique
Cours IDM – MP1GL
Mme Sameh HBAIEB
Exercice d’application
Partie 1. Création du profile
Créez un profile UML pour modéliser des applications JAVA. Vous pouvez vous référencer au
méta-modèle java suivant :
Partie 2. Instanciation du profile
Créez une classe UML Personne ayant comme attributs privés : nom, âge, genre, loisirs (liste
de string) et comme opération ImprimerInfo() qui retourne une chaine de caractères.
Ajoutez un constructeur par défaut à la classe Personne ainsi qu’un constructeur paramétré
avec les attributs nom et date de naissance.
Appliquez le profil Java à la classe Personne
18