22.11.2014 Views

support de la formation LIESSE - ENS Cachan

support de la formation LIESSE - ENS Cachan

support de la formation LIESSE - ENS Cachan

SHOW MORE
SHOW LESS

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-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!