0% ont trouvé ce document utile (0 vote)
13 vues38 pages

Cour Une Introduction Profil UML

Le document présente le concept de profil UML, qui est un mécanisme d'extension permettant d'ajouter des concepts spécifiques à un domaine, de modifier leur représentation et d'imposer des contraintes. Il aborde également les avantages et inconvénients d'UML, ainsi que les défis liés à la mise en œuvre de profils. Enfin, il souligne l'importance de bien connaître UML et les concepts du domaine pour une utilisation efficace des profils.

Transféré par

Benamer Youcef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues38 pages

Cour Une Introduction Profil UML

Le document présente le concept de profil UML, qui est un mécanisme d'extension permettant d'ajouter des concepts spécifiques à un domaine, de modifier leur représentation et d'imposer des contraintes. Il aborde également les avantages et inconvénients d'UML, ainsi que les défis liés à la mise en œuvre de profils. Enfin, il souligne l'importance de bien connaître UML et les concepts du domaine pour une utilisation efficace des profils.

Transféré par

Benamer Youcef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Profil UML

Une introduction...

Julien DeAntoni

Sciences Informatique 5ème année


2010 - 2011

[Link]@[Link] 1
Objectifs
✔ Connaître la notion de profile

✔ Comprendre la raison d'un tel mécanisme

✔ Comprendre les restrictions associées

✔ Comprendre la mise en oeuvre d'un profil

[Link]@[Link] 2
Approche basée méta-modèles
● Distinguer des concepts
● Associés à un domaine particulier
● Directement significatifs pour des spécialistes
● Pouvant être raffinés par les mécanismes
objets (héritage and co)
● Distinguer des relations entre ces concepts
● Sémantique statique d'association entre les
concepts
● Restriction sur les arités d'associations

[Link]@[Link] 3
Approche basée méta-modèles
● Distinguer des concepts
● Associés à un domaine particulier
● Directement significatifs pour des spécialistes
● Pouvant
Permet deêtre raffinés
capturer par lesspécifique
un langage mécanismesà
objets dans
un domaine (héritage and co)orientée modèle :
une approche
Domain Specific Modeling Language
● Distinguer des relations entre ces concepts
● Sémantique statique d'association entre les
concepts
● Restriction sur les arités d'associations

[Link]@[Link] 4
Approche basée méta-modèles
● Pros
● Liberté énorme pour la définition des concepts
● Langage “proche” des utilisateurs
● Facilité de prise en main pour l'utilisateur
● Cons
● Outillage à refaire (éditeurs, simulateur,
compilateur, etc)
● Difficile à définir proprement / efficacement

[Link]@[Link] 5
Et UML ??
● Unified Modeling Language...
● General Purpose Modeling Language
● Défini par un métamodèle
● « standard » défini par l'OMG
● Utilisable pour tout...et n'importe quoi
● Compréhensible par une communauté
grandissante
● Possède une sémantique exprimée en
langage naturel
● Possède des points de variation sémantique
[Link]@[Link] 6
Et UML ??
● Pros
● Bien outillé (éditeurs, compilateurs, etc)
● “standardisé”
● Facilite la compréhension inter discipline
● Permet de tout faire
● Cons
● Permet de tout faire
● Gros et difficile à appréhender au début
● Loin du langage de spécialistes pour un
domaine prècis
[Link]@[Link] 7
Et UML ??
● Pros
● Bien outillé (éditeurs, compilateurs, etc)
● “standardisé”
● Facilite la compréhension inter discipline But d'un profil....
● Permet de tout faire
● Cons
● Permet de tout faire
● Gros et difficile à appréhender au début
● Loin du langage de spécialistes pour un
domaine prècis

[Link]@[Link] 8
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 9
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 10
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
Un profile permet de définir un
● Ajouter
Domaindes contraintes
Specific surLanguage
Modeling les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 11
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
Un profil permet de définir un
● Ajouter des
Domain contraintes
Specific sur
Modeling les associations
Language
sans contredire
entre ces conceptsla sémantique d'UML
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 12
Profil UML

Ajouter des concepts relatifs à un domaine particulier
● Utilisation de stéréotypes et d'extensions
● Petit bout du meta-modèle UML:

[Link]@[Link] 13
Profil UML

Ajouter des concepts relatifs à un domaine particulier
● Utilisation de stéréotypes et d'extensions
● Petit bout du meta-modèle UML...

[Link]@[Link] 14
Profil UML

Ajouter des concepts relatifs à un domaine particulier
● Utilisation de stéréotypes et d'extensions
● Meta-modèle UML...

Tout sur les profils tient en 26 pages dans


les spécifications officielles de la “super structure” d'UML !!
([Link]

[Link]@[Link] 15
Profil UML
● Ajouter des concepts relatifs à un domaine particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge

UML metaclass

extension
Définition
Définition
du
du
stereotype profil
profil

[Link]@[Link] 16
Profil UML
● Ajouter des concepts relatifs à un domaine
particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge
Applied stereotype
UML class UML property
or
itsResolution = 1
instance specification
= TAI

= discrete
Stereotype properties Utilisation
Utilisation
du
du
profil
profil

[Link]@[Link] 17
Profil UML
● Ajouter des concepts relatifs à un domaine
particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge
Applied stereotype
UML class UML property
or
itsResolution = 1
instance specification
= TAI

= discrete
Stereotype properties Utilisation
Utilisation
du
du
profil
profil
Peut etre représenté
Dans un commentaire...

[Link]@[Link] 18
Profil UML
● Ajouter des concepts relatifs à un domaine
particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge
Applied stereotype
UML class UML property
or
itsResolution = 1
instance specification
= TAI

= discrete
Stereotype properties Utilisation
Utilisation
du
du
<<clockType>> profil
profil
nature = discrete
...

[Link]@[Link] 19
Profil UML
● Ajouter des concepts relatifs à un domaine
particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge

Définition
Définition
du
du
Stereotype profil
attribute profil
Stereotype
Attribute of type
“Property”
[Link]@[Link] 20
Profil UML
● Ajouter des concepts relatifs à un domaine
particulier
● Utilisation de stéréotypes et d'extensions
● Exemple, la notion d'horloge et de type d'horloge
A property
UML property value
itsResolution = 1

= TAI

= discrete
Utilisation
Utilisation
du
du
profil
profil
Reference to
a Property

[Link]@[Link] 21
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 22
Profil UML
● Changer la representation de ces concepts
● Pour faire plus joli :)
● Pour utiliser la représentation “traditionnelle”

[Link]@[Link] 23
Profil UML
● Changer la representation de ces concepts
● Pour faire plus joli :)
● Pour utiliser la représentation “traditionnelle”

MySemaphore

myClock MyTask

[Link]@[Link] 24
Profil UML
● Changer la representation de ces concepts
● Pour faire plus joli :)
● Pour utiliser la représentation “traditionnelle”

[Link]@[Link] 25
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 26
Profil UML
● Ajouter des contraintes sur les associations entre ces
concepts
● Restreindre les associations existantes au niveau des
meta-classes UML
→ limiter le nombre d'attribut du concept à N
● Forcer des règles logiques d'associations
→ mon concept1 doit avoir le meme nombre d'attributs
que le concept2

→ l'ensemble des variables d'un appel de fonction


doit être un sous ensemble des variables du context
d'appel

[Link]@[Link] 27
Profil UML
● Ajouter des contraintes sur les associations entre ces
concepts
● Restreindre les associations existantes au niveau des
meta-classes UML
→ limiter le nombre d'attribut du concept à N
● Forcer des règles logiques d'associations
→ mon concept1 doit avoir le meme nombre d'attributs
que le concept2

Ajout de contraintes OCL

[Link]@[Link] 28
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 29
Profil UML
● Ajouter des contraintes sur l'utilisation ou non de
certains concepts selon le contexte
● Contraintes très spécifiques :
→ mon concept1 doit toujours avoir une association
avec le concept2 si il y a utilisation du concept3

Ajout de contraintes OCL

● Désire de ne pouvoir utiliser que les éléments définis dans


le profil
→ utilisation du mot clef “isStrict” lors de
l'application d'un profil

[Link]@[Link] 30
Profil UML
● Mécanisme d'extension générique pour UML
● Ajouter des concepts relatifs à un domaine
particulier
● Changer la representation de ces concepts
● Ajouter des contraintes sur les associations
entre ces concepts
● Ajouter des contraintes sur l'utilisation ou non
de certains concepts selon le contexte
● Fixer les points de variation sémantique

[Link]@[Link] 31
Profil UML
● Fixer les points de variation sémantique
● Faire un choix parmi les possibilités sémantiques
laissées ouvertes par UML
→ Signals may broadcased or mulitcasted
→ Statemachine have a queue that may be FIFO, LIFO,
Mailbox…

Pour l'instant ces choix sont fait en langage naturel


Et, éventuellements, reflétés par les outils
manipulant les modèles.

[Link]@[Link] 32
Profil UML
● Ça à l'air facile.... mais il faut savoir que :
● Il est nécessaire de connaître UML sur le bout des
doigts
– Ses concepts
– Sa sémantique
● Il est nécessaire de bien connaître les concepts du
domaine
● Les outils n'ont pas toujours tous les concepts UML
décrits dans le standard
● Les outils ne reflètent pas toujours la sémantique
décrite dans le standard
● Difficile de toujours respecter la sémantique
d'UML....
[Link]@[Link] 33
Mise en oeuvre
● Un minimum d'organisation
● Un projet pour la définition du profil
– [Link]
● Un projet pour les modèles de test qui
appliqueront ce profil
– [Link]
● Le pdf de la spécification d'UML ouvert :-)
– [Link]

[Link]@[Link] 34
Mise en oeuvre
● Comment commencer...
● Pas facile à dire...
● Identifier le type de modèle UML le plus adapté ?
– Structurel
– Comportemental
– …
● Faire un premier tour d'horizon des concepts UML
succeptible d'être étendu
● Retrousser ses manches, commencer à définir le profil en
le testant régulièrement

[Link]@[Link] 35
Mise en oeuvre
● Papyrus ([Link])
● Éditeur UML open source
● Développé par le CEA List
● Relativement complet et aligné sur les
spécifications officielles
● Permet le développement de profil perso

[Link]@[Link] 36
Mise en oeuvre
● Papyrus, les essentiels
● Creation d'un projet... choix model ou profil...
● Lors de la modification du profil, il faut le re-
appliquer sur le modèle
● L'onglet propriété est très important !! Il
contient lui-même plusieurs volet dont un
nommé “profile”
● Attention à la différence “delete from diagram”
et “delete from model”
● Faire des copies de sauvegarde régulièrement

[Link]@[Link] 37
À vous de jouer...

[Link]@[Link] 38

Vous aimerez peut-être aussi