SysML : présentation des ports et des flux
Le but principal à la spécification des ports et des flux est d'obtenir une modélisation modulaire basée sur des blocs réutilisables définissant les manières de connecter et d'interagir avec leur contexte.
SysML étend la norme UML avec les ports imbiqués, les ports étendus pour supporter les propriétés de flux et les fonctionnalités requises et fournies, incluant les blocs et les types de ports.
Les ports peuvent être typés avec des blocs supportant des opérations, des réceptions et des propriétés comme dans UML.
SysML défini des blocs spécifiques (InterfaceBlock) qui peuvent être utilisés pour supporter les ports imbriqués.
SysML identifie 2 types de ports, un qui expose des fonctionnalités des blocs qu'il possède ou ses ports internes (proxy ports), et un autre supportant ses propres fonctionnalités (full ports).
Des règles de compatibilité sont définies pour l'usage des connexions des blocs comme les parties et les ports. Elles peuvent redéfinies avec les associations entre blocs.
Ces fonctionnalités supplémentaires offrent au modeleur un large éventail pour interconnecter des composants qui peuvent être implémentés au travers de nombreuses techniques logiciels, électrique ou mécaniques ainsi que par des organisations humaines.
Ces extensions permettent aussi de spécifier les flux au travers des connecteurs et des associations.
Un port est donc un point de connexion auquel des entités externes peuvent se connecter et interagir avec le bloc de manières différentes ou limitées qu'une simple connexion directe avec le bloc lui-même.
Un port est une propriété typée spécifiant les fonctionnalités disponibles d'une entité externe via un connecteur sur le port.
Les fonctionnalités sont des propriétés, des extrémités d'association, des opérations et réceptions.
Les blocs avec des ports peuvent typer d'autres ports. Les propriétés "flux" spécifient les types d'éléments transitant entre un bloc et son environnement, que ce soit de la donnée, matériel ou énergétique.
Les catégories de flux sont spécifiées en typant les propriétés "flux".
Par exemple un bloc spécifiant une transmission automatique de voiture peut avoir une propriété "flux" en entrée et une autre en sortie.
Les fonctions requises et fournies sont des opérations/réceptions pour que blocs puissent utiliser d'autres blocs.
Par exemple un bloc peut fournir un service particulier à un autre bloc ou il peut nécessité l'utilisation de services d'un autre blocs.
Un port peut avoir des ports imbriqués.
Par exemple le port supportant le couple de torsion dans la transmission peut avoir des ports imbriqués pour le lien physique avec le moteur
SysML identie 2 usages pour les ports, un où le port joue le rôle de proxy pour son bloc ou les parties internes et un autre ou le port spécifie des éléments séparés dans le systéme (full).
Les 2 représente des façons de définir la frontière du bloc proposant des fonctionnalités au travers de ports permettant des connexions vers l'extérieur.
Les ports "proxy" définissent la frontière en spécifiant quelles fonctions du bloc ou des parties internes sont visibles des connecteurs externes tandis que les ports "full" définissent la frontière avec leurs propres fonctions.
Les ports "proxy"sont toujours typés avec des blocs interfaces qui sont des blocs spécialisés sans comportements et sans parties.
Les ports "full" gèrent directement des fonctionnalités plutôt que d'exposer les fonctionnalités du bloc propriétaire ou parties internes du bloc propriétaire.
Les ports qui ne sont ni "proxy", ni "full" sont de simples ports appelés "ports".
Autrement dit, les utilisateurs d'un bloc sont seulement concernés par les fonctionnalités de ses ports ou bien par les fonctionnalités filtrées et adaptées proposées par les "proxy" ports ou gérées directement par les "full" ports.
Les ports "proxy" ou "full" supportent les spécifications des ports classiques ou simples.
Le modélisateur peut choisir entre "proxy" et "full" à n'importe quel moment du cycle de vie du développement et n'est pas dépendant de la méthode.
Les fux d'éléments spécifient les entités circulant entre les blocs et/ou les ports au travers des associations ou des connecteurs.
Tandis que que les propriétés de type flux spécifie ce qui peut transiter en entrée ou en sortie d'un bloc, les flux d'éléments spécifient quel est le flux entre les bloc et/ou les composants dans un contexte et pour un usage particulier.
Cette distinction permet au blocs d'être interconnectés de différentes manières selon les contextes.
Par exemple un réservoir peut avoir une propriété flux pouvant accepter un fluide en entrée. Pouu usage particulier, de l'essence peut circuler à travers un connecteur à l'intérieur du réservoir et pour un autre usage c'est de l'eau qui peut transiter.
Les flux d'éléments peuvent être allouer à partir des objets d'un diagramme d'activité ou des signaux envoyés d'une machine à états (automate à états finis).
Rhona Maxwel
@rhona_helena
"Le bonheur humain est composé de tant de pièces qu'il en manque toujours."
Bossuet
Voir aussi :
http://urbanisation-si.wix.com/blog
http://urbanisme-si.wix.com/blog
http://urbanisation-si.wix.com/urbanisation-si
http://urbanisation-si.over-blog.com/
http://rhonamaxwel.over-blog.com/
http://urbanisation-des-si.blogspot.fr/
A découvrir aussi
- SysML : éléments de base - le diagramme de bloc (block definition diagram)
- SysML : les éléments graphiques d'un diagramme de blocs (block definition diagram)
- SysML : présentation du diagramme paramétrique et des blocs de contraintes (parametric diagram)
Inscrivez-vous au site
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 757 autres membres