[MODEL2012] SysML, recentrer pour régner

Nous sommes en 2001. Toutes les organisations sont sous l’emprise d’UML (ref [1])… Toutes ? Non ! Un groupe de travail de l’INCOSE (International Concil on Systems Engineering) résiste encore et toujours à l’envahisseur, mettant au point un nouveau langage : SysML (Systems Modeling Language, ref [2]).

Mais s’agit-il d’une réelle évolution ? Ne sommes-nous pas tombés de Charydbe en Scylla ? C’est ce que nous allons voir à travers cet article.

Beaucoup reprochaient à UML son orientation très axée “logiciel”, délaissant les ingénieurs systèmes embarqués, qui font appel à des notions trop proches du matériel pour utiliser une modélisation aussi abstraite.
De plus, pour des systèmes complexes, effectuer une bonne modélisation UML implique l’utilisation de la plupart des diagrammes existants, soit près de quatorze… Et ce, pour chaque partie du système étudié !
Les limitations d’UML apparaissent donc rapidement pour des sujets aussi vastes, et montrent qu’il est parfois nécessaire de se spécialiser pour proposer une solution efficace.

Cette spécialisation est la caractéristique de SysML : un langage qui se centre sur les systèmes embarqués pour garantir une modélisation efficace aux architecte systèmes.

SysML reprend sept des quatorze diagrammes d’UML, et y ajoute deux nouveaux outils. Nous obtenons ainsi une liste de neuf diagrammes types à utiliser (source [3]) :

SysML Description UML
Use Case diagram  Identique en UML et en SysML, il modélise les fonctionnalités que le système doit fournir. Le cas d’utilisation est une unité fonctionnelle utilisée pour la description et la recette du système. Use Case    diagram
Sequence diagram  Identique en UML et en SysML le diagramme de séquence modélise la chronologie des interactions entre les éléments du système ou entre le système et l’extérieur. Sequence diagram
Activity diagram  Même utilisation en UML et en SysML. Le diagramme d’activité modélise les flux d’informations et les flux d’activité du système. Activity diagram
State Machine diagram  Identique en UML et en SysML, il représente les différents états que peut prendre un élément ou une opération ainsi que ses réactions aux évènements extérieurs. State Machine diagram
Block Definition diagram  Le diagramme de Bloc en SysML est semblable au diagramme de Classe en UML. Il donne une représentation statique des entités du système, de leurs propriétés, de leurs opérations et de leurs opérations. Class diagram
Internal Block diagram  Le diagramme internet de bloc SysML et le diagramme composite UML donnent une représentation « Boîte blanche » qui matérialise les imbrications des parties et leurs interconnections par les ports. Composite Structure diagram
Package diagram  Le diagramme de Package montre l’organisation générale du modèle en UML comme en SysML. En SysML il sert en plus à donner différentes vues du système. Package diagram
Parametric diagram  Nouveau dans SysML ce diagramme modélise les paramètres physiques du système. Il sert à tester les performances physiques et quantitatives du système. N/A
Requirement diagram  Le diagramme de spécification est nouveau dans SysML et il permet de collecter et d’organiser toutes les exigences textuelles du système. N/A
Allocation tables  Nouveau en SysML. Les tables d’allocation sont de simples tableaux et non des diagrammes qui récapitulent les spécifications afin de faciliter le suivi de projet. N/A

Grâce à cette restructuration des diagrammes, nous pouvons mieux modéliser les liens entre partie matérielle et partie logicielle d’un système embarqué, mais aussi et surtout vérifier que la solution modélisée est réalisable et valide les exigences définies à la création du projet.

En conclusion, SysML représente donc un outil formidable pour un architecte systèmes, mais aussi pour un chef de projet, puisqu’il lui permet de suivre le développement de la solution imaginée, et de voir à tout instant si une exigence n’est pas remplie.

Nous voyons petit à petit émerger une autre partie importante de la modélisation : la vérification. En effet, développer une solution coûte extrêmement cher dans un projet, et la moindre erreur de conception engendre des dépenses astronomiques.
La révolution des langages de modélisation de ces dernières années est donc arrivée avec le domaine du model-checking, ou vérification de modèle, qui permet de détecter les erreurs de modélisation avant la phase de réalisation, et que nous étudierons au cours des prochains articles.

Soyez à l’affût, et à bientôt !

[1] : http://veille-techno.blogs.ec-nantes.fr/index.php/2012/11/17/model-2012-uml-un-langage-pour-les-amener-tous-et-dans-les-tenebres-les-lier/
[2] : http://en.wikipedia.org/wiki/Systems_Modeling_Language
[3] : http://www.uml-sysml.org/sysml

Licence Creative Commons
Comparaison sémantique de langages haut niveau de Maxime Alay-Eddine est mis à disposition selon les termes de la licence Creative Commons Attribution 3.0 non transposé.