Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un vocabulaire plus adapté à l'Ingénierie Système. Un bloc englobe tout concept logiciel, matériel, données, processus, et même la gestion des personnes. Exemple représentation SysML
Modélisation Structurelle Il donne une vue statique du système sans tenir compte du temps . Exemple : Diagramme de blocs Le diagramme de définition de bloc (BDD, ou Block Definition Diagram en anglais) représente la vue boîte noire d'un bloc. Ainsi le bloc principal et la hiérarchie des blocs qui le composent, qu'ils soient logiciels ou matériels, sont spécifiés dans ce diagramme. Le BDD est similaire à la première page d'une notice de montage d'un meuble, indiquant la liste des éléments et des pièces à assembler avec leurs quantités respectives. Il est représenté par un bloc principale défini par sa fonction suivi des blocs corrspondant aux éléments qui le compose.
Modélisation Structurelle Diagramme de blocs Exemple purificateur d’eau
Modélisation Structurelle Diagramme de blocs Exemple purificateur d’eau Le bloc principal définit le purificateur d'eau (bloc Distiller) composé de 3 blocs : un échangeur de chaleur (HeatExchanger) qui a un rôle de condensateur (condenser) une bouilloire (Boiler) qui a un rôle d'évaporateur (evaporator) une soupape (Valve) qui a un rôle de drain Les trois blocs font physiquement partie du bloc principal (le purificateur d'eau), car les liens utilisés sur le diagramme sont des agrégations fortes ou compositions, représentées par un losange plein. Si un bloc n'en faisait pas physiquement partie, on parlerait alors d'une référence, et l'association utilisée serait une agrégation simple, représentée par un losange vide. Il est également possible d'employer des liens de généralisation (héritage) sur un BDD. On peut voir que certains aspects dynamiques du système ont déjà été modélisés en raison de la présence d'opérations (ex : l'opération 'boil water' dans le bloc Boiler). Les ports de flux (flow ports) est une nouveauté SysML ; les « flow ports » représentent ce qui peut circuler en entrée et/ou en sortie d'un bloc, que ce soit des données, de la matière ou de l'énergie. Ainsi le bloc « Distiller » utilise en entrée de l'eau froide et de la chaleur externe, et produit en sortie de l'eau purifiée, du résidu, et de l'eau pour le bypass Les ports des blocs qui composent le Distiller sont également représentés, indiquant comment ceux-ci peuvent être connectés lors de leur assemblage (modélisé dans le diagramme interne de bloc, l'IBD, traité dans le chapitre suivant)
Modélisation Structurelle Diagramme de blocs internes Il permet de déterminer les liens et les flux entre les blocs Exemple Machine à laver
Modélisation Dynamique La modélisation de l'aspect dynamique du système avec SysML repose sur une sélection de quatre diagrammes UML2 : diagrammes de cas d'utilisations, de séquence, d'activité, et d'états. Comme son nom l’indique, il donne une vue dynamique du système. Diagramme cas d’utilisation Il est utilisés pour donner une vision globale du comportement fonctionnel d'un système . Ils sont utiles pour des présentations auprès de la direction ou des acteurs d'un projet, mais pour le développement. C’est un moyen simple d’exprimer le besoin, de les analyser et de les organiser. C’est une description des interactions qui vont permettre à l'acteur d'atteindre son objectif en utilisant le système. Les use case (cas d'utilisation) sont représentés par une ellipse sous-titrée par le nom du cas d'utilisation (éventuellement le nom est placé dans l'ellipse). Un acteur et un cas d'utilisation sont mis en relation par une association représentée par une ligne.
Modélisation Diagramme cas d’utilisation
Modélisation Diagramme cas d’utilisation Les acteurs Ils sont des entités externes qui interagissent avec le système, comme une personne humaine ou un robot. Une même personne (ou robot, ...) peut être plusieurs acteurs pour un système, c'est pourquoi les acteurs doivent surtout être décrits par leur rôle. On distingue 4 catégories d'acteurs : les acteurs principaux (ex : usager, client, etc), les acteurs secondaires (ex : opérateur de maintenance, administrateur, etc), le matériel externe (capteur, imprimante, etc), les autres systèmes (serveur, etc). Les relations Trois types de relations sont prises en charge par la norme UML et sont graphiquement représentées par des types particuliers de ces relations. Les relations indiquent que le cas d'utilisation source présente les mêmes conditions d'exécution que le cas issue. Une relation simple entre un acteur et une utilisation est un trait simple.
Modélisation Diagramme cas d’utilisation Les inclusions Dans ce type d'interaction le premier cas englobe l'autre et son issue dépend souvent de la résolution du second. Ce type de description est utile pour extraire un ensemble de sous comportement commun à plusieurs tâches, comme une macro en programmation. Elle est représentée par une flèche en pointillée et le terme include. Les extensions Les extensions (Extend) représentent des prolongements logiques de certaines tâches sous certaines conditions. Autrement dit un cas d'utilisation A étend un cas d'utilisation B lorsque le cas d'utilisation A peut être appelé au cours de l'exécution du cas d'utilisation B. Elle est représentée par une flèche avec le terme Extend. Ce type de relation peut être utile pour traiter des cas particuliers ou préciser les objectifs, ou pour tenir compte de nouvelles exigences au cours de la maintenance du système et de son évolution.
Modélisation Dynamique Diagramme de séquences Le diagramme de séquences permet de montrer les interactions d'objets dans le cadre d'un scénario d'un diagramme des cas d’utilisation. Dans un souci de simplification, on représente l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels à droite du système. Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets. Exemple :
Modélisation Dynamique Diagramme de séquences Pour les cas plus complexes, on peut intégrer des algorithmes dans les diagrammes de séquences. Par le biais de cadres d'interaction, on peut préciser les spécificités d'un ensemble de messages : alt : fragments multiple alternatifs (si alors sinon) opt : fragment optionnel par : fragment parallèle (traitements concurrents) loop : le fragment s'exécute plusieurs fois region : région critique (un seul thread à la fois) neg : une interaction non valable ref : référence à une interaction dans un autre diagramme sd : fragment du diagramme de séquence en entier
Modélisation Dynamique Diagramme d’état-transitions Il permet de déterminer les changements d’état d’un système
FIN