Vous êtes sur la page 1sur 90

Modélisation par SysML

1ère année – Ingénierie Mécanique/Electrique – 2019/2020

Pr. Yassine ERRAOUI

1 Y. ERRAOUI 25/09/2019
Introduction

Depuis longtemps les ingénieurs système ont utilisé des techniques de


modélisation, et des graphe de description usuels comme :

- Diagramme des interactions

- Diagramme FAST

- Diagramme SADT

- Grafcet

- Schéma cinématiques …

2 Y. ERRAOUI 25/09/2019
Introduction : les diagrammes usuels

 Diagramme des interactions :

Montre les interactions du système avec son environnement extérieur

3 Y. ERRAOUI 25/09/2019
Introduction : les diagrammes usuels

 Graphe des liaisons, Schéma cinématique

Montrent les liaisons entre solides dans un système

4 Y. ERRAOUI 25/09/2019
Introduction : les diagrammes usuels

 Diagramme FAST : Montre le matériel associé aux fonctions


 Diagramme SADT : décrit les fonctions du système de façon successive

5 Y. ERRAOUI 25/09/2019
Introduction : les diagrammes usuels
 L’algorithme, l’organigramme et le grafcet
permettent de décrire le fonctionnement d’un programme.

6 Y. ERRAOUI 25/09/2019
Introduction

 Comme les systèmes sont devenus plus complexes et pluri-techniques, un


besoin d’un langage universel et transversal apparaît.

 le langage UML de modélisation avait un essor dans le domaine du logiciel


et des efforts pour l’introduire dans l’IS .

 Les lacunes du l’UML ont fait apparaitre le langage SysML.

7 Y. ERRAOUI 25/09/2019
Définition

 SysML est un langage de modélisation graphique pour

- Spécifier les systèmes

- Analyser la structure et le fonctionnement des systèmes

- Décrire le comportement d’un système

8 Y. ERRAOUI 25/09/2019
Définition

 SysML s’articule sur neufs diagrammes , chacun d’eux est dédié à la


représentation des concepts particuliers d’un système . Les types des
diagrammes :

- Fonctionnels : cas d’utilisation, exigences

- Structurels : définition de blocs, interne de blocs, paquets

- Comportementaux : activité, séquence, état et paramétrique

9 Y. ERRAOUI 25/09/2019
Types des diagrammes

Diagramme SysML

Fonctionnel Structurel Comportemental

cas d’utilisation exigences définition Interne séquence activité états paramétrique


paquets
des blocs de blocs

10 Y. ERRAOUI 25/09/2019
Règles d’un diagramme SysML :
- Chaque diagramme SysML doit être cadré;
- Chaque cadre dans un diagramme sysML représente un élément de
modèle;
- Le contexte du diagramme est indiqué dans l’entête
le type du diagramme (act, bdd, ibd, sd …)
le type de l’élément de modèle (paquets, bloc, activité …)
le nom de l’élément de modèle
entête
Type de diagramme[type de l’élément de modèle] nom d’élément de modèle

contenu

11 Y. ERRAOUI 25/09/2019
Diagramme des cas d’utilisation
Représente de façon fonctionnelle comment un système ou autre entité est
utilisé par des entités extérieurs pour accomplir un ensemble d’objectifs.

12 Y. ERRAOUI 25/09/2019
Diagramme des exigences
Représente des exigences basées sur des textes et leurs relations avec d’autres
exigences, éléments de design et cas de test pour justifier la traçabilité des
exigences.

13 Y. ERRAOUI 25/09/2019
Diagramme de définition des blocs
Représente des éléments de structure nommé blocs et leurs compositions et
classifications.

14 Y. ERRAOUI 25/09/2019
Diagramme interne de blocs
Représente les interconnections et les interfaces entre les parties des blocs

15 Y. ERRAOUI 25/09/2019
Diagramme des paquets
Représente l’organisation d’un modèle en terme de paquets contenant des
éléments de modèle

16 Y. ERRAOUI 25/09/2019
Diagramme des séquences
Représente le comportement en terme d’une séquence de messages
échangés entre les parties

17 Y. ERRAOUI 25/09/2019
Diagramme d’activité
Représente le comportement en terme de l’ordre des actions basées sur la
disponibilité des entrées, sorties, et du contrôle, et comment les actions
transforment les entrées en sorties

18 Y. ERRAOUI 25/09/2019
Diagramme d’état
Représente le comportement d’une entité en terme de sa transition entre
les étapes avec des événements

19 Y. ERRAOUI 25/09/2019
Diagramme paramétrique
Représente les contraintes sur les valeurs des propriétés, comme F=m*a,
utilisé pour supporter les analyses d’ingénierie

20 Y. ERRAOUI 25/09/2019
21 Y. ERRAOUI 25/09/2019
Diagramme des cas d’utilisation (fonctionnel)

 Objectif :
Décrire les cas d’utilisation , les acteurs et les relations.

 Forme générale :

22 Y. ERRAOUI 25/09/2019
Les cas d’utilisation

 Descriptions d’actions réalisables en utilisant le système

 Services rendus par le système aux acteurs

 Forme : verbe à l’infinitif

23 Y. ERRAOUI 25/09/2019
Les acteurs
 Entités externes qui accomplissent et/ou subissent les actions de façon
autonome :
 individu(s)
 systèmes automatisés
 serveurs…
 Nommés d’après leur rôle en tant qu’utilisateurs

24 Y. ERRAOUI 25/09/2019
Les relations

 Participation : un acteur réalise et/ou subit un cas d’utilisation

 multiplicité : nombre d’acteurs de ce type participant à ce cas d’utilisation


(1 par défaut)

25 Y. ERRAOUI 25/09/2019
Les relations
 Relations logiques entre acteurs ou cas d’utilisations

26 Y. ERRAOUI 25/09/2019
syntaxe

27 Y. ERRAOUI 25/09/2019
Exercice
Dessiner un diagramme des cas d’utilisation d’un système de vidéosurveillance :

Acteurs :
opérateur, pouvant être qualifié ou non qualifié
intrus
superviseur

Cas d’utilisation :
surveiller, soit automatiquement soit manuellement
gérer la panne

Règles :
Surveiller implique toujours au moins un opérateur, et éventuellement un ou plusieurs intrus
Tout opérateur peut surveiller automatiquement
Seul un opérateur qualifié peut surveiller manuellement
Une panne peut survenir lorsqu’on surveille, et le superviseur (il y en a un seul) doit alors
gérer la panne

28 Y. ERRAOUI 25/09/2019
corrigé

Uc Cas d’utilisation [vidéosurveillance]

Gérer la panne
Surveiller
---------------------
Extension points :
panne
Surveiller
automatiqueme
nt

Surveiller
manuellement

29 Y. ERRAOUI 25/09/2019
30 Y. ERRAOUI 25/09/2019
Diagramme des exigences (fonctionnel)
 Objectifs :
spécifier des exigences (caractéristiques ou qualités attendues)
les hiérarchiser
les documenter (éléments auxquels elles s’appliquent, traçabilité, méthodes
de vérification…)
 Forme générale :

31 Y. ERRAOUI 25/09/2019
Hiérarchie dans le diagramme

« requirement »
Réglage de l’orientation

Id=« 001 »
Text= « Mettre l’antenne en
mouvement de rotation. »

« requirement » « requirement »

« requirement »
Id=« 012 » Id=« 013 »
Text= « On doit alimenter en énergie Text= « convertir l’énergie
électrique » Id=« 013 » électrique en mécanique »
Text= « transmettre l’énergie
mécanique »

« requirement »
« requirement »

Id=« 013 » Id=« 013 »


Text= « Adapter en réduisant Text= « Adapter en réduisant
selon arbres perpendiculaires » selon arbres parallèles»

32 Y. ERRAOUI 25/09/2019
syntaxe

33 Y. ERRAOUI 25/09/2019
Exercice :

Dessiner un diagramme des exigences pour le système de


vidéosurveillance à partir des données suivantes :
E1 : Le système doit pouvoir détecter des intrus 24h/24, 7j/7.
E2 : Le système doit pouvoir détecter des intrus dans n’importe
quelles conditions météorologiques.
D1 : Le système doit utiliser des caméras pour détecter les
intrus.
En effet, l’étude de faisabilité XYZ a montré que l’utilisation de
caméras est le moyen le plus rentable de vérifier les exigences
E1 et E2.
La spécification du système contient les exigences E1, E2 et D1.
34 Y. ERRAOUI 25/09/2019
Corrigé :

Req Exigences [spécifications]

« requirement »
« requirement » Spécification du système
Fonctionnement 24/7

Id=E1 « requirement »
Text= « le système doit pouvoir Fonctionnement tout temps
détecter des intrus 24h/24,
Id=E2
7j/7 »
Text= « le système doit pouvoir
« derivereqt » détecter des intrus dans
n’importe quelles conditions
« derivereqt »
météo »
« requirement »
Choix des capteurs

Id=D1
Text= « le système doit utiliser
des caméras pour détecter les
intrus »

35 Y. ERRAOUI 25/09/2019
36 Y. ERRAOUI 25/09/2019
Les diagrammes structurels
Deux diagrammes utilisés conjointement :
•diagramme de définition de blocs : pour définir les (classes de) modèles
de composants
•diagramme interne d’un bloc : pour représenter l’intérieur d’un bloc
(ses composants et leurs liens structurels)

37 Y. ERRAOUI 25/09/2019
Le diagramme de définition des blocs

Un bloc est caractérisé par :

- ses paramètres (values)


les blocs qui lui appartiennent (parts)
- ses ports (définis plus loin)
•soit graphiquement (sauf paramètres)
•soit dans des compartiments

38 Y. ERRAOUI 25/09/2019
Les relations entre blocs :

•appartenance (ou composition, ou agrégation forte) : « a un »

•spécialisation (cf. acteurs et use cases) : « est un »

39 Y. ERRAOUI 25/09/2019
Les relations entre blocs :

 La relation d’appartenance :
permet de distinguer les instances qu’il possède
 Multiplicité :
nombre d’instances ayant le même rôle

40 Y. ERRAOUI 25/09/2019
Exemple: véhicule

41 Y. ERRAOUI 25/09/2019
Syntaxe :

42 Y. ERRAOUI 25/09/2019
Exercice :
Proposer un diagramme de définition des blocs d’une caméra faisant
apparaître les éléments suivants :
- un module de prise de vue, constitué :
•d’un objectif
•et d’un capteur, pouvant être CCD ou CMOS ;
- un module de traitement, constitué :
•d’un convertisseur vidéo
•et d’un convertisseur MPEG
- un système de montage, constitué :
•d’un support de fixation,
•et de deux axes motorisés, identiques mais disposés différemment : l’un est
horizontal et l’autre vertical.

43 Y. ERRAOUI 25/09/2019
Solution :

44 Y. ERRAOUI 25/09/2019
45 Y. ERRAOUI 25/09/2019
Diagramme interne de blocs

Représente l’intérieur d’un bloc :


•ses composants (parts)
•leurs interfaces, et éventuellement celles du bloc (ports)
•les relations entre ces interfaces

46 Y. ERRAOUI 25/09/2019
Les flux

Les ports de flux possèdent :

•un sens
•un nom facultatif décrivant l’interface représentée
•Les flux de matière, d’énergie et/ou d’information
•circulent entre deux ports
•possèdent un nom facultatif

47 Y. ERRAOUI 25/09/2019
Exemple : tambour de commande

48 Y. ERRAOUI 25/09/2019
Syntaxe :

49 Y. ERRAOUI 25/09/2019
Exercice :

Construire un diagramme interne du bloc « Caméra » représentant :


•un flux « Lumière » circulant de l’extérieur de la caméra à l’objectif,
•un flux « Lumière » circulant de l’objectif au capteur,
•un flux « Image » circulant du capteur au convertisseur vidéo,
•un flux « Vidéo » circulant du convertisseur vidéo au convertisseur
MPEG,
•et un flux « MPEG » circulant du convertisseur MPEG à l’extérieur de
la caméra.

50 Y. ERRAOUI 25/09/2019
Solution :

51 Y. ERRAOUI 25/09/2019
52 Y. ERRAOUI 25/09/2019
Objectif :
décrire les interactions entre composants
• dans l’ordre chronologique
• par des messages (appel d’un comportement chez le destinataire)
• sans détailler les comportements individuels
Forme générale :

53 Y. ERRAOUI 25/09/2019
Lignes de la vie
Représentent la « vie » d’une instance d’un bloc :

- nom de l’instance (nom du rôle:Nom du bloc)

- ligne interrompue verticale

Sd [séquences]commander une voiture

: usine de
: revendeur fabrication

Ordre
Voiture livrée

54 Y. ERRAOUI 25/09/2019
Messages
Appel d’un comportement chez le destinataire
signaux (cf. activités) ou opérations (non présentées ici)

3 catégories :
•synchrones : l’expéditeur attend une réponse
•asynchrones : l’expéditeur n’attend pas
•réponses

 Messages réflexifs : interactions internes

55 Y. ERRAOUI 25/09/2019
Fragments combinés

 Ref : référence mise pour appel d’une autre


interaction

 Par : indique une exécution parallèle ou simultanée

 alt : fragments alternatifs. Seul le fragment possédant


la condition vraie s’exécutera.

 loop : boucle. Le fragment peut s’exécuter plusieurs


fois, et la condition de garde explicite l’itération ;

 opt : optionnel. Le fragment ne s’exécute que si la


condition fournie est vraie ;

56 Y. ERRAOUI 25/09/2019
Exemple

57 Y. ERRAOUI 25/09/2019
Syntaxe

58 Y. ERRAOUI 25/09/2019
Exercice

Construire un diagramme de séquence représentant l’interaction


suivante entre un acteur de type (bloc) Opérateur Qualifié ayant le
rôle de garde, et le :Système
•le garde envoie une Alerte Intrusion au :Système et attend
confirmation ;
•le :Système déclenche une interaction interne synchrone Sonner
l’alarme, obtient une confirmation interne Alarme déclenchée,
puis répond Alerte confirmée au garde ;
ensuite :
•si l’on est en mode automatique, le garde envoie un message
Suivre la trace au :Système, sans attendre de réponse ;
•si l’on est en mode manuel, le garde envoie simultanément les
messages Régler l’inclinaison horizontale et Régler l’inclinaison
verticale au :Système, sans attendre de réponse.

59 Y. ERRAOUI 25/09/2019
Solution

60 Y. ERRAOUI 25/09/2019
61 Y. ERRAOUI 25/09/2019
Objectifs
Objectif : modéliser un comportement par
• des états
• et des transitions activées par des événements.
• Automate fini (state machine), simulable
Forme générale :

62 Y. ERRAOUI 25/09/2019
Etats
 Etat : étape reproductible de la vie d’un composant
• exclusive (un seul état actif à la fois)
• munie de comportements (entrée, phase active, sortie)

63 Y. ERRAOUI 25/09/2019
Etats
Etats composés :
•contiennent un autre automate
•avec état initial
•sans état final !

64 Y. ERRAOUI 25/09/2019
Transitions
Transitions : régissent les changements d’état
Franchies lorsque :
•un événement déclencheur se produit...
•... et qu’une condition de garde est vraie...
•... le franchissement déclenche alors une action

 Quelques événements :
•émission/réception d’un signal
•changement d’une grandeur : when(x>0)
•condition temporelle : after(60s) ou at(13:00)
•Condition de garde : expression booléenne
•Action : comportement (activité, automate...)

65 Y. ERRAOUI 25/09/2019
Exemple

66 Y. ERRAOUI 25/09/2019
Syntaxe

67 Y. ERRAOUI 25/09/2019
Exercice : barrière parking
•Construire un diagramme d’états pour la barrière de
parking selon les règles suivantes :
•la barrière est initialement Fermée ;
•lorsque l’événement Note payée se produit, un
comportement Ouvrir la barrière est appelé, et la
barrière est alors supposée Ouverte ;
•lorsque l’événement Franchissement se produit, un
comportement Fermer la barrière est appelé, et la
barrière est alors supposée Fermée.

68 Y. ERRAOUI 25/09/2019
Solution

69 Y. ERRAOUI 25/09/2019
70 Y. ERRAOUI 25/09/2019
Objectif
décrire
•des actions (transformations de flux)
•les flux transformés par ces actions
•l’ordre et les conditions d’exécution de ces actions
•... et attribuer les actions aux composants

71 Y. ERRAOUI 25/09/2019
Forme générale

72 Y. ERRAOUI 25/09/2019
Actions
•Une action :
•transforme un flux d’entrée (matière, énergie,
information) en un flux de sortie
•démarre lorsque les entrées nécessaires sont présentes
•s’arrête une fois qu’elle a produit les sorties demandées

73 Y. ERRAOUI 25/09/2019
Macro-actions
Une « macro-action » représente une autre activité :
•elle s’appelle alors « :Nom_de_l’activité »
le « râteau » indique que l’activité est définie sur un autre diagramme
•les entrées et sorties doivent correspondre

74 Y. ERRAOUI 25/09/2019
Comportement des actions
 Discret « nonstreaming » :
• les entrées sont traitées par lots entiers
• exemple : correction de copies

 Discret « streaming » :
• l’action accepte des entrées/produit des sorties sans avoir fini le lot courant
• exemple : chaîne de production (à plusieurs postes en série)

 Continu (et forcément « streaming ») :


• exemple : transformation de mouvement

75 Y. ERRAOUI 25/09/2019
Flux d’objet et flux de contrôle

 2 types de flux :

• flux d’objets (matière, énergie, information) : matière d’œuvre.


• flux de contrôle : conditions supplémentaires de démarrage des actions

76 Y. ERRAOUI 25/09/2019
Flux de contrôle
 Une action munie d’entrées/sorties de contrôle :
• ne peut démarrer que si ses entrées de contrôle sont activées
• active ses sorties de contrôle une fois terminée

Les flux de contrôle permettent d’imposer un ordre d’exécution des


actions
 Signaux : pour coupler des comportements

77 Y. ERRAOUI 25/09/2019
Routage des flux

78 Y. ERRAOUI 25/09/2019
Partitions

79 Y. ERRAOUI 25/09/2019
Exemple

80 Y. ERRAOUI 25/09/2019
Syntaxe

81 Y. ERRAOUI 25/09/2019
Exercice
Construire un diagramme d’activité constitué des deux actions suivantes :
 une action contrôler l’accélérateur,
•active dès le démarrage de l’activité,
•sans flux d’objet en entrée,
•avec une sortie :Position de l’accélérateur produisant un flux continu,
•effectuée par une instance d’un bloc nommée :Conducteur ;
 une action fournir du couple,
•avec une entrée :Position de l’accélérateur liée au flux précédent,
•avec une sortie :Couple produisant un flux continu...
•... qui alimente la sortie :Couple de l’activité entière,
•le tout effectué par l’instance d’un bloc nommée :Véhicule ;
•L’activité doit s’arrêter à la réception, par le :Véhicule, du signal contact
coupé.

82 Y. ERRAOUI 25/09/2019
Corrigé

83 Y. ERRAOUI 25/09/2019
84 Y. ERRAOUI 25/09/2019
Objectif
représenter un système d’équations par :
•contraintes : relations mathématiques
•paramètres : variables de ces relations
•caractéristiques des blocs

85 Y. ERRAOUI 25/09/2019
Contraintes
Contrainte : équation, équa diff, inéquation...
•paramètres
•relation(s) entre ces paramètres
•Classes de contraintes : blocs de contraintes
•définis sur un bdd
•s’utilisent comme des blocs

86 Y. ERRAOUI 25/09/2019
Définition et usage des contraintes
Définition sur un bdd...
•par classes...
•avec appartenances...
•...rôles, multiplicités...

•... et usage sur un par


•instances des classes
•relations entre instances
•relations avec le reste du
modèle
87 Y. ERRAOUI 25/09/2019
Syntaxe

88 Y. ERRAOUI 25/09/2019
Exercice

89 Y. ERRAOUI 25/09/2019
Solution

90 Y. ERRAOUI 25/09/2019

Vous aimerez peut-être aussi