support de la formation LIESSE - ENS Cachan
support de la formation LIESSE - ENS Cachan
support de la formation LIESSE - ENS Cachan
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Systems Mo<strong>de</strong>ling Language<br />
SysML<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Lionel GENDRE et Jean-Marie VIRELY<br />
<strong>ENS</strong> <strong>Cachan</strong><br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-1-
SysML (Systems Mo<strong>de</strong>ling Language)<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Le <strong>la</strong>ngage SysML<br />
• signifiés : éléments d’un modèle<br />
• signifiants : symboles + textes<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• « Diagrammes SysML »<br />
• diagramme : représentation d’une<br />
partie d’un modèle selon un point <strong>de</strong><br />
vue<br />
• interdépendants<br />
• SysML n’est pas une métho<strong>de</strong><br />
• l’utilisation du <strong>la</strong>ngage est libre<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-2-
Diagrammes SysML<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Diagramme : en-tête + contenu<br />
• en-tête : ce qui est représenté<br />
• contenu : <strong>la</strong> représentation<br />
La modélisation<br />
structurelle<br />
Type et nom <strong>de</strong> l’élément du modèle représenté<br />
La modélisation<br />
comportementale<br />
Type du diagramme<br />
(donne le point <strong>de</strong> vue,<br />
il y en a 9)<br />
Nom du diagramme<br />
(libre)<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Toujours une vue interne d’un élément...<br />
• ... i<strong>de</strong>ntifié par son nom, réutilisé ailleurs...<br />
• ... ce qui assure <strong>la</strong> cohérence <strong>de</strong>s <strong>de</strong>scriptions.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-3-
Les 9 types <strong>de</strong> diagrammes<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Diagrammes fonctionnels :<br />
• uc : use case diagram (diagramme <strong>de</strong>s cas d’utilisation)<br />
• req : requirement diagram (diagramme <strong>de</strong>s exigences)<br />
• Diagrammes structurels :<br />
• bdd : block <strong>de</strong>finition diagram (diagramme <strong>de</strong> définition <strong>de</strong>s blocs)<br />
• ibd : internal block diagram (diagramme interne d’un bloc)<br />
• pkg : package diagram (diagramme <strong>de</strong>s paquets)<br />
• Diagrammes comportementaux :<br />
• act : activity diagram (diagramme d’activités)<br />
• stm : state machine diagram (diagramme d’états)<br />
• sd : sequence diagram (diagramme <strong>de</strong> séquence)<br />
• par : parametric diagram (diagramme paramétrique)<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-4-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Diagramme <strong>de</strong>s cas d’utilisation<br />
• Diagramme <strong>de</strong>s exigences<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-5-
Le diagramme <strong>de</strong>s cas d’utilisation<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectif : décrire<br />
• <strong>de</strong>s cas d’utilisation : actions réalisées en utilisant le système<br />
• <strong>de</strong>s acteurs extérieurs au système, qui réalisent et/ou<br />
subissent ces actions<br />
• ...et les relier<br />
Frontière du système<br />
La modélisation<br />
comportementale<br />
uc Use Cases [utilisation du véhicule]<br />
Véhicule<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Acteur<br />
Conducteur<br />
Conduire<br />
Cas d’utilisation<br />
le 01/07/2013<br />
Re<strong>la</strong>tion (participation)<br />
Lionel Gendre et Jean-Marie Virely<br />
-6-
Les cas d’utilisation<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Descriptions d’actions réalisables en utilisant le système<br />
• Services rendus par le système aux acteurs<br />
• Forme : verbe à l’infinitif<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
uc Use Cases [utilisation du véhicule]<br />
Véhicule<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Conducteur<br />
Conduire<br />
Cas d’utilisation<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-7-
Les acteurs<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Entités externes qui accomplissent et/ou subissent les<br />
actions <strong>de</strong> façon autonome :<br />
• individu(s)<br />
• systèmes automatisés<br />
• serveurs…<br />
• Nommés d’après leur rôle en tant qu’utilisateurs<br />
La modélisation<br />
comportementale<br />
uc Use Cases [utilisation du véhicule]<br />
Véhicule<br />
Autre représentation<br />
(synonyme) :<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Acteur<br />
Conducteur<br />
Conduire<br />
« actor »<br />
Conducteur<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-8-
Les re<strong>la</strong>tions<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Participation : un acteur réalise et/ou subit un cas<br />
d’utilisation<br />
• multiplicité : nombre d’acteurs <strong>de</strong> ce type participant à ce cas<br />
d’utilisation (1 par défaut)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
uc Use Cases [utilisation du véhicule]<br />
Véhicule<br />
Conduire<br />
Conducteur<br />
Participation<br />
uc Use Cases [autre utilisation]<br />
Passager<br />
0..4<br />
Participation avec<br />
multiplicité<br />
Véhicule<br />
Se faire<br />
transporter<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-9-
Les re<strong>la</strong>tions<br />
Les diagrammes<br />
• Re<strong>la</strong>tions logiques entre acteurs ou cas d’utilisations<br />
La modélisation<br />
fonctionnelle<br />
uc Facturation d’un parking payant<br />
Inclusion<br />
Extension<br />
Barrière <strong>de</strong> parking<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Conducteur<br />
Payer le parking<br />
------------------------------<br />
extension points: Annu<strong>la</strong>tion<br />
« inclu<strong>de</strong> »<br />
Justifier <strong>de</strong><br />
l’heure d’arrivée<br />
« extend »<br />
Annuler <strong>la</strong><br />
transaction<br />
Ajuster le tarif horaire<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Ajuster les tarifs<br />
Ajuster le tarif journalier<br />
Gérant<br />
Spécialisation<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-10-
Exercice : vidéosurveil<strong>la</strong>nce<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Dessiner un diagramme <strong>de</strong>s cas d’utilisation d’un système <strong>de</strong> vidéosurveil<strong>la</strong>nce<br />
• Acteurs :<br />
• opérateur, pouvant être qualifié ou non qualifié<br />
• intrus<br />
• superviseur<br />
• Cas d’utilisation :<br />
• surveiller, soit automatiquement soit manuellement<br />
• gérer <strong>la</strong> panne<br />
• Règles :<br />
• Surveiller implique toujours au moins un opérateur, et éventuellement un ou<br />
plusieurs intrus<br />
• Tout opérateur peut surveiller automatiquement<br />
• Seul un opérateur qualifié peut surveiller manuellement<br />
• Une panne peut survenir lorsqu’on surveille, et le superviseur (il y en a un seul)<br />
doit alors gérer <strong>la</strong> panne<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-11-
Corrigé<br />
Les diagrammes<br />
uc Cas d’utilisation [corrigé]<br />
La modélisation<br />
fonctionnelle<br />
Système <strong>de</strong> vidéosurveil<strong>la</strong>nce<br />
Gérer <strong>la</strong> panne<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Superviseur<br />
Opérateur<br />
1..*<br />
Surveiller<br />
automatiquement<br />
« extend »<br />
Surveiller<br />
------------------------------<br />
extension points:<br />
Panne<br />
0..*<br />
Intrus<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
1..*<br />
Surveiller<br />
manuellement<br />
Opérateur<br />
non qualifié<br />
Opérateur<br />
qualifié<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-12-
Cas d’utilisation (uc) : syntaxe<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
Nom du rôle<br />
Faire une<br />
action<br />
Acteur : individu ou<br />
système externe qui<br />
accomplit ou subit les<br />
actions<br />
Cas d’utilisation : action<br />
pouvant être accomplie<br />
par l’usage du système<br />
A<br />
A<br />
B<br />
B<br />
Spécialisation : A est un type<br />
spécialisé <strong>de</strong> B, et hérite <strong>de</strong><br />
ses cas d’utilisation<br />
Spécialisation : A est un type<br />
spécialisé <strong>de</strong> B, et hérite <strong>de</strong><br />
ses acteurs<br />
La modélisation<br />
comportementale<br />
Nom du<br />
système<br />
Frontière entre le<br />
système et son<br />
environnement<br />
A<br />
« inclu<strong>de</strong> »<br />
B<br />
Inclusion : B est toujours<br />
exécuté au cours <strong>de</strong><br />
l’exécution <strong>de</strong> A<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
N<br />
min..max<br />
min..*<br />
…<br />
Participation<br />
avec<br />
multiplicité<br />
A<br />
« extend »<br />
B<br />
---------------------------<br />
Extension points:<br />
condition<br />
Extension : A est exécuté lors<br />
<strong>de</strong> l’exécution <strong>de</strong> B si une<br />
condition est remplie<br />
…<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-13-
Le diagramme <strong>de</strong>s exigences<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectifs :<br />
• spécifier <strong>de</strong>s exigences (caractéristiques ou qualités attendues)<br />
• les hiérarchiser<br />
• les documenter (éléments auxquels elles s’appliquent,<br />
traçabilité, métho<strong>de</strong>s <strong>de</strong> vérification…)<br />
La modélisation<br />
comportementale<br />
Exigence<br />
non<br />
exprimée<br />
req Exigences [exigences du véhicule]<br />
« requirement »<br />
Performances du véhicule<br />
⊕<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Re<strong>la</strong>tion « est<br />
contenu dans »<br />
Exigence<br />
exprimée<br />
« requirement »<br />
Temps d’accélération<br />
id = 1<br />
text = ‘’Le véhicule doit pouvoir<br />
accélérer <strong>de</strong> 0 à 100 km/h en…’’<br />
« refine »<br />
« use case »<br />
Conduire<br />
Référence à un<br />
cas d’utilisation<br />
Re<strong>la</strong>tion « est<br />
caractérisé par »<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-14-
Les exigences<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Exigence : toute propriété ou capacité attendue<br />
• du système ou <strong>de</strong> son comportement<br />
• chiffrée (caractéristique) ou non (qualité)<br />
• exprimée par une phrase comportant le verbe « doit »<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Exigence<br />
non<br />
exprimée<br />
req Exigences [exigences du véhicule]<br />
« requirement »<br />
Performances du véhicule<br />
⊕<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Exigence<br />
exprimée<br />
« requirement »<br />
Temps d’accélération<br />
id = 1<br />
text = ‘’Le véhicule doit pouvoir<br />
accélérer <strong>de</strong> 0 à 100 km/h en…’’<br />
« refine »<br />
« use case »<br />
Conduire<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-15-
La hiérarchie <strong>de</strong>s exigences<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-16-
La traçabilité <strong>de</strong>s exigences<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Justification <strong>de</strong><br />
<strong>la</strong> re<strong>la</strong>tion <strong>de</strong><br />
satisfaction<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Références à<br />
<strong>de</strong>s éléments<br />
du modèle<br />
• Liens entre exigences et structures/comportements<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-17-
Représentation <strong>de</strong>s re<strong>la</strong>tions<br />
Les diagrammes<br />
• Les trois représentations ci-<strong>de</strong>ssous sont synonymes :<br />
La modélisation<br />
fonctionnelle<br />
« requirement »<br />
Temps d’accélération<br />
id = 1<br />
text = ‘’Le véhicule doit pouvoir<br />
accélérer <strong>de</strong> 0 à 100 km/h en…’’<br />
« refine »<br />
« use case »<br />
Conduire<br />
Notation directe<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
« requirement »<br />
Temps d’accélération<br />
id = 1<br />
text = ‘’Le véhicule doit pouvoir<br />
accélérer <strong>de</strong> 0 à 100 km/h en…’’<br />
refinedBy<br />
« use case » Conduire<br />
Notation compartimentée<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« requirement »<br />
Temps d’accélération<br />
id = 1<br />
text = ‘’Le véhicule doit pouvoir<br />
accélérer <strong>de</strong> 0 à 100 km/h en…’’<br />
refinedBy<br />
« use case » Conduire<br />
Notation « post-it »<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-18-
Exercice : vidéosurveil<strong>la</strong>nce<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Dessiner un diagramme <strong>de</strong>s exigences pour le système <strong>de</strong> vidéosurveil<strong>la</strong>nce à<br />
partir <strong>de</strong>s données suivantes :<br />
• E1 : Le système doit pouvoir détecter <strong>de</strong>s intrus 24h/24, 7j/7.<br />
• E2 : Le système doit pouvoir détecter <strong>de</strong>s intrus dans n’importe quelles<br />
conditions météorologiques.<br />
• D1 : Le système doit utiliser <strong>de</strong>s caméras pour détecter les intrus.<br />
• En effet, l’étu<strong>de</strong> <strong>de</strong> faisabilité XYZ a montré que l’utilisation <strong>de</strong> caméras est le<br />
moyen le plus rentable <strong>de</strong> vérifier les exigences E1 et E2.<br />
• La spécification du système contient les exigences E1, E2 et D1.<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-19-
Corrigé : vidéosurveil<strong>la</strong>nce<br />
Les diagrammes<br />
req Exigences [spécifications]<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
« requirement »<br />
Fonctionnement 24/7<br />
id = E1<br />
text = ‘’Le système doit pouvoir<br />
détecter <strong>de</strong>s intrus 24h/24, 7j/7.’’<br />
« <strong>de</strong>riveReqt »<br />
« requirement »<br />
Spécification du système<br />
⊕ ⊕<br />
⊕<br />
« <strong>de</strong>riveReqt »<br />
« requirement »<br />
Fonctionnement tous temps<br />
id = E2<br />
text = ‘’Le système doit pouvoir<br />
détecter <strong>de</strong>s intrus dans n’importe<br />
quelles conditions météo.’’<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« requirement »<br />
Choix <strong>de</strong>s capteurs<br />
id = D1<br />
text = ‘’Le système doit utiliser <strong>de</strong>s<br />
caméras pour détecter les intrus.’’<br />
« rationale »<br />
L’étu<strong>de</strong> <strong>de</strong> faisabilité XYZ a<br />
montré que l’utilisation <strong>de</strong><br />
caméras est le moyen le plus<br />
rentable <strong>de</strong> vérifier les<br />
exigences E1 et E2.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-20-
Exigences (req) : syntaxe<br />
Les diagrammes<br />
« requirement »<br />
Nom<br />
« requirement »<br />
A<br />
⊕<br />
« requirement »<br />
B<br />
Inclusion : B contient A<br />
(<strong>la</strong> satisfaction <strong>de</strong> A est<br />
nécessaire à celle <strong>de</strong> B)<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
id = 1<br />
text = ‘’Le système doit...’’<br />
Exigence : qualité ou<br />
caractéristique attendue<br />
du système ou <strong>de</strong> son<br />
comportement<br />
« requirement »<br />
A<br />
A<br />
« <strong>de</strong>riveReqt »<br />
« refine »<br />
« requirement »<br />
B<br />
« requirement »<br />
B<br />
Dérivation : A a été<br />
i<strong>de</strong>ntifiée comme un<br />
moyen <strong>de</strong> satisfaire B<br />
Raffinement : A raffine B<br />
(B concerne A)<br />
La modélisation<br />
comportementale<br />
A<br />
« satisfy »<br />
« requirement »<br />
B<br />
Satisfaction : les<br />
propriétés réalisées <strong>de</strong> A<br />
sont conformes à B<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« rationale »<br />
...<br />
A<br />
« verify »<br />
« requirement »<br />
B<br />
Vérification : A permet <strong>de</strong><br />
déterminer si B est<br />
réalisée ou non<br />
Justification <strong>de</strong> l’exigence<br />
ou <strong>de</strong> <strong>la</strong> re<strong>la</strong>tion désignée<br />
A<br />
« trace »<br />
« requirement »<br />
B<br />
Traçabilité : A est à<br />
l’origine <strong>de</strong> B<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-21-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation structurelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Diagramme <strong>de</strong> définition <strong>de</strong>s blocs<br />
• Diagramme interne d’un bloc<br />
• (Diagramme <strong>de</strong>s paquets)<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-22-
La notion clé : blocs et instances<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• En SysML, les composants sont modélisés par <strong>de</strong>s objets<br />
issus <strong>de</strong> c<strong>la</strong>sses :<br />
• c<strong>la</strong>sses : blocs (modèles génériques <strong>de</strong> composants)<br />
• objets : instances <strong>de</strong>s blocs (modèles particu<strong>la</strong>risés <strong>de</strong><br />
composants)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Bloc<br />
Re<strong>la</strong>tion<br />
d’appartenance<br />
avec multiplicité<br />
Bloc avec un<br />
paramètre<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
4<br />
« block »<br />
Roue<br />
values<br />
rayon : m<br />
Vue interne du<br />
bloc Véhicule<br />
ibd [Block] Véhicule [instances]<br />
:Roue<br />
:Roue<br />
:Roue<br />
:Roue<br />
Instances du<br />
bloc Roue<br />
Diagramme <strong>de</strong> définition <strong>de</strong>s blocs<br />
Diagramme interne du bloc Véhicule<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-23-
La notion clé : blocs et instances<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Deux diagrammes utilisés conjointement :<br />
• diagramme <strong>de</strong> définition <strong>de</strong> blocs : pour définir les (c<strong>la</strong>sses<br />
<strong>de</strong>) modèles <strong>de</strong> composants<br />
• diagramme interne d’un bloc : pour représenter l’intérieur<br />
d’un bloc (ses composants et leurs liens structurels)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Bloc<br />
Re<strong>la</strong>tion<br />
d’appartenance<br />
avec multiplicité<br />
Bloc avec un<br />
paramètre<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
4<br />
« block »<br />
Roue<br />
values<br />
rayon : m<br />
Vue interne du<br />
bloc Véhicule<br />
ibd [Block] Véhicule [instances]<br />
:Roue<br />
:Roue<br />
:Roue<br />
:Roue<br />
Instances du<br />
bloc Roue<br />
Diagramme <strong>de</strong> définition <strong>de</strong>s blocs<br />
Diagramme interne du bloc Véhicule<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-24-
Le diagramme <strong>de</strong> définition <strong>de</strong>s blocs<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Bloc : c<strong>la</strong>sse <strong>de</strong> modèles <strong>de</strong> composants<br />
• du produit ou <strong>de</strong> son environnement<br />
• matériels, logiciels, acteurs, abstractions...<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Un bloc est caractérisé par :<br />
• ses paramètres (values)<br />
• les blocs qui lui appartiennent (parts)<br />
• ses ports (définis plus loin)<br />
• ... représentés :<br />
• soit graphiquement (sauf paramètres)<br />
• soit dans <strong>de</strong>s compartiments<br />
Bloc<br />
Re<strong>la</strong>tion<br />
d’appartenance<br />
avec multiplicité<br />
Bloc avec un<br />
paramètre<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
4<br />
« block »<br />
Roue<br />
values<br />
rayon : m<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-25-
Les re<strong>la</strong>tions entre blocs<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• 3 types :<br />
• appartenance (ou composition, ou agrégation forte) : « a un »<br />
• référence (ou agrégation faible), peu utilisée<br />
• spécialisation (cf. acteurs et use cases) : « est un »<br />
La modélisation<br />
comportementale<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
bdd Structure [blocs]<br />
« block »<br />
Moteur<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
4<br />
« block »<br />
Roue<br />
« block »<br />
Moteur<br />
4 cylindres<br />
« block »<br />
Moteur<br />
6 cylindres<br />
appartenance<br />
spécialisation<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-26-
La re<strong>la</strong>tion d’appartenance<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Rôle : nom donné à <strong>la</strong> re<strong>la</strong>tion d’appartenance<br />
• permet <strong>de</strong> distinguer les instances qu’il possè<strong>de</strong><br />
• conseil : nommer du point <strong>de</strong> vue du « propriétaire » et en<br />
minuscules (pour distinguer <strong>de</strong>s noms <strong>de</strong> blocs)<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Multiplicité : nombre d’instances ayant le même rôle<br />
• 1 par défaut<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
avant<br />
gauche<br />
avant<br />
droite<br />
« block »<br />
Roue<br />
arrière<br />
droite<br />
arrière<br />
gauche<br />
4<br />
« block »<br />
Roue<br />
rôles distincts<br />
rôles non distincts<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-27-
Exemple : le véhicule<br />
Les diagrammes<br />
• Point <strong>de</strong> vue externe : le système dans son environnement<br />
La modélisation<br />
fonctionnelle<br />
Stéréotype : bloc particulier<br />
(ici, pour i<strong>de</strong>ntifier le système)<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-28-
Exemple : le véhicule<br />
Les diagrammes<br />
• Point <strong>de</strong> vue interne : les composants du système<br />
La modélisation<br />
fonctionnelle<br />
Stéréotype :<br />
composant matériel<br />
Affectation<br />
matériel-logiciel<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Le moteur a soit 4, soit 6 cylindres<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-29-
La re<strong>la</strong>tion <strong>de</strong> spécialisation<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Le bloc spécialisé :<br />
• hérite <strong>de</strong> toutes les<br />
propriétés du bloc général<br />
• peut éventuellement en<br />
possé<strong>de</strong>r d’autres<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-30-
Exercice : caméra<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Proposer un diagramme <strong>de</strong> définition <strong>de</strong>s blocs d’une caméra faisant apparaître<br />
les éléments suivants :<br />
• un module <strong>de</strong> prise <strong>de</strong> vue, constitué :<br />
• d’un objectif<br />
• et d’un capteur, pouvant être CCD ou CMOS ;<br />
• un module <strong>de</strong> traitement, constitué :<br />
• d’un convertisseur vidéo<br />
• et d’un convertisseur MPEG<br />
• un système <strong>de</strong> montage, constitué :<br />
• d’un <strong>support</strong> <strong>de</strong> fixation,<br />
• et <strong>de</strong> <strong>de</strong>ux axes motorisés, i<strong>de</strong>ntiques mais disposés différemment : l’un<br />
est horizontal et l’autre vertical.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-31-
Corrigé : caméra<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
bdd Structure [corrigé]<br />
« block »<br />
Caméra<br />
La modélisation<br />
structurelle<br />
« block »<br />
Module <strong>de</strong> prise<br />
<strong>de</strong> vue<br />
« block »<br />
Module <strong>de</strong><br />
traitement<br />
« block »<br />
Système <strong>de</strong><br />
montage<br />
horizontal<br />
vertical<br />
La modélisation<br />
comportementale<br />
« block »<br />
Objectif<br />
« block »<br />
Capteur<br />
« block »<br />
Convertisseur<br />
vidéo<br />
« block »<br />
Convertisseur<br />
MPEG<br />
« block »<br />
Support <strong>de</strong><br />
fixation<br />
« block »<br />
Axe motorisé<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« block »<br />
Capteur<br />
CCD<br />
« block »<br />
Capteur<br />
CMOS<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-32-
Définition <strong>de</strong>s blocs (bdd) : syntaxe<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
« block »<br />
Nom<br />
values<br />
gran<strong>de</strong>ur : unité<br />
« system of<br />
interest »<br />
Nom<br />
Bloc (c<strong>la</strong>sse <strong>de</strong><br />
modèles <strong>de</strong><br />
composants) avec<br />
un paramètre<br />
Stéréotypes (blocs spécifiques)<br />
Système d’étu<strong>de</strong><br />
« block »<br />
Ensemble<br />
« block »<br />
Ensemble<br />
role1<br />
mult1<br />
role2<br />
mult2<br />
role1<br />
mult1<br />
role2<br />
mult2<br />
« block »<br />
Bloc1<br />
« block »<br />
Bloc2<br />
« block »<br />
Bloc1<br />
« block »<br />
Bloc2<br />
Re<strong>la</strong>tions<br />
d’appartenance<br />
(ou composition)<br />
avec noms <strong>de</strong> rôles<br />
et multiplicités<br />
(synonyme)<br />
La modélisation<br />
comportementale<br />
« software »<br />
Nom<br />
« hardware »<br />
Nom<br />
Logiciel<br />
Matériel<br />
« block »<br />
Ensemble<br />
parts<br />
role1 : Bloc1 [mult1]<br />
role2 : Bloc2[mult2]<br />
(synonyme)<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« actor »<br />
Nom<br />
Acteur<br />
Acteur (synonyme)<br />
« block »<br />
Général<br />
« block »<br />
Spécialisé<br />
Re<strong>la</strong>tion <strong>de</strong><br />
spécialisation<br />
Nom<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-33-
Le diagramme interne d’un bloc<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Représente l’intérieur d’un bloc :<br />
• ses composants (parts)<br />
• leurs interfaces, et éventuellement celles du bloc (ports)<br />
• les re<strong>la</strong>tions entre ces interfaces<br />
• ...en accord avec sa définition (bdd)<br />
Définition <strong>de</strong>s blocs<br />
Vue du bloc Anti-Lock Controller<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Re<strong>la</strong>tion<br />
(flux)<br />
Ports<br />
Composants<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-34-
Les modèles <strong>de</strong> composants<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Principe : instanciation <strong>de</strong>s blocs contenus<br />
• nom : nom_du_rôle:Nom_du_bloc<br />
• nombre égal à <strong>la</strong> multiplicité (indiscernables si >1 !)<br />
La modélisation<br />
structurelle<br />
• Conseil : lire les noms d’instances <strong>de</strong> droite à gauche<br />
La modélisation<br />
comportementale<br />
bdd Structure [blocs]<br />
« block »<br />
Véhicule<br />
ibd [Block] Véhicule [instances]<br />
arrière<br />
gauche:Roue<br />
avant<br />
gauche:Roue<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
avant<br />
gauche<br />
avant<br />
droite<br />
« block »<br />
Roue<br />
arrière<br />
droite<br />
arrière<br />
gauche<br />
arrière<br />
droite:Roue<br />
avant<br />
droite:Roue<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-35-
Les ports<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Ports : interfaces orientées pouvant être <strong>de</strong> 2 sortes<br />
• port <strong>de</strong> flux (flow port) : permet un flux <strong>de</strong> matière, d’énergie<br />
et/ou d’in<strong>formation</strong><br />
• port standard (standard port) : permet à un composant <strong>de</strong><br />
fournir un service (informatique) à un autre<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-36-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
Les ports et les flux<br />
• Les ports <strong>de</strong> flux possè<strong>de</strong>nt :<br />
• un sens<br />
• un nom facultatif décrivant l’interface représentée<br />
• Les flux <strong>de</strong> matière, d’énergie et/ou d’in<strong>formation</strong><br />
• circulent entre <strong>de</strong>ux ports<br />
• possè<strong>de</strong>nt un nom facultatif<br />
• Nommer au moins un <strong>de</strong>s <strong>de</strong>ux !<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-37-
Les diagrammes<br />
Exemple : voiture (externe)<br />
Encapsu<strong>la</strong>tion<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Attention : décrit <strong>la</strong> structure, pas <strong>de</strong>s fonctions ou <strong>de</strong>s comportements !<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-38-
Exemple : voiture (interne)<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Stéréotype<br />
indiquant que le<br />
flux est stocké<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-39-
Exercice : caméra<br />
Les diagrammes<br />
bdd Structure [blocs <strong>de</strong> <strong>la</strong> caméra]<br />
« block »<br />
Caméra<br />
La modélisation<br />
fonctionnelle<br />
« block »<br />
Module <strong>de</strong> prise<br />
<strong>de</strong> vue<br />
« block »<br />
Module <strong>de</strong><br />
traitement<br />
La modélisation<br />
structurelle<br />
« block »<br />
Objectif<br />
« block »<br />
Capteur<br />
« block »<br />
Convertisseur<br />
vidéo<br />
« block »<br />
Convertisseur<br />
MPEG<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Construire un diagramme interne du bloc « Caméra » représentant :<br />
• un flux « Lumière » circu<strong>la</strong>nt <strong>de</strong> l’extérieur <strong>de</strong> <strong>la</strong> caméra à l’objectif,<br />
• un flux « Lumière » circu<strong>la</strong>nt <strong>de</strong> l’objectif au capteur,<br />
• un flux « Image » circu<strong>la</strong>nt du capteur au convertisseur vidéo,<br />
• un flux « Vidéo » circu<strong>la</strong>nt du convertisseur vidéo au convertisseur MPEG,<br />
• et un flux « MPEG » circu<strong>la</strong>nt du convertisseur MPEG à l’extérieur <strong>de</strong> <strong>la</strong><br />
caméra.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-40-
Corrigé : caméra<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
ibd [Block] Caméra [corrigé]<br />
:Module <strong>de</strong> prise <strong>de</strong> vue<br />
:Module <strong>de</strong> traitement<br />
La modélisation<br />
structurelle<br />
→<br />
:Lumière<br />
→<br />
:Lumière<br />
→<br />
:Objectif<br />
↓<br />
:Convertisseur<br />
MPEG<br />
↑<br />
→<br />
:MPEG<br />
→<br />
:MPEG<br />
→<br />
La modélisation<br />
comportementale<br />
↓<br />
:Lumière<br />
↑<br />
:Vidéo<br />
:Capteur<br />
→<br />
:Image<br />
→<br />
:Image<br />
→<br />
:Image<br />
→<br />
:Convertisseur<br />
vidéo<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-41-
Intérieur d’un bloc (ibd) : syntaxe<br />
Les diagrammes<br />
rôle:Bloc<br />
Instance d’un bloc<br />
(modèle <strong>de</strong><br />
composant)<br />
:Bloc1<br />
→<br />
:Flux<br />
→<br />
:Bloc1<br />
Flux avec nom<br />
La modélisation<br />
fonctionnelle<br />
→<br />
rôle:Bloc<br />
Port <strong>de</strong> flux<br />
entrant<br />
:Sous-système<br />
La modélisation<br />
structurelle<br />
rôle:Bloc<br />
→<br />
Port <strong>de</strong> flux<br />
sortant<br />
:Flux1<br />
→<br />
:Flux1<br />
→<br />
:Bloc<br />
→<br />
:Flux2<br />
→<br />
:Flux2<br />
La modélisation<br />
comportementale<br />
ibd [Block] Nom du bloc [...]<br />
Délégation <strong>de</strong> ports<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
→<br />
Port <strong>de</strong> flux<br />
appartenant au<br />
bloc contenant<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-42-
Le diagramme <strong>de</strong>s paquets<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Un paquet :<br />
• contient d’autres éléments<br />
• est analogue à un dossier<br />
informatique :<br />
• sert à c<strong>la</strong>sser les données<br />
• est d’autant plus utile que les<br />
données sont nombreuses...<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Les diagrammes <strong>de</strong> haut<br />
niveau représentent<br />
souvent le contenu d’un<br />
paquet<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-43-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation comportementale<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Causale, par une suite d’étapes :<br />
• diagramme d’activités<br />
• diagramme d’états (state machine)<br />
• diagramme <strong>de</strong> séquence<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Acausale, par <strong>de</strong>s équations :<br />
• diagramme paramétrique<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-44-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Le diagramme d’activités<br />
• Objectif : décrire<br />
• <strong>de</strong>s actions (trans<strong>formation</strong>s <strong>de</strong> flux)<br />
• les flux transformés par ces actions<br />
• l’ordre et les conditions d’exécution <strong>de</strong> ces actions<br />
• ... et attribuer les actions aux composants<br />
Actions effectuées<br />
par le conducteur<br />
Action initiale<br />
Actions effectuées<br />
par le véhicule<br />
Action<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Flux<br />
Attente <strong>de</strong> <strong>la</strong> réception<br />
d’un signal<br />
Fin <strong>de</strong> l’activité<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-45-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
Les actions<br />
• Une action :<br />
• transforme un flux d’entrée (matière, énergie, in<strong>formation</strong>) en<br />
un flux <strong>de</strong> sortie<br />
• démarre lorsque les entrées nécessaires sont présentes<br />
• s’arrête une fois qu’elle a produit les sorties <strong>de</strong>mandées<br />
• Sémantique : réseau <strong>de</strong> Petri (cf. Grafcet)<br />
« Broche » (pin)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
corriger<br />
copies non corrigées [40]<br />
<strong>de</strong>s copies<br />
copies corrigées [40]<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-46-
Les diagrammes<br />
Les « macro-actions »<br />
• Une « macro-action » représente une autre activité :<br />
• elle s’appelle alors « :Nom_<strong>de</strong>_l’activité »<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-47-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les « macro-actions »<br />
• Une « macro-action » représente une autre activité :<br />
• elle s’appelle alors « :Nom_<strong>de</strong>_l’activité »<br />
• le « râteau » indique que l’activité est définie sur un autre<br />
diagramme<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-48-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les « macro-actions »<br />
• Une « macro-action » représente une autre activité :<br />
• elle s’appelle alors « :Nom_<strong>de</strong>_l’activité »<br />
• le « râteau » indique que l’activité est définie sur un autre<br />
diagramme<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-49-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les « macro-actions »<br />
• Une « macro-action » représente une autre activité :<br />
• elle s’appelle alors « :Nom_<strong>de</strong>_l’activité »<br />
• le « râteau » indique que l’activité est définie sur un autre<br />
diagramme<br />
• les entrées et sorties doivent correspondre<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-50-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les « macro-actions »<br />
• Une « macro-action » représente une autre activité :<br />
• elle s’appelle alors « :Nom_<strong>de</strong>_l’activité »<br />
• le « râteau » indique que l’activité est définie sur un autre<br />
diagramme<br />
• les entrées et sorties doivent correspondre<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-51-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Comportement <strong>de</strong>s actions<br />
• Discret « nonstreaming » :<br />
• les entrées sont traitées par lots entiers<br />
• exemple : correction <strong>de</strong> copies<br />
corriger<br />
<strong>de</strong>s copies<br />
copies non corrigées [40] copies corrigées [40]<br />
Sémantique séquentielle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Discret « streaming » :<br />
• l’action accepte <strong>de</strong>s entrées/produit <strong>de</strong>s sorties sans avoir fini le lot courant<br />
• exemple : chaîne <strong>de</strong> production (à plusieurs postes en série)<br />
pièces brutes [10]<br />
{stream}<br />
usiner<br />
<strong>de</strong>s pièces<br />
pièces usinées [10]<br />
{stream}<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Continu (et forcément « streaming ») :<br />
• exemple : trans<strong>formation</strong> <strong>de</strong> mouvement<br />
Sémantique fonctionnelle<br />
couple d’entrée amplifier couple <strong>de</strong> sortie<br />
« continuous » {stream} le couple {stream} « continuous »<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-52-
Flux d’objets et flux <strong>de</strong> contrôle<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• 2 types <strong>de</strong> flux :<br />
• flux d’objets (matière, énergie, in<strong>formation</strong>) : matière d’oeuvre<br />
• flux <strong>de</strong> contrôle : conditions supplémentaires <strong>de</strong> démarrage<br />
<strong>de</strong>s actions<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Entrée <strong>de</strong> contrôle<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Sortie <strong>de</strong> contrôle<br />
Lionel Gendre et Jean-Marie Virely<br />
-53-
Flux d’objets et flux <strong>de</strong> contrôle<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• 2 types <strong>de</strong> flux :<br />
• flux d’objets (matière, énergie, in<strong>formation</strong>) : matière d’oeuvre<br />
• flux <strong>de</strong> contrôle : conditions supplémentaires <strong>de</strong> démarrage<br />
<strong>de</strong>s actions<br />
• Une action munie d’entrées/sorties <strong>de</strong> contrôle :<br />
• ne peut démarrer que si ses entrées <strong>de</strong> contrôle sont activées<br />
• active ses sorties <strong>de</strong> contrôle une fois terminée<br />
Entrée <strong>de</strong> contrôle<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Sortie <strong>de</strong> contrôle<br />
Lionel Gendre et Jean-Marie Virely<br />
-54-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Flux <strong>de</strong> contrôle<br />
• Une action munie d’entrées/sorties <strong>de</strong> contrôle :<br />
• ne peut démarrer que si ses entrées <strong>de</strong> contrôle sont activées<br />
• active ses sorties <strong>de</strong> contrôle une fois terminée<br />
corriger<br />
copies non corrigées [40]<br />
<strong>de</strong>s copies<br />
copies corrigées [40]<br />
...<br />
répondre au<br />
téléphone<br />
appel entrant<br />
• Les flux <strong>de</strong> contrôle permettent d’imposer un ordre d’exécution <strong>de</strong>s actions<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Signaux : pour coupler <strong>de</strong>s comportements<br />
nom du<br />
signal<br />
Emission d’un signal : envoie le<br />
signal lorsqu’il est activé<br />
nom du<br />
signal<br />
Réception d’un signal : s’active<br />
à <strong>la</strong> réception du signal<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-55-
Routages <strong>de</strong> flux<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
Bifurcation : l’entrée active<br />
toutes les sorties<br />
Jonction : <strong>la</strong> sortie s’active si toutes les<br />
entrées sont actives, sauf mention contraire<br />
(« joinSpecification »)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Décision : l’entrée active une sortie<br />
(une et une seule condition doit être vraie)<br />
Mé<strong>la</strong>nge : <strong>la</strong> sortie s’active<br />
dès qu’une entrée est active<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-56-
Les diagrammes<br />
Les partitions (« swim<strong>la</strong>nes »)<br />
Instances <strong>de</strong> blocs<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Pour affecter les comportements (ou flux fonctionnels) aux composants<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-57-
Exemple : vidéosurveil<strong>la</strong>nce<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Stockage <strong>de</strong> données<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-58-
Exercice : <strong>la</strong> voiture<br />
Les diagrammes<br />
• Construire un diagramme d’activité constitué <strong>de</strong>s <strong>de</strong>ux actions suivantes :<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• une action contrôler l’accélérateur,<br />
• active dès le démarrage <strong>de</strong> l’activité,<br />
• sans flux d’objet en entrée,<br />
• avec une sortie :Position <strong>de</strong> l’accélérateur produisant un flux continu,<br />
• effectuée par une instance d’un bloc nommée :Conducteur ;<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• une action fournir du couple,<br />
• avec une entrée :Position <strong>de</strong> l’accélérateur liée au flux précé<strong>de</strong>nt,<br />
• avec une sortie :Couple produisant un flux continu...<br />
• ... qui alimente <strong>la</strong> sortie :Couple <strong>de</strong> l’activité entière,<br />
• le tout effectué par l’instance d’un bloc nommée :Véhicule ;<br />
• L’activité doit s’arrêter à <strong>la</strong> réception, par le :Véhicule, du signal contact coupé.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-59-
Corrigé : <strong>la</strong> voiture<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
act [Activity] nom [corrigé]<br />
« allocateActivityPartition »<br />
:Conducteur<br />
« allocateActivityPartition »<br />
:Véhicule<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
contrôler<br />
l’accélérateur<br />
:Position <strong>de</strong><br />
l’accélérateur<br />
:Position <strong>de</strong><br />
l’accélérateur<br />
:Couple<br />
« continuous » fournir du « continuous »<br />
couple<br />
:Couple<br />
contact<br />
coupé<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-60-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
flux d’objet<br />
entrant<br />
le 01/07/2013<br />
flux <strong>de</strong> contrôle entrant<br />
action<br />
flux <strong>de</strong> contrôle sortant<br />
:Type <strong>de</strong> flux<br />
:Type <strong>de</strong> flux<br />
{stream}<br />
:Activité<br />
:Type <strong>de</strong> flux<br />
:Type <strong>de</strong> flux<br />
{stream}<br />
:Type <strong>de</strong> flux<br />
{stream}<br />
« continuous »<br />
:Type <strong>de</strong> flux<br />
{stream}<br />
Activités (act) : syntaxe<br />
flux d’objet<br />
sortant<br />
flux discret<br />
traité un à un<br />
flux discret<br />
traité sans<br />
interruption<br />
flux continu<br />
(le {stream} est facultatif)<br />
Appel d’une autre<br />
activité<br />
nom du<br />
signal<br />
Lionel Gendre et Jean-Marie Virely<br />
nom du<br />
signal<br />
Noeud initial : s’active au<br />
démarrage <strong>de</strong> l’activité<br />
Noeud final : arrête l’activité<br />
(et toutes ses actions)<br />
Noeud <strong>de</strong> fin <strong>de</strong> flux : termine<br />
une séquence d’actions sans<br />
arrêter l’activité<br />
Emission d’un signal : envoie le<br />
signal lorsqu’il est activé<br />
Réception d’un signal : s’active<br />
à <strong>la</strong> réception du signal<br />
« allocateActivityPartition »<br />
rôle:Bloc<br />
Allocation d’actions à une<br />
instance d’un bloc<br />
-61-
Le diagramme d’états<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectif : modéliser un comportement par<br />
• <strong>de</strong>s états<br />
• et <strong>de</strong>s transitions activées par <strong>de</strong>s événements.<br />
• Automate fini (state machine), simu<strong>la</strong>ble<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Etat initial<br />
Transition :<br />
événement[condition]<br />
Etat avec<br />
comportement<br />
d’entrée<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-62-
Les états<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Etat : étape reproductible <strong>de</strong> <strong>la</strong> vie d’un composant<br />
• exclusive (un seul état actif à <strong>la</strong> fois)<br />
• munie <strong>de</strong> comportements (entrée, phase active, sortie)<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Etat initial<br />
Etat final (arrête<br />
l’automate)<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-63-
Les états<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Etats composés :<br />
• contiennent un autre<br />
automate<br />
• avec état initial<br />
• sans état final !<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-64-
Les transitions<br />
Les diagrammes<br />
• Transitions : régissent les changements d’état<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Franchies lorsque :<br />
• un événement déclencheur se produit...<br />
• ... et qu’une condition <strong>de</strong> gar<strong>de</strong> est vraie...<br />
• ... le franchissement déclenche alors une action<br />
• Notation : événement[condition]/action<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Signal d’arrêt<br />
[ utilisateurs en ligne >=1 ]<br />
/<strong>de</strong>man<strong>de</strong>r confirmation<br />
Signal <strong>de</strong> confirmation<br />
/arrêter caméras<br />
Fonctionnement Ecran d’arrêt Arrêté<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-65-
Les transitions<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Quelques événements :<br />
• émission/réception d’un signal<br />
• changement d’une gran<strong>de</strong>ur : when(x>0)<br />
• condition temporelle : after(60s) ou at(13:00)<br />
• Condition <strong>de</strong> gar<strong>de</strong> : expression booléenne<br />
La modélisation<br />
comportementale<br />
• Action : comportement (activité, automate...)<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Signal d’arrêt<br />
[ utilisateurs en ligne >=1 ]<br />
/<strong>de</strong>man<strong>de</strong>r confirmation<br />
Signal <strong>de</strong> confirmation<br />
/arrêter caméras<br />
Fonctionnement Ecran d’arrêt Arrêté<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-66-
Exemple : <strong>la</strong> voiture<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-67-
Exercice : <strong>la</strong> barrière <strong>de</strong> parking<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Construire un diagramme d’états pour <strong>la</strong> barrière <strong>de</strong> parking selon les règles<br />
suivantes :<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• <strong>la</strong> barrière est initialement Fermée ;<br />
• lorsque l’événement Note payée se produit, un comportement Ouvrir <strong>la</strong><br />
barrière est appelé, et <strong>la</strong> barrière est alors supposée Ouverte ;<br />
• lorsque l’événement Franchissement se produit, un comportement Fermer<br />
<strong>la</strong> barrière est appelé, et <strong>la</strong> barrière est alors supposée Fermée.<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-68-
Corrigé : <strong>la</strong> barrière <strong>de</strong> parking<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
stm Etats <strong>de</strong> <strong>la</strong> barrière [corrigé]<br />
Note payée<br />
/Ouvrir <strong>la</strong> barrière<br />
La modélisation<br />
structurelle<br />
Fermée<br />
Franchissement<br />
/Fermer <strong>la</strong> barrière<br />
Ouverte<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Variante possible : utiliser <strong>de</strong>s comportements <strong>de</strong> sortie...<br />
• ... mais pas <strong>de</strong>s comportements d’entrée (à l’état initial, ce<strong>la</strong> appellerait Fermer<br />
<strong>la</strong> barrière alors que celle-ci est supposée déjà fermée !)<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-69-
Automates finis (stm) : syntaxe<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Nom <strong>de</strong> l’état<br />
------------------------------------------------------------<br />
entry / comportement appelé à l’entrée<br />
do / comportement tant que l’état reste actif<br />
exit / comportement appelé à <strong>la</strong> sortie<br />
La modélisation<br />
structurelle<br />
événement[condition]/action<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Etat initial : actif au<br />
démarrage <strong>de</strong> l’automate<br />
Noeud final : arrête l’automate<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-70-
Le diagramme <strong>de</strong> séquence<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectif : décrire les interactions entre composants<br />
• dans l’ordre chronologique<br />
• par <strong>de</strong>s messages (appel d’un comportement chez le<br />
<strong>de</strong>stinataire)<br />
• sans détailler les comportements individuels<br />
La modélisation<br />
comportementale<br />
Instance d’un bloc<br />
(modèle d’un composant)<br />
Message<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Sens du temps<br />
Réponse<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-71-
Le diagramme <strong>de</strong> séquence<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectif : décrire les interactions entre composants<br />
• dans l’ordre chronologique<br />
• par <strong>de</strong>s messages (appel d’un comportement chez le<br />
<strong>de</strong>stinataire)<br />
• sans détailler les comportements individuels<br />
La modélisation<br />
comportementale<br />
Instance d’un bloc<br />
(modèle d’un composant)<br />
Message<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Comportement<br />
individuel<br />
Sens du temps<br />
Réponse<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-72-
Les lignes <strong>de</strong> vie<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Représentent <strong>la</strong> « vie » d’une instance d’un bloc :<br />
• nom <strong>de</strong> l’instance (nom du rôle:Nom du bloc)<br />
• ligne interrompue verticale<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Sens du temps<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-73-
Les messages<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Appel d’un comportement chez le <strong>de</strong>stinataire<br />
• signaux (cf. activités) ou opérations (non présentées ici)<br />
• 3 catégories :<br />
• synchrones : l’expéditeur attend une réponse<br />
• asynchrones : l’expéditeur n’attend pas<br />
• réponses<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Messages réflexifs : interactions internes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-74-
Les messages<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Asynchrone<br />
Synchrone<br />
La modélisation<br />
structurelle<br />
Réponse<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-75-
Exemple : <strong>la</strong> voiture<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-76-
Exercice : vidéosurveil<strong>la</strong>nce<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Construire un diagramme <strong>de</strong> séquence représentant l’interaction suivante entre<br />
un acteur <strong>de</strong> type (bloc) Opérateur Qualifié ayant le rôle <strong>de</strong> gar<strong>de</strong>, et le<br />
:Système :<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• le gar<strong>de</strong> envoie une Alerte Intrusion au :Système et attend confirmation ;<br />
• le :Système déclenche une interaction interne synchrone Sonner l’a<strong>la</strong>rme,<br />
obtient une confirmation interne A<strong>la</strong>rme déclenchée, puis répond Alerte<br />
confirmée au gar<strong>de</strong> ;<br />
• ensuite :<br />
• si l’on est en mo<strong>de</strong> automatique, le gar<strong>de</strong> envoie un message Suivre <strong>la</strong><br />
trace au :Système, sans attendre <strong>de</strong> réponse ;<br />
• si l’on est en mo<strong>de</strong> manuel, le gar<strong>de</strong> envoie simultanément les<br />
messages Régler l’inclinaison horizontale et Régler l’inclinaison<br />
verticale au :Système, sans attendre <strong>de</strong> réponse.<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-77-
Les diagrammes<br />
sd Interaction [corrigé]<br />
Corrigé : vidéosurveil<strong>la</strong>nce<br />
:Système<br />
La modélisation<br />
fonctionnelle<br />
gar<strong>de</strong>:Opérateur qualifié<br />
« Actor »<br />
Alerte Intrusion<br />
La modélisation<br />
structurelle<br />
Alerte confirmée<br />
Sonner l’a<strong>la</strong>rme<br />
A<strong>la</strong>rme déclenchée<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
alt<br />
Suivre <strong>la</strong> trace<br />
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br />
{mo<strong>de</strong> manuel}<br />
par<br />
{mo<strong>de</strong> automatique}<br />
Régler l’inclinaison horizontale<br />
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br />
Régler l’inclinaison verticale<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-78-
Interactions (sd) : syntaxe<br />
Les diagrammes<br />
rôle:Bloc<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
:Nom<br />
« Actor »<br />
Message synchrone (qui <strong>de</strong>man<strong>de</strong> une réponse)<br />
Réponse<br />
Message asynchrone (qui ne <strong>de</strong>man<strong>de</strong> pas <strong>de</strong> réponse)<br />
Message réflexif asynchrone (interaction interne)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
ref<br />
par<br />
Messages 1<br />
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br />
Messages 2<br />
alt<br />
Nom d’une interaction<br />
Messages 1 {condition 1}<br />
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -<br />
{condition 2}<br />
Messages 2<br />
Appel d’une autre interaction<br />
(mêmes participants)<br />
Exécution parallèle<br />
(simultanée)<br />
Branchement conditionnel<br />
(une et une seule <strong>de</strong>s conditions doit être vraie)<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-79-
Le diagramme paramétrique<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Objectif : représenter un système d’équations par :<br />
• contraintes : re<strong>la</strong>tions mathématiques<br />
• paramètres : variables <strong>de</strong> ces re<strong>la</strong>tions<br />
• caractéristiques <strong>de</strong>s blocs<br />
• Simu<strong>la</strong>ble<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Contrainte<br />
(équation)<br />
Paramètre<br />
(variable <strong>de</strong> l’équation)<br />
Paramètre d’un bloc<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-80-
Les contraintes<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Contrainte : équation, équa diff, inéquation...<br />
• paramètres<br />
• re<strong>la</strong>tion(s) entre ces paramètres<br />
• C<strong>la</strong>sses <strong>de</strong> contraintes : blocs <strong>de</strong> contraintes<br />
• définis sur un bdd<br />
• s’utilisent comme <strong>de</strong>s blocs<br />
Référence avec rôle<br />
(permet d’utiliser les<br />
propriétés du bloc<br />
Véhicule)<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-81-
Définition et usage <strong>de</strong>s contraintes<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Définition sur un bdd...<br />
• par c<strong>la</strong>sses...<br />
• avec appartenances...<br />
• ...rôles, multiplicités...<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-82-
Définition et usage <strong>de</strong>s contraintes<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Définition sur un bdd...<br />
• par c<strong>la</strong>sses...<br />
• avec appartenances...<br />
• ...rôles, multiplicités...<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• ... et usage sur un par<br />
• instances <strong>de</strong>s c<strong>la</strong>sses<br />
• re<strong>la</strong>tions entre instances<br />
• re<strong>la</strong>tions avec le reste du<br />
modèle<br />
Instanciation<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-83-
Construction du système d’équations<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
• Composition du diagramme paramétrique :<br />
• instances <strong>de</strong>s blocs <strong>de</strong> contraintes ;<br />
• liens entre les variables égales ;<br />
• liens avec les paramètres <strong>de</strong>s blocs référencés avec un rôle :<br />
nom du rôle.nom du paramètre<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-84-
Et ensuite...<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
• Renseigner les valeurs numériques<br />
• Exporter vers un logiciel <strong>de</strong> simu<strong>la</strong>tion<br />
• Simuler !<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-85-
Paramétrique (bdd, par)<br />
Les diagrammes<br />
Définition (dans un bdd)<br />
Utilisation (dans un par)<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
« constraint »<br />
NomDuBloc<br />
parameters<br />
x : unité<br />
y : unité<br />
constraints<br />
{f(x,y) = 0}<br />
« constraint »<br />
Contenante<br />
role<br />
mult<br />
« constraint »<br />
Contenue<br />
Définition d’un bloc<br />
<strong>de</strong> contrainte avec<br />
<strong>de</strong>ux paramètres et<br />
une contrainte (ie.<br />
une re<strong>la</strong>tion entre ces<br />
paramètres)<br />
Composition <strong>de</strong><br />
contraintes avec rôle<br />
et multiplicité<br />
éventuels<br />
x<br />
rôle:NomDuBloc<br />
y<br />
rôle1:Bloc1<br />
x<br />
z<br />
rôle2:Bloc2<br />
t<br />
y<br />
Instance d’un bloc <strong>de</strong><br />
contrainte<br />
Egalité entre <strong>de</strong>ux<br />
paramètres <strong>de</strong> <strong>de</strong>ux<br />
contraintes<br />
différentes<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
« constraint »<br />
Nom<br />
role<br />
« block »<br />
Nom<br />
Référence : <strong>la</strong> contrainte<br />
peut utiliser les<br />
caractéristiques du bloc<br />
rôle:Bloc<br />
t<br />
rôle.Caractéristique<br />
Egalité entre un<br />
paramètre d’une<br />
contrainte et une<br />
caractéristique d’une<br />
instance d’un bloc<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-86-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les re<strong>la</strong>tions entre diagrammes<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-87-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les re<strong>la</strong>tions entre diagrammes<br />
• 3 grands mécanismes :<br />
• réutilisation par nom (références, instanciations...)<br />
• coup<strong>la</strong>ges <strong>de</strong> comportements (signaux...)<br />
• allocations : re<strong>la</strong>tions entre éléments<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-88-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les re<strong>la</strong>tions entre diagrammes<br />
• 3 grands mécanismes :<br />
• réutilisation par nom (références, instanciations...)<br />
• coup<strong>la</strong>ges <strong>de</strong> comportements (signaux...)<br />
• allocations : re<strong>la</strong>tions entre éléments<br />
La modélisation<br />
structurelle<br />
Attente d’une<br />
réponse<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Envoi d’un<br />
message<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-89-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les re<strong>la</strong>tions entre diagrammes<br />
• 3 grands mécanismes :<br />
• réutilisation par nom (références, instanciations...)<br />
• coup<strong>la</strong>ges <strong>de</strong> comportements (signaux...)<br />
• allocations : re<strong>la</strong>tions entre éléments<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-90-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Les re<strong>la</strong>tions entre diagrammes<br />
• 3 grands mécanismes :<br />
• réutilisation par nom (références, instanciations...)<br />
• coup<strong>la</strong>ges <strong>de</strong> comportements (signaux...)<br />
• allocations : re<strong>la</strong>tions entre éléments<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
• Exemples d’allocations :<br />
• exigences => use cases, composants, comportements<br />
• logiciels => matériels<br />
• comportements => composants (swim<strong>la</strong>nes, paramétrique...)<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-91-
9 points <strong>de</strong> vue pour un modèle<br />
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
• Diagrammes fonctionnels :<br />
• uc : use case diagram (diagramme <strong>de</strong>s cas d’utilisation)<br />
• req : requirement diagram (diagramme <strong>de</strong>s exigences)<br />
• Diagrammes structurels :<br />
• bdd : block <strong>de</strong>finition diagram (diagramme <strong>de</strong> définition <strong>de</strong>s blocs)<br />
• ibd : internal block diagram (diagramme interne d’un bloc)<br />
• pkg : package diagram (diagramme <strong>de</strong>s paquets)<br />
• Diagrammes comportementaux :<br />
• act : activity diagram (diagramme d’activités)<br />
• stm : state machine diagram (diagramme d’états)<br />
• sd : sequence diagram (diagramme <strong>de</strong> séquence)<br />
• par : parametric diagram (diagramme paramétrique)<br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-92-
Les diagrammes<br />
La modélisation<br />
fonctionnelle<br />
Systems Mo<strong>de</strong>ling Language<br />
SysML<br />
La modélisation<br />
structurelle<br />
La modélisation<br />
comportementale<br />
Les re<strong>la</strong>tions<br />
entre diagrammes<br />
Lionel GENDRE et Jean-Marie VIRELY<br />
<strong>ENS</strong> <strong>Cachan</strong><br />
le 01/07/2013<br />
Lionel Gendre et Jean-Marie Virely<br />
-93-