Le guide définitif de la notation textuelle SysML v2
Le langage de modélisation des systèmes version 2 (SysML v2) marque un changement majeur dans l’ingénierie des systèmes. En s’éloignant des contraintes graphiques rigides basées sur UML de SysML v1, SysML v2 introduit unsyntaxe textuelle pilotée par le langage. Cette syntaxe traite la structure, le comportement, les exigences et l’analyse comme des éléments textuels profondément intégrés.
Ce guide complet décompose les piliers fondamentaux, les concepts et la syntaxe de SysML v2 à l’aide d’un exemple concret deAutonomousDrone exemple de conception.

1. Le paradigme fondamental : Définitions vs. Utilisations
Le concept architectural le plus important dans SysML v2 est la séparation stricte entreDéfinitions (plans) etUtilisations (instances contextuelles).
-
Le
defmot-clé : Indique une définition réutilisable, un type ou un plan d’élément. Il n’existe pas sous forme d’objet physique jusqu’à ce qu’il soit utilisé. -
Pas de
defmot-clé : Indique une utilisation. Il représente une occurrence réelle ou une instance de composant au sein d’un système parent spécifique.
// DÉFINITION : Un plan réutilisable pour toute batterie
part def Battery;
// UTILISATION : Une instance spécifique d'une batterie à l'intérieur de notre système de drone
part powerSource : Battery;
Cette distinction permet aux ingénieurs de définir un composant une fois et de le réutiliser dans plusieurs sous-systèmes avec des noms, des configurations et des connexions internes différentes.
2. Architecture structurelle : Pièces, Éléments et Ports
SysML v2 divise les architectures physiques ou logiques en composants, les éléments qui y circulent, et les interfaces qui les relient.
Pièces et Éléments
-
part def(Boîte / Composant) : Définit un composant système structurel, physique ou logique. -
item def(Élément de flux) : Définit des éléments non fixes, tels que des flux de données, des fluides, des forces ou de l’électricité, qui circulent entre les composants.
Ports et interfaces
-
port def(Spécification d’interface) : Définit une frontière d’interface, indiquant explicitement quelles données ou éléments peuvent entrer (entrée) ou sortir (sortie).
Voici comment ces composants sont déclarés et imbriqués à l’intérieur d’un espace de noms système :

package DroneSystemExample {
private import ScalarValues::*;
private import SI::*;
// Plans de base (définitions)
item def Power;
port def PowerOutPort {
out item powerElec : Power;
}
port def PowerInPort {
in item powerElec : Power;
}
part def FlightController;
part def PropulsionSystem;
part def Battery;
// Contexte système intégré
part def AutonomousDrone {
// Attributs / propriétés de valeur
attribute enduranceActual : Real;
// Utilisations de sous-composants (instanciation des définitions)
part flightController : FlightController;
part propulsionSystem : PropulsionSystem;
part powerSource : Battery;
// Utilisations de ports (instanciation des interfaces)
port pBatteryOut : PowerOutPort;
port pPropulsionIn : PowerInPort;
}
}
3. Le pilier des exigences (espace du problème)
Dans SysML v1, les exigences étaient souvent des blocs de texte isolés des mathématiques ingénierie. Dans SysML v2, les exigences sontdes définitions de texte de première classe contenant des métadonnées, du texte descriptif et des attributs fortement typés pour une vérification automatisée.
requirement def RangeRequirement {
doc /* Le drone doit maintenir une endurance de vol continue d'au moins 45 minutes. */
attribute enduranceTarget : Real = 45.0;
}

Traçabilité avec satisfaire
Pour fermer la boucle entre l’espace du problème (exigences) et l’espace de la solution (structure), SysML v2 utilise des mots-clés de relation explicites tels quesatisfaire directement à l’intérieur du contexte de composant :
part def AutonomousDrone {
// Instancie une utilisation d'exigence pour satisfaire la correspondance de définition de manière claire
satisfaire exigence : RangeRequirement;
}

4. Le pilier du comportement (espace d’exécution)
SysML v1 imposait une séparation claire entre la structure (diagrammes de bloc internes) et le comportement (diagrammes d’activité). SysML v2 supprime complètement cette barrière en rendant lesactions et flux de contrôle des éléments structurels natifs, intégrés au contexte.
Actions séquentielles et flux de contrôle
En utilisant le actionmot-clé, vous pouvez déclarer des fonctions qui acceptent des entrées (en) et transmettre des sorties (sortie). Les flux de contrôle sont écrits de manière linéaire en utilisant le alorsmot-clé, éliminant la nécessité de diagrammes de flux de contrôle complexes.
action executeMission {
en ciblesCoordonnées;
sortie statutMission;
action sDécollage;
alors action sNavigation;
alors action sAtterrissage;
}
5. Affectation fonctionnelle : connecter le comportement à la structure
Affectationrépond à la question fondamentale du génie système :Quel composant exécute quelle fonction ?
SysML v2 gère cela proprement en utilisant le exécutermot-clé dans un bloc d’utilisation de composant. En utilisant Notation par points (.), vous pouvez accéder profondément aux boucles d’action imbriquées pour mapper directement les opérations à des composants matériels.
part def DroneAutonome {
// Les sous-composants affectent le comportement en exécutant explicitement leurs étapes attribuées
part contrôleurVol : ContrôleurVol {
exécuter executeMission.sNavigation;
}
part systèmePropulsion : SystèmePropulsion {
exécuter executeMission.sDécollage;
}
// Définition du comportement intégré
action executeMission {
action sDécollage;
alors action sNavigation;
alors action sAtterrissage;
}
}

Résumé des mots-clés principaux
| Mot-clé | Espace | But |
|---|---|---|
paquet |
Structural | Définit un espace de nommage conteneur pour organiser votre modèle. |
importation privée |
Structural | Apporte des bibliothèques standard externes (comme Valeurs scalaires ou SI unités) dans la portée sans les faire fuir en aval. |
def |
Paradigme | Indique un plan de construction réutilisable ou une définition de type. |
partie / élément |
Structural | Déclare un composant physique/logique ou un flux de fluide/données qui circule dans le système. |
port |
Structural | Établit une frontière d’interface définissant entrée et sortie flux. |
exigence |
Problème | Définit un contrat basé sur du texte contenant des attributs typés et des cibles mathématiques. |
satisfaire |
Relation | Connecte un élément structurel directement à l’exigence qu’il satisfait. |
action |
Exécution | Définit une étape comportementale ou une fonction opérationnelle. |
alors |
Exécution | Force l’ordre d’exécution séquentielle entre les actions. |
effectuer |
Affectation | Mappe une action comportementale directement à la partie physique chargée de son exécution. |
Exemple complet de SysML V2 : Les trois piliers

paquetage DroneSystemExample {
privé importer ScalarValues::*;
privé importer SI::*;
// ==========================================
// DÉFINITIONS DE BASE DU MODELE
// ==========================================
élément def Puissance;
port def PowerOutPort {
sortie élément powerElec : Puissance;
}
port def PowerInPort {
entrée élément powerElec : Puissance;
}
partie def ContrôleurDeVol;
partie def SystèmeDePropulsion;
partie def Batterie;
// ==========================================
// 1. PILIER DE REQUISITION (Espace du problème)
// ==========================================
exigence def ExigencePortée {
doc /* Le drone doit maintenir une endurance de vol continue d’au moins 45 minutes. */
attribut cibleEndurance : Réel = 45.0;
}
// ==========================================
// 2. Piliers de structure et de comportement
// ==========================================
partie def DroneAutonome {
attribut enduranceActual : Réel;
// Les sous-parties attribuent le comportement en exécutant explicitement leurs étapes attribuées
partie flightController : ContrôleurVol {
effectuer executeMission.sNaviguer;
}
partie systemePropulsion : SystemePropulsion {
effectuer executeMission.sDécoller;
}
partie sourceAlimentation : Batterie;
// Connexions d’interface
port pSortieBatterie : PortSortiePuissance;
port pEntréePropulsion : PortEntréePuissance;
// CORRECTION 1 : Instancie une utilisation de exigence pour satisfaire la correspondance de définition de manière propre
satisfaire exigence : ExigencePortée;
// ==========================================
// 3. PILIER COMPORTEMENT (Espace d’exécution)
// ==========================================
// Définitions d’actions séquentielles propres, nativement dans le champ d’application
action executeMission {
dans coordonnées cibles;
sortie état de la mission;
action sDécollage;
ensuite action sNaviguer;
ensuite action sAtterrir;
}
}
}














