dr5-sysml
dr5-sysml
dr5-sysml
1. Pourquoi SysML ?
De la même façon qu'il vaut mieux dessiner une maison avant de la construire, il vaut mieux modéliser un
système avant de le réaliser.
Un système est un ensemble de constituants inter-reliés qui interagissent les uns avec les autres d’une manière
organisée pour accomplir une finalité commune (NASA 1995).
SysML est l’acronyme de Systems Modeling Language, soit Langage de Modélisation de Systèmes.
SysML apporte une standardisation du vocabulaire. Ce nouveau langage, ajoute aussi la possibilité de représenter
les exigences du système comme elles sont définies dans un cahier des charges, les éléments non-logiciels
(mécanique, hydraulique, capteur…), les équations physiques, les flux continus (matière, énergie, etc.) et les
allocations.
En résumé, l’intérêt de SysML est :
• Obtenir une modélisation de très haut niveau indépendante des langages et des environnements.
• Faire collaborer des participants de tous horizons autour d'un même document de synthèse.
• Générer des simulations de comportement d’un système.
• Documenter un projet.
Airbus, CNES, NASA, Renault, BMW, VEGA Space GmbH, MIT Lincoln Laboratory, Lockheed Martin, US Army,
ESO (European Organisation for Astronomical Research), Boeing, Raytheon, Thales, ESA (European Space
Agency), Sopra Group, Rockwell Collins Inc., JPL (coentreprise avec la NASA), GE Aviation, NEWTEC LLC, BAE
Systems, Siemens AG, Philips, Bombardier Transportation, SKF, Peugeot SA, Cyclocity (Vélib’,Velô Toulouse…),
Alstom, Michelin, Segway, Valeo, Dassault Systemes et bien d’autres …
Généralisation
Association
Cas d’utilisation
Les acteurs
Rôle joué par un utilisateur humain ou un autre système qui interagit directement avec
le système étudié. Un acteur participe à au moins un cas d’utilisation.
Les cas d’utilisation « Cas d’utilisation » est une fonction ou interaction entre acteur et système, dans le but
de répondre à un besoin. Un cas d’utilisation doit être relié à au moins un acteur. Il est
exprimé par un verbe à l’infinitif.
Les relations :
Dépendance : il existe deux types de dépendance :
de dépendance,
- Inclusion (include): un cas intègre le comportement d’un autre (le cas
d’utilisation « s’authentifier » est inclus dans « retirer de l’argent »).
- Extension (extend): comportement optionnel du système (à partir de « retirer
de l’argent », fonction du distributeur, on peut « consulter ses comptes »).
Les dépendances permettent de décomposer un cas complexe, mais l’abus de dépendance rend la lecture complexe.
de généralisation
Généralisation: relation hiérarchique entre deux acteurs ou cas d’utilisation. Le banquier
est le spécialiste de la banque par rapport au client. La fonction « retirer de l’argent » est
le cas général du système, « Consulter ses comptes » est un cas particulier.
et d’association
Association : chemin de communication entre un acteur et un cas d’utilisation.
Retirer de l’argent
Compléments
Exigence fondamentale
Dépendances
Exigence
Propriétés
Relation d’exigences.
Une exigence permet de spécifier une capacité ou une contrainte qui doit être satisfaite par
Exigence
un système. Elle peut spécifier une fonction à réaliser ou une condition de performance, de
fiabilité, de sécurité…
Les exigences représentent le contrat (C.d.C.F) entre le client et les concepteurs du système.
Il est courant de définir d’autres propriétés quantifiées ou pas afin d’être précis sur les
fonctions à remplir par le système.
Les exigences peuvent être reliées entre elles par plusieurs types de relation, nous en
Les dépendances
utiliserons trois principalement : relation de contenance, de raffinement ou de dérivation :
la contenance (ligne terminée par un cercle contenant une croix du côté du conteneur)
(« confinement ») : permet de décomposer une exigence composite en plusieurs exigences
unitaires, plus faciles ensuite à tracer vis-à-vis de l’architecture ou des tests ;
Le diagramme d’exigences permet tout au long d’un projet de relier les exigences entre elles
et avec d’autres types d’élément SysML (cas d’utilisation, bloc, état) par plusieurs types de
Compléments relation.
Interprétation de l’exemple :
Pour l’exigence « s’authentifier », quelle est la valeur définissant la propriété « nombre de tentatives de
connexions » ?
Gérer le retrait
« satisfy »
Ajouter, sur le schéma ci-dessous, une dépendance de type « refine » à l’exigence « S’authentifier » :
Code d’authentification
‘’1.0.0 ‘’
‘’Le code doit
être composé
de 4 chiffres’’
Un cas d'utilisation représente les interactions entre un acteur et le système d'un point de vue « boite noire »,
et comprend l'ensemble des scénarios identifiés. Ces scénarios peuvent être détaillés par un diagramme de
séquence.
Le diagramme de séquence représente les éléments intervenant dans le scénario ainsi que les messages échangés
dans un ordre chronologique.
Eléments graphiques :
Dans un premier temps, on peut choisir de représenter les interactions entre l'acteur et le système (vue boîte
noire).
Ligne de vie
Bande d’activation
Sens
(optionnelle)
d’évolution de
la Chronologie
Un objet est représenté par un bloc et une ligne verticale appelée « ligne de vie de l’objet ».
On peut représenter explicitement la période d’activité (ou bande d’activation) d’un objet, période pendant laquelle
il exécute une action.
L’axe du temps est vertical, le flot de contrôles est horizontal.
Un message synchrone (émetteur bloqué en attente de réponse) est représenté par une flèche pleine, alors
qu’un message asynchrone est représenté par une flèche évidée.
La flèche qui boucle (message réflexif) permet de représenter un comportement interne.
Message réflexif
Commentaire
Afin de détailler les scénarios il est possible de rentrer en détails avec un diagramme de séquence qui représente
les blocs internes du système intervenant (pour un message émis par l'acteur, le diagramme décrit l'enchaînement
des messages échangés entre les blocs internes du système).
On parle ainsi de la vue boîte blanche (comportement du système).
Message de type
asynchrone
Contrainte
de durée
LOOP : boucle. Le fragment peut s’exécuter plusieurs fois et la condition explicite l’itération.
REF : référence. Un diagramme de séquence peut faire référence à un autre diagramme de séquence.
Quelles sont les blocs internes du système intervenant dans ce diagramme de séquence ?
Bouton ON/Système de contrôle/Capteur de température/Résistance chauffante
2- Démarrer
3- Chauffer
4- Mesurer la température
6- Relâcher
7- Clic sonore
Bloc principal
Composition
Agrégation
Nom
Attribut
Opération
Bloc
Bloc : Un système se décompose en plusieurs parties ou composantes. Chacune
d'entre elles est modélisée par un bloc. Il est nécessaire d'avoir un bloc qui représente
l'ensemble du système. Il est constitué de 3 parties :
Le diagramme de bloc interne (IBD, ou Internal Block Diagram) décrit la vue interne d'un bloc et se base sur le
diagramme de définition de bloc pour assembler les blocs qui composent le bloc principal.
Ces parties sont assemblées par des connecteurs qui relient leurs ports (ports standards avec interfaces exposées
et/ou ports de flux).
Eléments graphiques : Radio réveil projecteur (point de vue flux d’énergie) Bloc principal
Port de flux
Connecteur
Bloc interne
alimentation
Bloc interne
Un bloc interne peut avoir plusieurs ports qui spécifient des points d’interaction
différents.
Connecteurs Les connecteurs représentent les chemins de communication entre les éléments.
Lorsqu'un connecteur relie deux ports de flux, il représente un échange de matière,
d’énergie ou d’information (MEI) et quand il relie deux ports standards, il représente
l'appel à un service proposé.
- Port de flux (flow port) : ce type de port autorise la circulation de flux physiques entre
les blocs. La nature de ce qui peut circuler est de type MEI (). Exemple : fluides, énergie
électrique, données …
Quand deux blocs interagissent (échange de flux dans les 2 sens), les ports sont dits
"non atomiques". Représentés par deux crochets se faisant face (<>).
Quand le flux est monodirectionnel les ports sont dits "atomiques" et représentés par
un crochet (< ou >) indiquant le sens du flux.
Le diagramme d'états transitions représente la vue dynamique du système. C’est un graphe permettant de
décrire les changements d'états d'un système ou d'un composant, en réponse aux interactions avec d'autres
systèmes/composants ou avec des acteurs.
Le diagramme d'états-transitions ci-dessous, montre les différents états par lesquels passe une station de lavage
de voitures.
Historique
Lavage
Rinçage
arrêt d’urgence Transition
après 2 min
Si Programme 1
Point de décision
Etat final
sinon
après 2 min
arrêt d’urgence
Etat
Etat initial : cet élément marque le début du programme. Il y a au moins un élément
« état initial » dans un programme. Cet élément est actif au démarrage du programme.
Etat final : cet élément marque la fin du programme. Il peut ne pas être utilisé si le
programme ne doit jamais se terminer.
L'état historique est un pseudo-état qui se place au sein d'un super état. Cet état va
H permettre de retourner immédiatement à l'endroit de l'état composite que l’on a
quitté.
Transition Une transition représente le passage instantané d'un état vers un autre. La transition
est déclenchée par un événement. Elle relie les états entre eux. Elle peut :
- relier simplement deux états,
- être réflexive (l'état de départ est le même que celui d'arrivée),
- arriver sur un super-état (dans ce cas, elle arrive à l'état initial du super-état),
- être conditionnée : exemple la durée est indiquée.
Point de décision
Point de décision : une transition arrive sur un point de décision (ou point de choix) et
plusieurs transitions en repartent. Chacune doit porter une condition (garde).
Barre de
synchronisation Barre de fraction : une transition arrive sur une barre de fraction et plusieurs transitions
en partent. Les transitions qui partent de cette barre sont des chemins d'exécution qui
se réalisent en parallèle et indépendamment.
Barre de jonction : tous les chemins d'exécution arrivent sur cette barre, chacun à l'aide
d'une transition. Une seule transition repart de cette barre. Pour que cette transition
puisse s'exécuter, il faut que toutes les transitions qui arrivent sur la barre aient été
franchies.
4 min
Quelle est la durée du lavage ? ………………………..
En phase de lavage ou de rinçage, si le client appui sur le bouton d’arrêt d’urgence, que se passe-t-il ?
S'il appuie sur ce bouton, la station se met en attente. Il a alors deux minutes pour reprendre le cycle (la station
continue en phase de lavage ou de séchage, suivant l'état dans lequel elle a été interrompue), sans quoi la station
s'arrête.
DR5_SYSML.docx 18/21 2019-2020
En phase de séchage, si le client appui sur le bouton d’arrêt d’urgence, que ce passe-t-il ?
En phase de séchage le client peut aussi interrompre la station. Mais dans ce cas, la station
s'arrêtera définitivement.
Le Programme 3 qui est le « Programme 2 + un lustrage de 3 min » n’a pas été représenté. Compléter le
diagramme d’état ci-dessous pour faire apparaître ce dernier programme (si le client appui sur l’arrêt
d’urgence, le programme s’arrête définitivement :
Station de lavage voiture
Lavage
Rinçage
arrêt d’urgence
après 2 min
Si Programme 1
sinon
Séchage
Si Programme 2
sinon
après 3 min
Lustrage
arrêt d’urgence
SysML n’est pas une méthode mais un outil de représentation donc il n’y a pas de méthode.
Cependant la pratique habituelle peut se résumer ainsi :