• Aucun résultat trouvé

2.3 SysML, le langage standard de modélisation des systèmes

2.3.3 Modélisation de la structure des relations entre les éléments d’un système

Le diagramme interne de bloc décrit les structures internes des blocs en termes de parties, ports et connecteurs. Il spécifie l’interconnexion des parties qui composent un bloc. L'intérêt du diagramme de bloc interne est de pouvoir relier les ports des différents blocs au moyen de connecteurs, ce que ne permet pas le diagramme de définition de bloc, qui définit uniquement des ports sans les connecter.

On peut représenter la connexion entre les éléments (« parts ») d'un bloc au moyen d'un diagramme de bloc interne. Un tel diagramme montre principalement les relations entre les

48

éléments de même niveau, ainsi que les éventuelles multiplicités des parties. Le cadre représente le bloc englobant. Il fournit le contexte pour tous les éléments du diagramme. Chaque extrémité d'une relation de composition, ou élément du compartiment « parts » apparaît comme un bloc à l'intérieur du cadre. Le nom du bloc est identique à celui qui apparaît dans le compartiment « parts ». On définit ainsi l’exploitation agricole comme bloc englobant, puis les autres blocs tels que « parcelle », « sol » et « atmosphère ».

Les associations simples et les agrégations sont représentées de la même façon que les compositions, sauf que le rectangle du bloc apparaît en pointillé. Pour représenter plusieurs niveaux de compositions ou de références dans un même diagramme de bloc interne, il faut incorporer le bloc de niveau inférieur à l'intérieur du bloc englobant, tel que « végétaux » et « bétail » dans le bloc « parcelle ».

Un connecteur est un élément structurel utilisé pour relier deux parties et indiquer leur interaction. Les connecteurs permettent de relier finement les parties à travers des ports. Les multiplicités apparaissent aux extrémités d'un connecteur. Elles décrivent le nombre d'instances qui peuvent être mises en relation par le biais de liens décrits par le connecteur. De manière générale, une association (e.g. une agrégation ou une composition) permet de relier des blocs, un connecteur ou des parties tandis qu’un lien permet de relier des instances. Le diagramme de bloc interne permet également de décrire la logique de connexion, de services et de flots entre les blocs, grâce au concept de port. Les ports peuvent être de deux natures :

 Flux ou « flow port », qui autorise la circulation de flux physiques (matière, énergie ou information) entre les blocs. La nature du flux peut être de n'importe quel type : flots de données échantillonnées, signal physique, mais aussi énergie, ou encore fluide ; par exemple des effluents, de l’eau, etc.

 Port standard, qui permet la description de services logiques entre les blocs, au moyen d'interfaces regroupant des opérations (par exemple des commandes venant d’un agent).

Les « flow ports » sont soit composites (agrégation de flux de natures différentes comme par exemple l’épandage en surface), soit atomiques (un seul flux ; par exemple de l’eau pour l’irrigation). La direction du flux est indiquée par une flèche à l'intérieur du carré représentant le port. Les ports standards sont représentés par de simples carrés. Il est possible de typer les

49

« flow ports » par un bloc, un « value type » ou un signal, représentant le type d'élément pouvant circuler en entrée ou en sortie du port. Plusieurs ports peuvent avoir le même type. Les éléments de flot (« item flows ») permettent de décrire ce qui circule réellement sur les connecteurs alors que les « flow ports » définissent simplement la nature de ce qui peut circuler. Quand un point d'interaction a une interface complexe avec plusieurs flux, le « flow port » correspondant doit être modélisé comme un « flow port » composite (ou non atomique). Dans ce cas, le port doit être typé par une spécification de flux (« flow specification »), définie dans un diagramme de définition de bloc. Elle inclut plusieurs propriétés de flux, chacune ayant un nom, un type et une direction (« in », « out » ou « inout ») - voir les définitions des « flow specification » pour l’épandage en surface et l’irrigation.

Un « flow port » composite est représenté par deux crochets se faisant face, dessinés à l'intérieur du symbole du port. Quand deux parties interagissent, elles échangent souvent les mêmes flux mais avec des directions opposées. Plutôt que de créer une deuxième « flow specification » en inversant toutes les directions des propriétés, SysML permet de réutiliser la même spécification en indiquant simplement que le deuxième « flow port » est conjugué. Les ports conjugués sont représentés graphiquement en inversant les couleurs (crochets blancs sur fond noir) - voir la définition de la « flow specification » pour l’épandage en surface.

Les interfaces sont des regroupements cohérents d’opérations placés sur des ports. Graphiquement, une interface est représentée comme un bloc avec le mot-clé «interface» ou le symbole d'un cercle dans le coin supérieur droit. Les deux types d’indication d'interfaces placées sur un port sont les interfaces fournies (« provided interface »), qui spécifient les opérations que le bloc fournit, et les interfaces requises (« required interface »), qui spécifient les opérations dont le bloc a besoin pour réaliser son comportement. II est possible de préciser à quel port standard est rattachée chaque interface. Un même port peut posséder plusieurs interfaces requises ou fournies (par exemple pour distinguer plusieurs classes de fonctionnalités). Plusieurs ports peuvent être reliés aux mêmes interfaces. Voir l’exemple avec des interfaces de données et de commande entre une personne (l’exploitant agricole) et les machines d’irrigation des parcelles.

50

Figure 7 : exemple de diagramme de bloc interne modélisant un agrosystème

2.3.4 Modélisation des relations numériques et des contraintes sur les valeurs