Systems Modeling Language - SysML en abrégé - est un langage de modélisation spécifique au domaine de l'ingénierie système. Il permet la spécification, l'analyse, la conception, la vérification et la validation de nombreux systèmes et systèmes-de-systèmes. À l'origine, SysML a été développé dans le cadre d'un projet de spécification open source, et inclut une licence open source pour sa distribution et son utilisation. SysML se définit comme une extension d'un sous-ensemble d'UML (Unified Modeling Language) via l'utilisation du mécanisme de profil UML.
SysML, spécialisé dans la modélisation de systèmes, offre aux ingénieurs systèmes plusieurs améliorations notables par rapport à UML, qui est plus centré sur le logiciel[1] :
SysML réutilise sept des treize diagrammes d'UML 2 ; il ajoute deux diagrammes spécifiques plus les tableaux d'allocations. Les changements sont[1] :
Les avantages de SysML sur UML pour l'ingénierie système deviennent évidents en utilisant un exemple concret : la modélisation d'un système automobile.
Avec SysML, il est possible d'utiliser les diagrammes des exigences pour capturer efficacement les besoins fonctionnels, de performances et d'interface, alors qu'UML se limite à offrir des diagrammes de cas d'utilisation pour définir les exigences de haut niveau.
Avec SysML, il est possible d'utiliser des diagrammes paramétriques pour définir précisément la performance et les contraintes mécaniques telles que l'accélération maximum, la capacité en air climatisé, et l'ingénierie acoustique/la gestion du bruit dans l'habitacle. UML ne fournit aucun mécanisme aussi direct pour capturer les informations essentielles relatives à la performance et à la mécanique.
Pour le reste du système automobile, l'extension SysML permet d'utiliser des versions étendues des diagrammes d'activité et des diagrammes d'états d'UML pour spécifier (par exemple) la logique de contrôle du logiciel embarqué dans l'ordinateur de bord de l'automobile. Et d'autres diagrammes structurels et comportementaux de SysML peuvent aussi être utilisés pour modéliser les usines qui construisent ces automobiles.
L'initiative SysML est issue d'une décision de du groupe de travail sur la modélisation des systèmes pilotés par les modèles de l'International Council on Systems Engineering (INCOSE), afin de modifier UML pour les applications d'ingénierie système. À la suite de cette décision, l'INCOSE et l'Object Management Group (OMG), qui maintient la spécification UML, ont créé conjointement un groupe d'intérêt spécifique dans le domaine de l'ingénierie système (OMG Systems Engineering Domain Special Interest Group ou bien OMG SE DSIG)) en . Le SE DSIG, avec le soutien d'INCOSE et du groupe de travail ISO AP 233, a développé les spécifications du langage de modélisation, qui fut repris ensuite par l'OMG en tant que UML for Systems Engineering Request for Proposal (UML for SE RFP ; document OMG ad/03-03-41) en [2].
En 2003, Cris Kobryn et Sanford Friedenthal organisèrent et dirigèrent conjointement les « Partenaires SysML » (SysML Partners) au sein d'une association informelle des acteurs majeurs de l'industrie et des vendeurs d'outils[3], qui initièrent un projet open source de spécification pour développer SysML en réponse au RFP UML pour l'ingénierie des systèmes[1]. Les Partenaires SysML distribuèrent leur premier brouillon de la spécification open source SysML en 2004, et soumirent SysML 1.0a à l'OMG qui l'adopta en .
Après de nombreuses propositions concurrentes de spécifications de SysML, une proposition « fusionnée » fut proposée à l'OMG en [4]. Cette proposition fut mise au vote et adoptée par l'OMG en juillet 2006 sous le nom OMG SysML, nom adopté par l'OMG pour différencier cette spécification des spécifications open source d'origine. La spécification OMG SysML actuelle est la version 1.6, mise à disposition en décembre 2019. C'est une « Formal Specification » (telle que le définit l'OMG)[5].
Pour améliorer SysML et accroitre son adoption, le 8 décembre 2017, l'OMG a émis un appel à proposition (RFP) pour une version 2 du standard[6].
Les principales améliorations visées concernent:
En juin 2023, l'OMG a adopté trois premières spécifications en version beta :
Une des nouveautés par rapport à la première version est l'apparition d'une notation textuelle permettant à la fois, de décrire le modèle d'un système dans un fichier lisible par des humains (à la différence du format XMI), et d'échanger ce modèle entre différents outils.
En phase de révision, ces spécifications devraient être adoptées en tant que spécifications formelles dans le courant de l'année 2024.
Plusieurs éditeurs d'outils de modélisation supportent SysML, totalement ou partiellement. Le site officiel de la communauté propose une revue de ces outils[10].
Une première liste d'outils supportant déjà SysML v2 est disponible sur le site MBSE4U[11].
En tant que profil UML 2, les modèles SysML peuvent être échangés en utilisant la dernière version d'XML Metadata Interchange (XMI). De plus, SysML est compatible avec le travail actuel de l'ISO 10303 (aussi connu sous le nom de STEP, le « Standard for the Exchange of Product model data »).