Vous êtes sur la page 1sur 50

Conception de produits

Introduction à SysML pour l’ingénierie systèmes avec Papyrus

A. ARBAOUI
Introduction

Évolution de l'échange d'informations

2
Introduction

Évolution de l'approche utilisée en ingénierie systèmes

En ingénierie systèmes IS la tendance actuelle est de regrouper les différentes représentations d’un
système au sein d'un unique modèle « multipoints de vue »

Documents Modèles

Une telle approche est dite basée sur un modèle, par opposition aux approches basées sur des
documents qui reposent sur une collection de modèles « mono-point de vue » disjoints .
Introduction

Évolution de l'approche utilisée en ingénierie systèmes

Approche basées sur des Approche basée sur les


documents modèles

-Produire un modèle de système et générer des


-Dominance des documents textuels artefacts
-Multiples sources d'information, -Vise à minimiser les sources d'information et à
-Non connectées : non traçables, non gérer leurs relations
cohérentes, difficiles à modifier. -Lisible par la machine et donc capable
-Généralement non lisibles par machine d'interroger
-Vérification améliorée par la vérification
-Vérification effectuée par inspection
automatique des règles.
manuelle
Introduction

Avantages d’une Ingénierie Systèmes basée sur les Modèles

Les approches basées sur des documents fonctionnent MAIS selon les recherches 55% des erreurs
grave sont liées à la phase d’analyse des exigences et à la phase de conception

L'utilisation d'un modèle unique présente deux avantages notables :

1
Assure la cohérence des données car les règles de modélisation donnent à chaque élément du modèle
une définition unique, construite en rassemblant les informations issues de ses différentes représentations,
et interdisent à celles-ci de se contredire.
Réduire le risque d'erreurs et le temps passé à la vérification des données par
rapport aux approches basées sur des documents

2
L'usage intensif de la simulation car un modèle peut regrouper toutes les informations permettant de
modéliser le système, de simuler son comportement, et de comparer les résultats aux exigences afin de
valider (ou non) des solutions.
Réduire le temps passé à la formulation des modèles et la validation des solutions
Introduction

Objectifs de la modélisation : simuler et communiquer

' Pour un observateur A, M est un modèle de l’objet O, si M aide A à


Modèle? répondre aux questions qu’il se pose sur O'

Un modèle est construit selon trois grands aspects complémentaires

1. Le point de vue fonctionnel, qui consiste à décrire les actions effectuées par le système pour
répondre à la question « A quoi sert-il ? » ;

2. Le point de vue structurel qui, dans le cadre de la systémique, consiste à décrire les
composants du produit et de son environnement ainsi que les relations entre ces composants,
pour répondre aux questions « De quoi est-il composé ? » et « Comment est-il organisé ? » ;

3. Le point de vue comportemental, qui consiste à modéliser le produit et son environnement


au sein d'une théorie afin de répondre, par la simulation, à la question « Quelles sont ses
performances ? ».
Introduction

La démarche globale de conception basée sur les modèles

La démarche globale est une combinaison d'une méthodologie, d'un langage de modélisation et d'un outil
de modélisation qui, ensemble fournissent une infrastructure pour l'application du concept de l’ingénierie
système basée (guidé) sur les modèles.

Méthodologie
de conception

Modèles

Language Outil
SysML Papyrus

7
Objectifs et compétences visées

Se familiariser avec les principaux concepts et les différentes représentations (diagrammes et tables), de
SysML.

Comprendre comment les différentes représentations forment des points de vue complémentaires et
cohérents d’un même système.

Mettre en pratique les connaissances acquises pour modéliser un cas d’étude avec un outil de
modélisation (Papyrus).

Plan

Introduction des outils (langage SysML et outil Papyrus).


Analyse des exigences/besoins du système.
Description de l’architecture du système.
Modélisation des comportements d’un système.
Concepts de nature transverse au travail de conception.
Travail en autonomie sur une étude de cas.
Le langage SysML et l'outil Papyrus

SysML pour une Ingénierie Systèmes basée sur les Modèles

Une demande de propositions, pour un profil UML destiné à couvrir les tâches de
l’ingénierie système, de l'OMG ou Object Management Group.

Graphical modeling language which supports the specification, analysis, design,


verification and validation of systems that include hardware, software, data, personnel,
procedures, and facilities

SysML a été proposé par le


International Council on Systems Engineering (INCOSE)

SysML est un langage défini comme une extension à UML2.


La partie d’UML2 qui est réutilisée par SysML est appelée UML4SysML.

9
Relations entre UML2 et SysML
Le langage SysML et l'outil Papyrus

Les quatre piliers de SysML

SysML propose de couvrir la modélisation d’un système au travers des diagrammes permettant d’aborder
les aspects structurels, comportementaux et paramétriques du système ainsi que les exigences.
Le langage SysML et l'outil Papyrus

L’outil Papyrus-SysML
Le modèle SysML® est généralement construit à l'aide d'un logiciel dédié qui le stocke dans une base de
données, et peut ensuite générer automatiquement un document correspondant à un point de vue
particulier.

L’un des meilleurs outils SysML est Papyrus-SysML.


C’est l’outil utilisé dans ce cours.

Mais il existe un certain nombre d’autres outils permettant de réaliser des modèles SysML.
En voici une liste non exhaustive (ils sont pour la plupart payants) :

Enterprise Architext (Sparx System)

Cameo Systems Modeler (NoMagic)

MagicDraw (NoMagic)

Rhapsody (IBM) https://mbse4u.com/sysml-tools/

Visual Paradigm

Modelio (Softeam)
Le langage SysML et l'outil Papyrus

L’outil Papyrus-SysML

1 Le Project Explorer, 2 Le Model Explorer 3 L’éditeur de diagramme

4 L'Outline 5 La Palette 6 La Properties view


Le langage SysML et l'outil Papyrus

Les 9 diagrammes de SysML


Les 9 diagrammes de SysML

Classification des 9 diagrammes de SysML

Diagrammes fonctionnels :

req : requirement diagram (diagramme des exigences)


uc : use case diagram (diagramme des cas d’utilisation)

Diagrammes structurels :

bdd : block definition diagram (diagramme de définition des blocs)


ibd : internal block diagram (diagramme interne d’un bloc)
pkg : package diagram (diagramme des paquets)

Diagrammes comportementaux :

act : activity diagram (diagramme d’activités)


stm : state machine diagram (diagramme d’états)
sd : sequence diagram (diagramme de séquence)
par : parametric diagram (diagramme paramétrique)
Requirement diagram (diagramme des exigences)

L’objectif
Il permet de spécifier, hiérarchiser et documenter des exigences, c'est-à-dire des
attentes portant sur le système ou sur son comportement.

Exigences
C'est une notion vaste, incluant par exemple toutes sortes de caractéristiques
chiffrées, des choix technologiques imposés, le respect de normes, de
réglementations, de sécurité, de fiabilité, d’ergonomie,d’esthétisme...

De nombreux domaines peuvent être couverts, les plus classiques étant les exigences
fonctionnelles de perforamnces ou contraintes.

La traçabilité d'une exigence

comprend les éléments de conception qui la satisfont, les autres exigences qui en
découlent et les cas de test pour la vérifier. La justification des relations de traçabilité
est également indiquée.

15
Requirement diagram (diagramme des exigences)

Syntaxe

Exigence

Identifiant unique

Texte descriptif
Note qui permet de justifier
un certain choix

Ici décomposition d’une


exigence composite en
exigences unitaires
Laisons avec d’autres types
d’éléments SysML par
plusieurs relations :
«refine» «satisfy» «verify»
Requirement diagram (diagramme des exigences)

Exercice 1

Dessiner un diagramme des exigences pour le système de vidéosurveillance à partir des


données suivantes :

• Req 10 : Le système doit pouvoir détecter des intrus 24h/24, 7j/7.

• Req 20 : Le système doit pouvoir détecter des intrus dans n’importe quelles conditions
météorologiques.

• Req 30 : 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 Req10 et Req20.

• La spécification du système contient les exigences Req10, Req20 et Req30.

17
Requirement diagram (diagramme des exigences)

Solution

18
Use case diagram (diagramme des cas d’utilisation)

L’objectif

C’est un diagramme fonctionnel dont l’objectif est de montrer les fonctionnalités offertes par
un système en identifiant les services qu’il rend aux acteurs

Il délimite précisément le système, décrit ce qu'on fera du système sans spécifier


comment.L’énoncé d’un cas d’utilisation doit se faire hors technologie, puisqu’il est défini en
termes de résultats attendus.

Il permet donc de modéliser les exigences selon un point de vue complémentaire à celui
exposé par le diagramme des exigences

Remarque

Même si ce diagramme semble très simple voire basique au premier abord, le travail de
réflexion pour aboutir à sa représentation l’est moins. Cette simplicité est en général atteinte
après plusieurs itérations afin de bien cerner les objectifs visés grâce au système.
Use case diagram (diagramme des cas d’utilisation)

Syntaxe
Un acteur est une entité externe qui interagit avec le système et peut obtenir des services de
celui-ci. Il est relié à un ou plusieurs cas d’utilisation par une ligne simple.

<<extend>> : le cas
d’utilisation de base
« peut
éventuellement se
faire avec »

<<include>> : le cas
d’utilisation de base «
ne peut se faire sans
» ou « impose que »

Un cas d’utilisation est représenté sous forme d’ovales. C'est une façon dont le système est
utilisé, un service qu'il fournit à au moins un de ses utilisateurs.
Use case diagram (diagramme des cas d’utilisation)

Exercice 2

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
Use case diagram (diagramme des cas d’utilisation)

Solution

Extension points:
Panne
Block definition diagram (diagramme de définition des blocs)

L’objectif
Il est utilisé pour décrire l’architecture matérielle (physical) du système.

Un bloc est une entité bien délimitée qui encapsule principalement des attributs (variables
d’état), des opérations (procédures comportementales), des contraintes, des ports
(échange de flux avec l’extérieur) et des parts (sous-blocs internes).
Un bloc peut modéliser tout le système, un élément matériel ou logiciel...Des stéréotypes (ici
Hardware) sont utilisés pour personnaliser le langage pour des applications spécifiques à un
domaine donné.
La propriété de type value
La notion fondamentale permet d’exprimer une
de « port » qui caractéristique quantifiable
correspond à un point
d’interaction avec
l’extérieur du bloc
Une opération traduit un
comportement du block
Block definition diagram (diagramme de définition des blocs)

Syntaxe

Les relations de composition (trait avec losange plein) indiquent les block qui entrent dans la
composition du système et lui sont indispensables

Contrainte de multiplicité.
Notez comment l'utilisation du losange blanc (agrégation partagée) sur FrontWheel,
BrakePedal, ces block entrent dans la composition du système sans être indispensable à son
fonctionnement "usage-non-composition".
Block definition diagram (diagramme de définition des blocs)

Exercice 3

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 ;

• 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, pouvant être acier ou aluminum ;


• et de deux axes motorisés, identiques mais disposés différemment : l’un
est horizontal et l’autre vertical.
Block definition diagram (diagramme de définition des blocs)

Solution
Internal block diagram (diagramme interne d’un bloc)

L’objectif
Le diagramme de blocs internes est rattaché à un bloc issu du diagramme de définition de
blocs.
Le diagramme de définition de blocs introduit les connecteurs (traits) entre les ports pour
indiquer les flux de matière, d’énergie et d’information entre les différents blocs.

Syntaxe
On s’intéresse pour ces exemples à un compresseur, qui permet d’alimenter en air comprimé
des outils utilisant cette énergie.

BDD Contexte BDD Composant


Internal block diagram (diagramme interne d’un bloc)

Diagramme interne du bloc compresseur

Ports

Relation Composants
(flux)

Remarque
Port de flux : canal d'Entrée/Sortie par lequel transite de la matière, de l'énergie ou de
l'information (MEI).
Port standard : désigne une interface permettant d'invoquer un service/une opération.
Internal block diagram (diagramme interne d’un bloc)

Exercice 4

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.

Pour simplifier ne pas prendre en compte le système de montage dans ce diagramme


Internal block diagram (diagramme interne d’un bloc)

Solution
Package diagram (diagramme des paquets)

L’objectif
Un paquetage est un élément « conteneur » permettant le regroupement d'autres éléments.
Le diagramme de paquetages (Package Diagram) permet de représenter l’organisation des
modèles par domaine ou type de diagramme (comportement, structure ou exigences). Il est
analogue à un dossier informatique

Exemple
d'organisation
Activity diagram (diagramme d’activités)

L’objectif
C’est un diagramme de comportement qui représente l’ordre dans lequel les actions s’exécutent
et comment ces actionsd éfinissent les sorties à partir des entrées.

Syntaxe
Début 'une activité
Les éléments de base du diagramme d’activité sont les suivants :

• des actions (transformations de flux) ;


• des flux transformés (Energie, signal, matière) par ces actions;
• flux de contrôle : conditions supplémentaires de démarrage des actions

flux de contrôle reçu Fin d'une activité

Flux d'entrée Flux transformé


Fin d'un flux

flux de contrôle émis

Une action ne peut démarrer que si son flux de contrôle reçu est activé. Elle active son flux de
contrôle à la sortie une fois terminée.
Activity diagram (diagramme d’activités)

Mélange : la sortie s’active Décision : l’entrée active une sortie


dès qu’une entrée est active (une et une seule condition doit être vraie)

Bifurcation : l’entrée active Jonction : la sortie s’active si toutes les


toutes les sorties entrées sont actives

s’active S'active à l'expiration envoie le signal lorsqu’il


à la réception du signal d'une minuterie. est activé
Activity diagram (diagramme d’activités)

Les partitions (« swimlanes »)


Instances de blocs

Le « râteau » indique que l’activité est définie sur un autr diagramme


Activity diagram (diagramme d’activités)

Exercice 5
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é.


Activity diagram (diagramme d’activités)

Solution
State machine diagram (diagramme d’états)

L’objectif
Modéliser un comportement par des états et des transitions activées par des événements.

Etat : étape reproductible de la vie d’un composant munie de comportements (entrée, phase
active, sortie). Elle est exclusive (un seul état actif à la fois)
Evénement: est une spécification qui peut déclencher une réaction, peut porter des
paramètres qui matérialisent le flux d’informations ou de données reçues. Il peut être
accompagné de conditions.
Automate fini (state machine)
Syntaxe nommé Marche/arrêt
Un pseudo-état
indiquant l'état initial
Deux transitions
avec
Deux états nommés Deux événements
moteur arrêté et déclencheurs
moteur allumé
une condition de
Comportement garde indiquée entre
d'entrée repéré par crochets
le mot-clé entry
State machine diagram (diagramme d’états)

Notation des Transitions qui régissent les changements d’état: événement[condition]/action

Type de Comportements:
entry / comportement appelé à l’entrée
do / comportement tant que l’état reste actif
exit / comportement appelé à la sortie
Etats composés : contiennent un autre automate avec état initial sans état final !

Etat initial : Noeud final :


actif au arrête l’automate
démarrage de
l’automate
State machine diagram (diagramme d’états)

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

Exercice 6

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.
State machine diagram (diagramme d’états)

Solution
Sequence diagram (diagramme de séquence)

L’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

Syntaxe

Instance d’un bloc


Message

Ligne de vie
Comportement
individuel

Réponse
Sequence diagram (diagramme de séquence)

asynchrones : l’expéditeur
n’attend pas

synchrones : l’expéditeur
attend une réponse

réponses

Messages réflexifs :
interactions internes
Sequence diagram (diagramme de séquence)

Noms
Appel d’une
interaction

Exécution parallèle conditions

Branchement
conditionnel
Sequence diagram (diagramme de séquence)

Exercice 7

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 Alarm déclenchée, puis répond Alerte confirmée
au garde ;

Ensuite :

• si l’on est ensuite 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.
Sequence diagram (diagramme de séquence)

Solution
Parametric diagram (diagramme paramétrique)

L’objectif
Représenter un système d’équations par :
• contraintes : relations mathématiques
• paramètres : variables de ces relations
• caractéristiques des blocs
Syntaxe
Dans un premier temps
La représentation des différentes relations s'effectue dans un diagramme de définition de blocs
(constraint blocks) que l'on construit selon le même principe que s'il s'agissait de blocs «
standard »
relation de référence: signifie
que le bloc de contrainte
Dynamique du véhicule peut
faire appel aux
caractéristiques du bloc
Véhicule. Cette relation est
munie d'un nom de rôle, à
savoir v
Parametric diagram (diagramme paramétrique)

Dans un deuxième temps


On construit un diagramme paramétrique, noté par, qui représente graphiquement le système
formé par ces contraintes et leurs paramètres. Pour cela, on instancie les blocs de contrainte,
de la même façon que l'on instancie des blocs dans un ibd.

Composition du diagramme paramétrique :

• instances des blocs de contraintes ;


• liens entre les variables égales ;
• liens avec les paramètres des blocs référencés avec un rôle : nom du rôle.nom du paramètre
Parametric diagram (diagramme paramétrique)

Exercice 8

On considère le diagramme de définition de blocs suivant . Construire unun diagramme


paramétrique pour le constraint blocks K
Parametric diagram (diagramme paramétrique)

Solution
The system model as a framework for analysis and traceability

50

Vous aimerez peut-être aussi