Modélisation UML & SysML

Expertise et articles Blog sur UML, SysML, et Enterprise Architect de Sparx Systems

SysML

SysML

SysML ou Systems Modeling Language est un langage de modélisation issu d’UML, adapté pour l’Ingénierie Système.

 

L’Ingénierie Système (IS), ou Systems Engineering en anglais (SE), est une démarche méthodologique pour répondre à des problèmes complexes par la réalisation de solutions logicielles et matérielles.

L’Ingénierie Système s’adresse à de nombreux secteurs, dont par exemple : systèmes embarqués (ex : encodage/décodage audio et vidéo, set top box), automobile, ferroviaire, aéronautique, espace, militaire, télécoms, médical, production d’énergie, etc.

Les méthodes de l’Ingénierie Système (IS) reposent sur des approches de modélisation et de simulation pour valider les exigences ou pour évaluer le système. On retrouve entre autre des techniques telles que l’utilisation du diagramme de flux de données (DFD ou Data Flow Diagram) pour définir les données traversant un système et leurs traitements éventuels, ou du diagramme de flux fonctionnel de bloc (FFBD ou Functional Flow Block Diagram) proche du diagramme UML d’activité.

SysML est apparu à l’issue d’initiatives pour une transition vers une approche orientée modèles ("model-based systems engineering" ou MBSE). Cette approche permet la réalisation d’un ensemble organisé de modèles, s’appliquant à différents niveaux de granularité tels que l’aspect opérationnel (contexte et utilisation du système), l’aspect fonctionnel (structure et sous-fonctions du système), et l’aspect physique (architecture). La modélisation permet de maitriser la complexité du système étudié, car chaque modèle donne accès à une représentation abstraite de différents aspects du système.

Le besoin de définir un langage basé sur UML pour l’IS a été initié en 2001 par l’organisation internationale de l’ingénierie système INCOSE, qui s’est mise en relation avec l’OMG, organisme responsable d’UML. Dès lors, plusieurs membres de l’industrie (BAE, Motorola, Boeing…), éditeurs d’outils (IBM, Sparx Systems…), universités et organisations ont travaillés sur la définition du langage de modélisation système SysML ou Systems Modeling Language.

  • 07/2006 : OMG annonce l’adoption de SysML
  • 09/2007 : SysML v1.0
  • 12/2008 : SysML v1.1
  • 06/2010 : SysML v1.2
  • 06/2012 : SysML v1.3 
  • 09/2015 : SysML v1.4
  • 05/2017 : SysML v1.5 (version actuelle)

SysML est basé sur UML et remplace la modélisation de classes, objets, et composants par des blocs offrant ainsi un vocabulaire plus adapté à l’Ingénierie Système. Un bloc englobe tout concept logiciel, matériel, données, processus, et même gestion des personnes.

La traçabilité est également définie par des allocations, terme utilisé par les ingénieurs systèmes.

SysML réutilise une partie d’UML2, et apporte également ses propres définitions (extensions SysML). SysML n’utilise donc pas les 13/14 diagrammes d’UML2, proposant ainsi une sélection de diagrammes adaptés à l’IS :

  • Diagrammes structurels
    • Le Block Definition Diagram (BDD) remplace le diagramme de classes
    • L’Internal Block Diagram (IBD) remplace le diagramme de structure composite
    • Le diagramme paramétrique est une extension SysML pour l’analyse de paramètres critiques du système
    • Le diagramme de paquetage reste inchangé
  • Diagrammes dynamiques
    • Le diagramme d’activités est légèrement modifié pour SysML
    • Les diagrammes de séquence, d’états, et de cas d’utilisations restent inchangés
  • Le diagramme d’exigences est une extension SysML

Plus d’informations sur SysML v1.2 sont disponibles dans l’article de Présentation du langage SysML. Les évolutions apportées dans SysML v1.3 sont disponibles depuis l'article SysML 1.3 bêta.

Des formations sur SysML et Enterprise Architect sont disponibles (cf. détails ici).

La nouvelle version 13.5 de l'outil de modélisation SysML Enterprise Architect intègre une correction sur la gestion du compartiment d'un bloc dans le diagramme bdd (block definition diagramme).

Jusqu'à présent, les parties d'un bloc SysML s'affichent dans un compartiment "properties" alors que les spécifications de l'OMG préconisent que ce compartiment soit nommé "parts". Voici un extrait des spécifications SysML 1.4 de l'OMG (page 34).

OMG SysML specifications block bdd compartiment

Cet écart avec les spécifications est désormais corrigé comme illustré dans le diagramme suivant, avec la version précédente (SysML 1.3) à droite, et la nouvelle version (SysML 1.4 avec EA 13.5) à gauche. De même les multiplicités des parties du bloc s'affichent dorénavant correctement dans le compartiment parts, également illustré ci-dessous.

  • Remarque : lorsque le rôle de la partie n'est pas précisé (cf. BlockA ci-dessous), la multiplicité ne s'affiche pas. Ce point a été remonté à l'éditeur Sparx Systems.

 sysML block definition diagram parts compartiment correction sparx enterprise architect 13.5

 

 object management group sysml

Les spécifications de SysML 1.5 viennent d'être officiellement publiées par l'OMG.

Le document de spécifications en anglais est disponible en téléchargement depuis www.omg.org/spec/SysML/1.5.

Selon l'Object Management Group, la principale évolution depuis SysML v1.4 concerne l'introduction des exigences abstraites (Abstract Requirements) qui permettent d'être étendues via des mécanismes de stéréotypage pour tout type d'exigence.

Il est important également de noter que SysML a été publié également ce mois-ci comme standard ISO sous le titre complet "ISO/IEC 19514:2017, Information technology -- Object management group systems modeling language (OMG SysML®)".

sysml iso IEC 19514:2017

Je viens de recevoir les dépliants sur les diagrammes SysML réalisés avec Enterprise Architect. Ce résumé des principaux concepts est utile notamment pour les participants aux formations SysML avec EA (cliquer ici pour plus d'informations sur cette formation).

Une version au format PDF est disponible gratuitement en téléchargement dans cet article. 

Ces dépliants seront également disponibles au prochain EA User Group à Londres le 19 Mai 2017.

brochure sysml enterprise architect umlchannel viseo

La carte de référence SysML proposée par Tim Weilkiens (oose.de) est désormais disponible en français avec l'outil de modélisation Sparx Enterprise Architect.

Cette carte présente les principaux concepts du langage SysML organisés par zone :

  • Diagramme de contexte
  • Diagramme des Cas d'Utilisation
  • Diagramme de Définition de Blocs, ports
  • Diagramme de Bloc Interne
  • Exigences
  • Paquetages
  • Diagramme de Séquence
  • Diagramme d’Activité
  • Machines à Etats
  • Commentaires et contraintes
  • Allocations
  • Diagramme Paramétrique

La carte de référence SysML 1.4 est disponible au format PDF.

sysml overview

sysml port synchronization ibd sparx enterprise architect

Lors d'une session de la formation sur SysML avec Enterprise Architect, les participants ont réalisé un diagramme de bloc interne SysML (IBD) pour le contexte du système étudié.

Cet exercice s'appuie sur le diagramme de définition de blocs SysML (BDD) réalisé précédemment. L'outil de modélisation SysML Enterprise Architect (EA) permet de facilement créer l'IBD d'un bloc SysML, ici le contexte du système, via le menu contextuel > New Child Diagram > Add Diagram > Internal Block Diagram.

Une fois le diagramme IBD affiché, une fonctionnalité intéressante d'EA consiste à synchroniser les "éléments structurels" pour obtenir toutes les parties du bloc selon la définition du BDD. La manipulation consiste à lancer un clic droit dans le diagramme > Synchronize Structural Elements. Cette fonctionnalité présente néanmoins une limitation car elle ne permet pas d'obtenir les ports sur les parties, selon les ports définis sur les blocs associés.

Cet article présente une astuce pour insérer facilement l'ensemble des ports de parties SysML sur un diagramme IBD. En effet l'add-in hoTools propose cette fonctionnalité complémentaire.

Cet article présente des modules de recherches personnalisés facilitant la gestion des exigences SysML avec l'outil de modélisation Sparx Enterprise Architect.
Les exigences disponibles nativement dans Enterprise Architect ont été adaptées selon les spécifications OMG du langage SysML (1.x). Les requirements SysML doivent ainsi intégrer 2 propriétés :

  • text: The textual representation or a reference to the textual representation of the requirement.
  • id: The unique id of the requirement.

Ces propriétés ont été implémentées via des tagged values illustrées ci-dessous.

sysml requirement id text tagged values sparx enterprise architect

Lorsque des exigences standards - i.e. non SysML - sont utilisées, il est courant d'effectuer des recherches sur le titre, alias (référence), ou notes (description). Lorsqu'un projet système le permet, ces champs peuvent être utilisés comme remplaçants des propriétés "id" et "text" pour formaliser des exigences SysML. Le cas échéant, l'utilisation des tagged values id et text pose initialement des problématiques sur la recherche et l'exploitation en l'absence de recherches adaptées sous Enterprise Architect.

Les modules de recherche partagés dans cet article via le MDG UMLChannel répondent à cette problématique.

 formation sysml enterprise architect

Je co-anime depuis Juin 2016 une formation de 3 jours sur la modélisation SysML avec l’outil Sparx Enterprise Architect en collaboration avec Pascal Roques (www.prfc.fr).

Pascal est un expert en modélisation UML et SysML reconnu, auteur de nombreux livres dont la Modélisation de systèmes complexes avec SysML.

Cette formation dans un contexte d'Ingénierie Système associe l’aspect théorique sur la modélisation et le langage SysML, apporté par PRFC, avec l’aspect outillage via la version SysML d’Enterprise Architect de Sparx Systems, apporté par Viseo. L’outil de modélisation Enterprise Architect est donc abordé tout au long des trois jours de formation afin de comprendre son environnement, les fonctions propres à SysML, et la mise en pratique au travers d’exercices.

Nous organisons des sessions inter-entreprises à Grenoble, Toulouse et Paris (sessions intra disponibles sur demande).

A l'issue de cette formation, un dépliant sur les diagrammes SysML ainsi que le livre Modélisation de systèmes complexes avec SysML de Pascal sont remis à chaque participant.

Contactez moi sur Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.pour avoir plus d'informations.

sparxsystems enteprise architect 13

openmodelica integration sparx enterprise architect sysml simulation

Sparx Systems a réalisé une intégration avec l'outil open source OpenModelica pour simuler et générer des graphs sur des modèles paramétriques SysML dans la prochaine version 13 d'Enterprise Architect , dont un aperçu de la beta est disponible ici.

Cette approche nécessite d’installer OpenModelica (https://www.openmodelica.org/). Les algorithmes sont définis au travers de contraintes d'invariance dans les blocs de contrainte SysML. L'utilisation de cette fonctionnalité implique la création de configurations SysMLSim sous Enterprise Architect 13.

Selon l'éditeur Sparx Systems, cette intégration avec OpenModelica permet de réaliser des modèles d'équation pour des systèmes complexes dans les secteurs suivants : automobile, aérospatial, robotique, centrales électriques... Ces systèmes peuvent intégrer des sous-composants et blocs de nature mécanique, électrique, électronique, hydraulique, etc. OpenModelica permet de réaliser une analyse des changements sur la conception et les scénarios d'usage, ainsi que d'accélérer le développement par l'évaluation et l'amélioration de paramètres ou variables en phase de conception.

 

Lors d'une formation "Modélisation SysML avec Enterprise Architect" co-animée cette semaine avec Pascal Roques (cf. détails de la formation ici), il m'a été demandé si l'outil Enterprise Architect permettait d'afficher en pointillés les flots de contrôle d'un diagramme d'activités.

Les spécifications SysML 1.4 de l'OMG précisent en effet cette possibilité page 116 : "Control flow may be notated with a dashed line and stick arrowhead, as shown in Figure 11.4".

Cet article explique comment appliquer cet affichage alternatif sur les diagrammes d'activité SysML d'un projet Sparx Enterprise Architect.

 sysml flot controle sparx enterprise architect pointilles

sparx enterprise architect sysml

 

 

 

J'anime cette année une nouvelle formation sur la Modélisation SysML avec Enterprise Architect au travers des activités VISEO en partenariat avec Pascal Roques (www.prfc.fr).

Cette formation associe l'aspect théorique sur la modélisation et le langage SysML avec l'aspect outillage via la version SysML d'Enterprise Architect de Sparx Systems (Edition Ultimate recommandée). L'ensemble des diagrammes SysML sont donc expliqués afin de pouvoir comprendre l'approche dirigée par les modèles afin de formaliser les aspects statiques et dynamiques d'un système. L'outil de modélisation Enterprise Architect est abordé tout au long de la formation afin de comprendre son environnement, les fonctions propres à SysML, et la mise en pratique au travers d'exercices. La notion d'allocation, terme employé en Ingénierie Système pour désigner la traçabilité, est abordée au travers des définitions SysML et des fonctions de traçabilité, recherche et analyse d'impact avec l'édition SysML de l'outil de modélisation Sparx Enterprise Architect.

 

lundi, 23 novembre 2015 00:00

SysML 1.4 disponible

L'OMG a publié en Septembre dernier la version 1.4 de SysML. Les spécifications officielles sont accessibles en téléchargement ici.

Les évolutions dans SysML 1.4 annoncées par l'OMG incluent :

  • Création d'un mécanisme de regroupement : "element group"
  • Nouveaux mécanismes permettant de faire référence sans ambiguïté à l'une des parties internes d'un bloc, surtout en présence d'un niveau élevé d'imbrication
  • Evolutions notables sur les librairies Quantity et Unit, et modifications des sémantiques du modèle QUDV (Quantities, Dimensions, Units, Values)
  • Nouvelles annotations pour l'héritage de fonctions, les compartiments de comportement (behaviour), et les "port features"
  • Ajout d'un diagramme "SysML diagram interchange capability".

 

jeudi, 14 juin 2012 11:12

SysML 1.3 disponible

La version 1.3 du langage de modélisation SysML est officiellement disponible. Les spécifications sont accessibles depuis le site de l’OMG.
SysML 1.3 apporte principalement des changements sur la définition des ports : les full ports et proxy ports remplacent les flow ports et ports standards de SysML 1.2.
Pour plus d’informations sur les changements avec SysML 1.3, voir mon post sur SysML 1.3 bêta.

mardi, 17 avril 2012 14:15

SysML 1.3 bêta

sysml 1.3SysML, le langage de modélisation OMG basé sur UML et adapté à l’ingénierie système, est actuellement en version 1.3 bêta. Cette version devrait être officielle au mois de Juin.

SysML 1.3 apporte de nombreux changements à la définition des ports ; cet article en présente un aperçu via de nouvelles notions telles que full port, proxy port, nested port, etc.

L'article sur la Modélisation SysML a été publié ce mois-ci sur le site Developpez.com : Modélisation SysML

L'article sur la Modélisation SysML a été publié ce mois-ci dans le magazine Programmez ! :)

Le même article publié sur ce site est disponible ici : Présentation du langage SysML

vendredi, 01 octobre 2010 19:14

Modélisation de systèmes avec SysML

diagrammes SysML

Suite à une formation de Valtech donnée il y a quelques mois sur « UML2 et SysML pour modéliser des systèmes complexes », j’ai publié un article pour présenter le langage de modélisation SysML 1.2 (Systems Modeling Language), dérivé de l’UML. Cet article est accessible depuis le lien suivant : Présentation du langage SysML.