Modélisation SysML de l'Hemomixer
Modélisation SysML de l'Hemomixer
Nouveauté remarquée dans le programme de STI2D, soient-ils, ne donnera jamais une vision globale cohérente
SysML se veut un outil cohérent de modélisation des systèmes de la chose représentée. L’idée moderne est de fédérer
plusieurs langages spécialisés au sein d’un « méta-
pluritechnologiques actuels. Mais il vient quelque peu
outil ». Une vision pertinente du système pourra ainsi
bousculer les habitudes que nous avions, chacun dans notre émerger de ses différentes composantes spécialisées
domaine, dans les descriptions fonctionnelle, structurelle liées par un métalangage garant de la cohérence. C’est
et comportementale des systèmes techniques. Afin de l’objectif de SysML (Systems Modeling Language).
SysML n’est pas une méthode, mais un ensemble
nous éclairer, voici une analyse fonctionnelle menée avec
d’outils graphiques définis par un métalangage qui
les diagrammes SysML et appliquée au produit Hemomixer. offrent au concepteur toutes les facilités pour construire
un modèle à forte cohérence sémantique. Il permet de
spécifier les systèmes, de concevoir, définir et analyser
Le langage SysML mots-clés leur structure et leur fonctionnement dynamique, de
On le sait, un système est un ensemble de composants lycée technologique, simuler leur comportement afin de valider leur faisabilité
qui interagissent d’une manière organisée pour accomplir modélisation, avant leur réalisation. Il intègre les composants
une finalité commune. L’organisation structurale du outil et méthodes physiques de toutes technologies, les programmes, les
système et ses interactions avec l’environnement lui données et les énergies, les personnes, les procédures
donnent sa signification et lui permettent d’atteindre sa et les flux divers.
finalité. Avec le progrès de la science et de la technologie, Quelles sont alors les fonctionnalités d’un tel outil
les systèmes deviennent de plus en plus complexes, de représentation ?
parce qu’ils sont constitués d’un nombre important l Il facilite la collaboration transdisciplinaire de
de composants de natures différentes, parce que leur tous les spécialistes des corps de métier concernés en
résolution fait intervenir des spécialistes de disciplines proposant un ensemble lié d’outils de représentation
diverses, enfin parce qu’il est difficile de prévoir leur suffisamment universels pour qu’ils puissent être
comportement par des méthodes réductionnistes. compris par tout le monde, et suffisamment expressifs
Le comportement global d’un système émerge des pour qu’il puissent représenter toutes les composantes
interactions simples de ses constituants, mais il est hautement spécialisées ainsi que les différents points
beaucoup plus riche que la somme des comportements de vue d’un même système.
individuels. Ce phénomène génère de la complexité l Il permet la mise à jour, le stockage et, surtout, le
qui ne pourra être maîtrisée que par des approches partage ainsi que l’interprétation faciles des informations.
systémiques transdisciplinaires. l Il permet la modélisation du système à toutes les
Aujourd’hui, des approches comme l’ingénierie système étapes de son cycle de développement et de vie en
proposent un ensemble de démarches méthodiques représentant de manière quasi exhaustive les principaux
associées à des outils qui permet de maîtriser la éléments de modèle suivants :
compréhension, le développement et l’exploitation de – l’expression des besoins et des contraintes ;
systèmes techniques complexes. Ces outils permettent – la représentation de l’organisation structurée des
de donner une représentation de la réalité sous des composants ;
formes simplifiées selon les besoins du moment. Nous – la définition précise de chaque composant (propriétés
appellerons ces différentes visions simplifiées des structurelles et comportementales) ;
modèles. Ces modèles sont en grande majorité représentés – la description du comportement attendu du système
sous forme symbolique par des outils à base de langages au cours des différentes phases d’utilisation.
graphiques. Ces langages – instrument de la pensée l Il permet l’intégration et la mise en relation cohérente
et de la communication – sont mis ici au service de la des différentes composantes techniques dans un même
conception et de la compréhension d’artefacts par des modèle, par exemple les liaisons entre un programme
équipes pluridisciplinaires. SADT, les outils classiques informatique et des actionneurs mécaniques.
de l’analyse fonctionnelle (outils de la méthode APTE, l Il permet la validation de solutions par une simulation
Fast…) et le Grafcet – pour ne prendre qu’eux – que nous basée sur des diagrammes paramétriques.
connaissions déjà font partie de ces langages. Cependant, SysML peut être mis en œuvre par des ingénieurs
un ensemble d’outils disparates, aussi performants en phase de conception d’un nouveau système pour
élaborer soit des modèles normatifs qui guident la
[1] Professeur agrégé de génie électrique en STS IRIS au lycée construction soit des modèles prédictifs pour valider
Diderot (75) des solutions en amont de la construction. Mais SysML
32 technologie 179 av r i l 2 012
On peut relever les exigences sur le descriptif en 5 . Par exemple, le cas d’utilisation « fonctionner en
technique du produit, et les classer en trois familles : mode manuel ou automatique » s’affine avec l’exigence
l Les exigences fonctionnelles 6 « l’infirmière doit pouvoir commuter sur un des deux
l Les contraintes technologiques 7 modes à tout moment ».
l Les contraintes opératoires 8 Le sous-système « agitateur-peseur » qui sera défini
Les exigences sont représentées sous forme textuelle ultérieurement apparaît dans ce diagramme parce
et structurées de manière arborescente. qu’il satisfait (relation satisfy) l’exigence « pesage et
Pour assurer la traçabilité et le suivi des exigences agitation simultanées ».
tout au long de la modélisation, des relations permettent SysML définit ainsi plusieurs types d’associations
de préciser les éléments du système concernés par les (liens de dépendance stéréotypés) :
exigences. Derive : une exigence est dérivée d’une exigence.
Les exigences de ce type de diagramme apportent des Satisfy : un élément du modèle (par exemple un bloc) permet de
précisions (relation refine) aux cas d’utilisation définis satisfaire une exigence.
36 technologie 179 av r i l 2 012
Verify : un élément du modèle (par exemple un test case) permet de flux sur les ports de sortie. Le système répond à des
vérifier et valider une exigence. sollicitations de son environnement. Il consomme des
Refine : un élément du modèle, par exemple un cas d’utilisation, flux sur les ports d’entrée.
affine une exigence. Dans la phase de saisie des besoins, le concepteur
devra spécifier les comportements attendus du système
La modélisation du comportement lorsqu’il assure les fonctions d’usage définies dans le
avec le diagramme de séquence use case. Le système dont on n’est pas censé connaître
Un diagramme de séquence (sequence diagram) encore la structure est considéré ici comme une « boîte
représente les interactions classées selon un ordre noire » dont les comportements seront représentés
chronologique des acteurs et du système, ou des sous forme d’une suite séquentielle d’échanges avec les
parties internes du système au cours du déroulement acteurs dans des diagrammes de séquence 9 nommés
d’un scénario. En effet, pour atteindre ses objectifs, un ici diagrammes de séquence système ou encore black
système ne reste pas inerte, il agit en déclenchant des box sequence diagrams.
suites d’activités dont le résultat observable constitue Un diagramme de séquence représente un dérou-
son comportement. Le comportement produit des lement des interactions du système et des acteurs
av r i l 2 012 technologie 179 37
concernés au cours de la réalisation d’un service, ici une ou plusieurs données. Les rectangles ajoutés sur
« prélever une quantité déterminée de sang en mode les lignes de vie représentent les périodes d’activité
automatique ». de l’acteur ou du système correspondants.
Des objets représentent les acteurs concernés et
la boîte noire système. Le temps s’écoule vers le bas N Attention :
du diagramme le long des lignes de vie associées à l Le comportement (« normal ») décrit ici peut comporter
chaque acteur. Les interactions sont représentées des variantes. Dans ce cas, d’autres diagrammes de
par des échanges de « messages » symbolisés par des séquence exposeront les scénarios alternatifs.
traits fléchés horizontaux tirés entre les lignes de vie l Il y a autant de diagrammes de séquence que de
des correspondants. Un message est un élément de cas d’utilisation, et, pour un cas donné, autant de
communication dont l’occurrence déclenche une activité diagrammes que de scénarios possibles. Leur nombre
chez le récepteur. Il apporte éventuellement avec lui devenant vite pléthorique, il faut se limiter au strict
38 technologie 179 av r i l 2 012
nécessaire, c’est-à-dire aux cas complexes sujets à des par itération et en faisant des allers-retours entre
interprétations ambiguës. les diagrammes. C’est le cœur même de la méthode.
l Les systèmes physiques sont de nature causale, Car, bien évidemment, tous les diagrammes sont liés
c’est-à-dire que leurs réactions sont postérieures entre eux.
aux stimuli provocateurs. Les messages de réponse
seront donc toujours postérieurs aux messages de l’analyse technique de l’Hemomixer
sollicitation. L’existence du système autorise une analyse descendante
l Le nom d’un message représente l’action que le interne pour le décrire en observant la manière dont il
récepteur doit exécuter lorsqu’il reçoit le message. est construit. On tâchera de construire nos diagrammes
en les justifiant et en explicitant leurs liens avec les
+ Remarques : autres éléments du modèle global déjà définis.
l Dans cette phase de spécification, le diagramme
de séquence représente un comportement externe La modélisation structurelle avec les BDD et IBD
du système qui réagit aux sollicitations de son L’étude des plans de l’Hemomixer, des animations
environnement. Il sera aussi très largement utilisé, multimédias interactives fournies avec ce dernier
par la suite, pour décrire les suites d’échanges de et son observation directe permettent d’élaborer un
messages entre les parties internes du système durant BDD 10 qui traduit son architecture globale, puis l’IBD
des séquences temporelles d’actions appelées activités. correspondant 11 .
C’est alors une vision white box qui sert de spécification Guidé par les cas d’utilisation, le concepteur a imaginé
pour réaliser les programmes de contrôle-commande cette architecture où les constituants assurent chacun
du système. une ou plusieurs fonctions d’usage : l’élaboration de
l Le diagramme de séquence qui définit le besoin est ces diagrammes est orientée « objet » et gouvernée
souvent élaboré avec le client. par le « fonctionnel ».
Le BDD représente un modèle générique de définition.
Après avoir mené l’analyse fonctionnelle externe du Il traduit fidèlement la structure arborescente du
produit (dans sa phase d’exploitation normale), on peut système composé récursivement de sous-systèmes.
passer à une étude interne du système. Elle procède Chaque type de composants, matériel ou logiciel,
av r i l 2 012 technologie 179 39
est représenté par un bloc qui encapsule toutes ses typer ; il suffit ensuite d’indiquer leur multiplicité par
composantes caractéristiques regroupées en familles un nombre posé sur le lien de composition.
stockées dans quatre « compartiments » : partie (part Un jeu de liens permet de construire l’arbre de la
property), référence (shared property), données (value structure par assemblage des constituants ; on utilise
property) et contraintes (constraint property) principalement le symbole de composition orientée
Les ports de flux (flow ports) situés sur la frontière (flèche pleine au losange noir), qui signifie : « est com-
d’un bloc permettent la circulation de flux (item flow) posé de » ou « appartient à ».
de matière, d’énergie ou d’information entre le bloc On peut considérer que le BDD est similaire à la
et l’extérieur. première page d’une notice de montage d’un meuble,
Si plusieurs composants sont quasi identiques et qu’ils indiquant la liste des éléments et des pièces à assem-
sont de la même famille, alors un seul bloc suffit à les bler avec leurs quantités respectives.
40 technologie 179 av r i l 2 012
NAttention : La sémantique du modèle est laissée au soin du BDD, il met en scène l’organisation de ses composants
concepteur, c’est à lui de respecter les règles de cohérence (parts) qui échangent à travers leurs ports reliés par
et d’homogénéité en évitant les mélanges de genre. un réseau de connecteurs les flux vitaux de matière,
d’énergie et d’information afin de faire « vivre » le
L’IBD représente l’architecture interne de l’instan- système. Chaque partie du bloc « radiographié » est
ciation d’un bloc (système ou sous-système) typé dans un engendrée par son bloc de définition décrit dans le
av r i l 2 012 technologie 179 41
BDD ; elle en possède toutes les propriétés. Son nom N Attention : Il ne faut pas confondre le bloc, qui
propre (par exemple, « carte 40-065 » pour la carte représente une définition, avec la partie, qui est un
de contrôle-commande) lui confère son statut d’objet objet réel construit sur le modèle du bloc, ce dernier
concret. en étant en quelque sorte le moule.
Ce diagramme permet, entre autres choses, de véri-
fier la continuité des différentes chaînes de flux pour L’analyse se poursuit en affinant les sous-
valider le modèle avant de poursuivre l’analyse. systèmes, que l’on peut représenter soit sur des
diagrammes séparés soit sur un même diagramme,
+ Remarques : comme en 12 , lorsque le système n’est pas trop
l Les bords d’un IBD représentent la frontière du bloc volumineux.
qui est décrit ; les ports de flux qui permettent les L’Hemomixer est un système à l’architecture
entrées/sorties de flux doivent y figurer. classique : la carte de commande est physiquement
l Il serait judicieux, à ce stade, et d’établir quelques séparée de la partie opérative. Sur les 27 composants
diagrammes de séquence qui représentent les échanges de la vue éclatée de l’agitateur-peseur fournie dans
principaux entre la carte de commande et les deux la documentation technique, notre modèle en retient
sous-systèmes mécaniques au cours des principaux six. Ce choix est-il approprié ? La décomposition doit
scénarios. mettre en évidence des parties qui assurent chacune
42 technologie 179 av r i l 2 012
en rayon
PÉreZ (Valérie) et BOnTemPS (Philippe) « Du sang neuf pour
l’enseignement technologique », Technologie, n o 176, nov.-
déc. 2011
Sys3mL
en ligne
Le site officiel, pour télécharger la norme :
www.sysml.org/
Un site intéressant avec de nombreuses références sérieuses :
www.uml-sysml.org/
Le site de l’association de promotion de SysmL en France, qui
se réjouit de l’introduction de SysmL dans les programmes
de STi2D. elle met en garde contre les mauvais exemples qui
circulent sur le Web et propose sur son blog une initiation à
SysmL à partir du cas concret du lave-linge :
www.sysml-france.fr
Le site de magicDraw (aGL de la société no magic), pour
télécharger magicDraw UmL et son plugin SysmL avec une
licence provisoire de test :
www.magicdraw.com
UmL
une fonction essentielle au fonctionnement du système, en ligne
L’excellent cours UmL de Laurent audibert :
ni plus, ni moins. Le vrai problème du modeleur est de
http://laurent-audibert.developpez.com/Cours-UML/
définir le bon niveau de granularité ; la bonne solution
n’existant pas, il faut simplement que l’outil permette en rayon
de corriger et d’affiner si besoin. Ici, rien n’empêche de L’ouvrage fondateur. Toutes les références sur les diagrammes
d’UmL, par leurs auteurs eux-mêmes :
décider la modélisation complète du motoréducteur ; il BOOCH (Grady), rUmBaUGH (James), JaCOBSOn (ivar), Le Guide
suffit de déterminer ses parts, leurs interactions, etc. de l’utilisateur UML, eyrolles, 2000
En général, un bloc « motoréducteur » bien renseigné
suffit au concepteur… sauf s’il est concepteur de
motoréducteurs. méthodes
nOLan (Brian), BrOWn (Barclay), BaLmeLLi (Laurent) et al.,
L’absence de description détaillée du clampeur ne
Model Driven System Development with Rational Products, iBm,
bloque pas les travaux sur le reste du système si l’on coll. « redbooks », 2008. Développée par iBm, cette méthode
considère provisoirement le clampeur comme une boîte moderne de conception guidée par le modèle s’appuie
noire. Il faudra néanmoins rapidement déterminer fortement sur SysmL. Téléchargement en PDF gratuit :
ses ports de communication. Les noms des parties www.redbooks.ibm.com/redbooks/pdfs/sg247368.pdf
instanciées apparaissent à l’extrémité des relations
de composition.
av r i l 2 012 technologie 179 43
N Attention : Au cours d’une phase d’analyse, le l Le diagramme d’activité (non spécifié dans le document
modeleur doit extraire ses éléments de modélisation d’accompagnement STI2D)
exclusivement des plans, des notices techniques et, si
possible, de l’observation directe du système. La modélisation du comportement
L’IBD 13 , structurellement identique à celui en 11 , dynamique avec le diagramme d’état
exprime un niveau plus détaillé de l’Hemomixer. Les C’est un automate à état fini qui décrit la succession
composants internes étant maintenant parfaitement des états du système (ou d’un composant) pendant son
définis, les chaînes peuvent être vérifiées complètement. utilisation. On considérera qu’un état correspond à des
Le clampeur n’est pas représenté sur ce diagramme ; phases reproductibles de la vie du système caractérisées
le logiciel de pilotage implémenté dans le microcontrô- par une invariance d’une partie de ses variables d’état
leur pourrait quant à lui y figurer. ou de ses activités.
Les composants internes du système étant mainte- Les différents états de l’Hemomixer identifiés dans
nant déterminés, il faut représenter la manière dont la documentation technique figurent sur le diagramme
ils interagissent ainsi que les effets de leurs activités d’état (state diagram) 14.
collaboratives sur le comportement global du système Il s’agit ici d’un diagramme très classique à quatre
pour vérifier que ce dernier est conforme aux attentes. états : mise en route, prêt, utilisation, et mise à l’arrêt.
Trois diagrammes SysML permettent de spécifier Un état est soit actif soit inactif ; l’état initialement
ces comportements : actif est symbolisé par un disque noir. Les transitions
l Le diagramme de séquence (déjà élaboré 9 ) relient les états entre eux et indiquent les voies
l Le diagramme d’état d’évolution possibles.
av r i l 2 012 technologie 179 45
Un événement ou (inclusif) une garde associée à tité déterminée de sang en mode automatique » dans le
chaque transition orientée permettent de déclencher cas où tout se passe bien et avec affichage par défaut ;
le franchissement de la transition lorsque l’état source le lecteur pourra suivre ce parcours sur le diagramme
est actif ; dans ce cas l’état cible devient actif. Des d’état. D’autres diagrammes de séquence, par exemple
activités, c’est-à-dire des suites d’actions, peuvent être dans le cas où le donneur demande une pause pendant
activées soit au moment de l’entrée dans l’état (entry/ ), le prélèvement, compléteront utilement l’analyse dyna-
soit pendant toute la durée de l’état (do/ ), soit enfin au mique, qui est ici simplement ébauchée. C’est au mode-
moment de la sortie de l’état (exit/ ). leur de maintenir la cohérence entre les diagrammes
Un état peut contenir des sous-états, qui sont soumis qui devront être corrélés en permanence tout au long
aux règles d’évolution générale à la condition que l’état de la modélisation.
conteneur soit actif. Des symboles complémentaires per-
mettent de synchroniser (barres noires) ou d’assurer La modélisation du comportement
l’indépendance de sous-états (état conteneur composite : dynamique avec le diagramme d’activité
séparé en zones parallèles par un segment pointillé). Non spécifié dans le document officiel d’accompagnement
Ce diagramme définit complètement les différentes STI2D, le diagramme d’activité (activity diagram) est
phases de fonctionnement du composant. un automate à états finis qui permet de décrire une
Il servira principalement à la conception générale activité en représentant le séquencement temporel
des logiciels de contrôle-commande, et en particulier à des actions qui la composent. Il est suréquipé en
définir leur architecture globale, en général de nature éléments syntaxiques qui lui permettent de traiter les
multitâche. Mais il peut aussi servir à définir un mode événements, spécifier les flux d’activation ainsi que les
d’emploi – c’est d’ailleurs à partir du mode d’emploi flux de traitement des données.
détaillé qu’on l’a élaboré. Les automaticiens pourront, le Le diagramme d’activité 15 représente deux activités
cas échéant, représenter un Gemma (Guide d’Étude des synchronisées par des événements et qui s’exécutent
Modes de Marche et d’Arrêt) sans aucun problème, car pendant les activités des états « exécution prélèvement »
il représente une instance particulière du graphe d’état. et « pause en prélèvement » du diagramme des états
généraux 12 .
N Attention : Les diagrammes de séquence ne conviennent Cousin du Grafcet, le diagramme d’activité est toutefois
pas pour décrire des activités. Ces dernières sont asso- plus riche que ce dernier.
ciées aux états en tant qu’éléments moteurs générateurs Les deux activités sont représentées dans des cou-
d’événements qui provoquent des changements d’état. loirs différents (swimlanes) qui portent leur nom. Les
couloirs permettent de définir des partitions (bloc, acti-
+ Remarque : Les diagrammes de séquence pour- vité, états) auxquelles seront allouées les suites d’opé-
ront tracer sur ce support balisé des parcours qui rations. Ce dispositif qui permet de lier des éléments
représenteront chacun un scénario de fonctionnement. appartenant à des diagrammes différents (un proces-
À ce titre, le diagramme de séquence 9 représente le seur et son programme applicatif, par exemple) apporte
déroulement du cas d’utilisation « prélever une quan- de la cohérence au modèle.
46 technologie 179 av r i l 2 012
Les éléments syntaxiques, très nombreux, se classent (parametric diagram) est un diagramme de structure
en trois groupes : les nœuds d’actions qui décrivent les qui sert à exprimer les relations qui lient les grandeurs
actions élémentaires (par exemple, Déclamper), les physiques caractéristiques du système. Il se construit
nœuds d’objets qui permettent de faire transiter et de en deux étapes, que nous allons suivre pour représenter
stocker les données d’objets (flow) traités par les nœuds les phénomènes mécaniques associés à la fonction
d’action (par exemple, T prélèvement : « datastore »), d’agitation :
enfin les nœuds de contrôle, qui définissent le dérou-
lement des traitements (le losange de choix) et leur 1 Définition des paramètres physique
synchronisation (barre). et des équations qui les lient 16
Des nœuds d’action particuliers permettent l’échange Les relations physique sont définies dans un BDD par
de signaux d’événements entre les activités. des blocs stéréotypés « constraint », qui sont des parts
Les blocs producteurs et consommateurs des données des blocs (système physiques) qu’ils paramètrent.
traitées qui figurent sur le diagramme apportent leur part Les relations peuvent s’exprimer soit en langage
de cohérence au modèle en facilitant la compréhension « libre », soit en langage OCL (Object Contraint
globale des processus. Le diagramme indique, par Language), soit dans le langage imposé par l’outil Case
exemple, que le capteur de pesage défini en 12 et 13 si celui-ci assure la simulation, donc l’interprétation,
fournit de l’information à l’action « peser ». des relations.
Ces diagrammes seront directement traduits en tâches
logicielles par le programmeur. Nous avons là un vrai 2 Élaboration du diagramme paramétrique 17
outil de spécification avant codage de la commande. Le principe est analogue à celui utilisé pour l’élaboration
d’un IBD. Les contraintes définies à l’étape 1 sont
La modélisation comportementale instanciées ; on a choisi de les ranger dans les instances
avec le diagramme paramétrique des composants dont elles décrivent les « contraintes ».
Même si ce diagramme n’est pas évoqué dans le Les paramètres des relations sont des attributs (« value »)
document d’accompagnement STI2D, il est intéressant des composants correspondants : ils représentent
de montrer ses possibilités. Le diagramme paramétrique soit des données constantes (par exemple Tm signifie
av r i l 2 012 technologie 179 47