Vous êtes sur la page 1sur 90

Modélisation par SysML

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

Pr. Yassine ERRAOUI

1 Y. ERRAOUI 06/10/2018
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 06/10/2018
Introduction : les diagrammes usuels

 Diagramme des interactions :

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

3 Y. ERRAOUI 06/10/2018
Introduction : les diagrammes usuels

 Graphe des liaisons, Schéma cinématique

Montrent les liaisons entre solides dans un système

4 Y. ERRAOUI 06/10/2018
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 06/10/2018
Introduction : les diagrammes usuels
 L’algorithme, l’organigramme et le grafcet
permettent de décrire le fonctionnement d’un programme.

6 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Diagramme de définition des blocs
Représente des éléments de structure nommé blocs et leurs compositions et
classifications.

14 Y. ERRAOUI 06/10/2018
Diagramme interne de blocs
Représente les interconnections et les interfaces entre les parties des blocs

15 Y. ERRAOUI 06/10/2018
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 06/10/2018
Diagramme des séquences
Représente le comportement en terme d’une séquence de messages
échangés entre les parties

17 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
21 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Les relations
 Relations logiques entre acteurs ou cas d’utilisations

26 Y. ERRAOUI 06/10/2018
syntaxe

27 Y. ERRAOUI 06/10/2018
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 06/10/2018
corrigé

Uc Cas d’utilisation [vidéosurveillance]

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

Surveiller
manuellement

29 Y. ERRAOUI 06/10/2018
30 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
syntaxe

33 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
36 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Exemple: véhicule

41 Y. ERRAOUI 06/10/2018
Syntaxe :

42 Y. ERRAOUI 06/10/2018
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 06/10/2018
Solution :

44 Y. ERRAOUI 06/10/2018
45 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
Exemple : tambour de commande

48 Y. ERRAOUI 06/10/2018
Syntaxe :

49 Y. ERRAOUI 06/10/2018
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 06/10/2018
Solution :

51 Y. ERRAOUI 06/10/2018
52 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Exemple

57 Y. ERRAOUI 06/10/2018
Syntaxe

58 Y. ERRAOUI 06/10/2018
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 06/10/2018
Solution

60 Y. ERRAOUI 06/10/2018
61 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
Etats
Etats composés :
•contiennent un autre automate
•avec état initial
•sans état final !

64 Y. ERRAOUI 06/10/2018
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 06/10/2018
Exemple

66 Y. ERRAOUI 06/10/2018
Syntaxe

67 Y. ERRAOUI 06/10/2018
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 06/10/2018
Solution

69 Y. ERRAOUI 06/10/2018
70 Y. ERRAOUI 06/10/2018
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 06/10/2018
Forme générale

72 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Routage des flux

78 Y. ERRAOUI 06/10/2018
Partitions

79 Y. ERRAOUI 06/10/2018
Exemple

80 Y. ERRAOUI 06/10/2018
Syntaxe

81 Y. ERRAOUI 06/10/2018
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 06/10/2018
Corrigé

83 Y. ERRAOUI 06/10/2018
84 Y. ERRAOUI 06/10/2018
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 06/10/2018
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 06/10/2018
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 06/10/2018
Syntaxe

88 Y. ERRAOUI 06/10/2018
Exercice

89 Y. ERRAOUI 06/10/2018
Solution

90 Y. ERRAOUI 06/10/2018

Vous aimerez peut-être aussi