
Le langage de modélisation des systèmes ( SysML ) est un langage de modélisation généraliste destiné aux applications d'ingénierie des systèmes . Il prend en charge la spécification, l'analyse , la conception , la vérification et la validation d'une large gamme de systèmes et de systèmes de systèmes .
SysML a été initialement développé par un projet de spécification open source et est distribué et utilisé sous une licence open source. SysML est défini comme une extension d'un sous-ensemble du langage de modélisation unifié (UML) utilisant le mécanisme de profilage d'UML . Les extensions du langage ont été conçues pour faciliter les activités d'ingénierie système.
UML , qui a été développé comme langage de modélisation logicielle. Ces améliorations comprennent les éléments suivants :- Les diagrammes SysML expriment mieux les concepts d'ingénierie système grâce à la suppression des restrictions logicielles d'UML et à l'ajout de deux nouveaux types de diagrammes : les diagrammes d'exigences et les diagrammes paramétriques. Les premiers peuvent être utilisés pour l'ingénierie des exigences ; les seconds pour l'analyse des performances et l'analyse quantitative . Grâce à ces améliorations, SysML est capable de modéliser une vaste gamme de systèmes, incluant matériel, logiciel, information, processus, personnel et installations.
- SysML est un langage relativement court, plus facile à apprendre et à appliquer. Comme SysML supprime de nombreuses constructions UML centrées sur le logiciel, le langage global est plus court, tant en termes de types de diagrammes que de constructions totales.
- Les tables d'allocation SysML prennent en charge les types d'allocation courants. Alors qu'UML n'offre qu'une prise en charge limitée des notations tabulaires, SysML fournit des tables d'allocation flexibles qui permettent de gérer l'allocation des exigences, l'allocation fonctionnelle et l'allocation structurelle. Cette capacité facilite la vérification et la validation automatisées (V&V) ainsi que l'analyse des écarts.
- Les constructions de gestion de modèles SysML prennent en charge les modèles, les vues et les points de vue. Ces constructions étendent les capacités d'UML et sont architecturalement alignées sur la norme IEEE-Std-1471-2000 (Pratique recommandée par l'IEEE pour la description architecturale des systèmes à forte composante logicielle).
SysML réutilise sept des quatorze types de diagrammes « nominatifs » d'UML 2 et en ajoute deux (diagrammes d'exigences et diagrammes paramétriques), pour un total de neuf types de diagrammes. SysML prend également en charge les tables d'allocation, un format tabulaire pouvant être dérivé dynamiquement des relations d'allocation SysML. Un tableau comparatif des diagrammes SysML et UML 2 est disponible dans la FAQ SysML.
Prenons l'exemple de la modélisation d'un système automobile : SysML permet d'utiliser des diagrammes d'exigences pour capturer efficacement les exigences fonctionnelles, de performance et d'interface, tandis qu'UML impose les limitations des diagrammes de cas d'utilisation pour définir les exigences fonctionnelles de haut niveau. De même, SysML permet d'utiliser des diagrammes paramétriques pour définir précisément les contraintes de performance et quantitatives telles que l'accélération maximale, le poids à vide minimal et la capacité totale de climatisation . UML ne propose aucun mécanisme simple pour capturer ce type d'informations essentielles relatives aux performances et aux données quantitatives.
Concernant le reste du système automobile, des diagrammes d'activité et des diagrammes d'état-transition améliorés permettent de spécifier la logique de commande du logiciel embarqué et les flux d'informations des ordinateurs de bord. D'autres diagrammes structurels et comportementaux SysML peuvent servir à modéliser les usines de fabrication automobile, ainsi que les interfaces entre les services qui y travaillent.
Histoire
L’initiative SysML a vu le jour suite à une décision prise en janvier 2001 par le groupe de travail « Conception de systèmes pilotée par les modèles » du Conseil international d’ingénierie des systèmes (INCOSE), visant à adapter UML aux applications d’ingénierie des systèmes. Après cette décision, l’INCOSE et l’ Object Management Group (OMG), qui maintient la spécification UML, ont conjointement créé le groupe d’intérêt spécialisé dans le domaine de l’ingénierie des systèmes (SE DSIG) de l’OMG en juillet 2001. Le SE DSIG, avec le soutien de l’INCOSE et du groupe de travail ISO AP 233 , a élaboré les exigences relatives au langage de modélisation, lesquelles ont ensuite été publiées par l’OMG dans le cadre de l’appel d’offres « UML pour l’ingénierie des systèmes » (UML pour SE RFP ; document OMG ad/03-03-41) en mars 2003.
En 2003, David Oliver et Sanford Friedenthal d'INCOSE ont demandé à Cris Kobryn , qui avait dirigé avec succès les équipes de conception des langages UML 1 et UML 2, de piloter leur projet commun de réponse à l'appel d'offres UML pour l'ingénierie des systèmes. En tant que président des partenaires SysML, Kobryn a créé le nom du langage « SysML » (abréviation de « Systems Modeling Language »), a conçu le logo original de SysML et a organisé l'équipe de conception du langage SysML en tant que projet de spécification open source. Friedenthal a occupé le poste de vice-président et a contribué à l'organisation de l'équipe initiale des partenaires SysML.
En janvier 2005, les partenaires de SysML ont publié la spécification préliminaire SysML v0.9. Plus tard, en août 2005, Friedenthal et plusieurs autres membres fondateurs ont quitté le groupe pour créer une équipe concurrente, la SysML Submission Team (SST). Les partenaires de SysML ont publié la spécification SysML v1.0 Alpha en novembre 2005.
Oh mon Dieu, SysML
Suite à plusieurs propositions concurrentes de spécification SysML, une équipe de fusion SysML a été proposée à l'OMG en avril 2006 . Cette proposition a été soumise au vote et adoptée par l'OMG en juillet 2006 sous le nom d'OMG SysML, afin de la distinguer de la spécification open source originale dont elle est issue. Étant donné qu'OMG SysML est dérivée de SysML open source, elle inclut également une licence open source pour sa distribution et son utilisation.
La spécification OMG SysML v. 1.0 a été publiée par l'OMG en tant que spécification disponible en septembre 2007. La version actuelle d'OMG SysML est la v1.6, publiée par l'OMG en décembre 2019. Par ailleurs, SysML a été publié par l' Organisation internationale de normalisation (ISO) en 2017 en tant que norme internationale (NI), ISO/CEI 19514:2017 (Technologies de l'information — Groupe de gestion d'objets — Langage de modélisation des systèmes).
L'OMG a publié un appel d'offres (AO) pour SysML version 2 le 8 décembre 2017, conformément à son processus de normalisation ouvert. Un second AO, portant sur une interface de programmation d'applications (API) et des services SysML v2.0, a été publié en juin 2018. L'OMG a approuvé l'adoption définitive de SysML v2.0 en juillet 2025, et la spécification a été publiée en septembre 2025. SysML v2 prend en charge les notations textuelles et graphiques, permettant une manipulation plus automatisée des modèles, une sémantique cohérente et une réduction de l'ambiguïté pour les applications d'ingénierie système basée sur les modèles .
Diagrammes
SysML comprend 9 types de diagrammes, dont certains sont tirés d' UML .
Outils
Plusieurs fournisseurs d'outils de modélisation proposent la prise en charge de SysML. Les listes des fournisseurs d'outils prenant en charge SysML ou OMG SysML sont disponibles sur les sites web du forum SysML ou de SysML , respectivement.
Échange de modèles
En tant que profil OMG UML 2.0 , les modèles SysML sont conçus pour être échangés via la norme XML Metadata Interchange (XMI). Par ailleurs, un travail d'harmonisation architecturale est en cours afin de prendre en charge la norme ISO 10303 (également connue sous le nom de STEP, norme d'échange de données de modèles de produits) AP-233 pour l'échange et le partage d'informations entre les applications et outils logiciels d'ingénierie système .