Modèle de composition

18 le métamodèle UML 2 ne prend pas en charge la navigation à des niveaux plus profonds que deux. Ceci est abordé dans une extension d`UML 2 pour l`ingénierie des systèmes [10] en étendant les extrémités du connecteur pour faire référence à une liste ordonnée de propriétés de longueur illimitée. Cependant, deux niveaux de navigation sont généralement suffisants si les associations sont modélisées comme ayant une structure composite [11]. Malheureusement, le métamodèle UML 2 ne prend pas en charge cela non plus, car il ne modéle pas la navigation à partir de liens (instances d`associations) vers les objets à la fin des liens comme ownedAttribute. Les associations structurées sont utiles dans de nombreuses applications, par exemple, les téléphones communiquant sur un réseau complexe d`objets et d`associations qui sont contenus dans une association unique entre les téléphones. Ils permettent également une unification des objets et des associations en fonction du nombre de connecteurs contenus qui se réfèrent à l`extérieur du composite, zéro pour les objets, plus de zéro pour les associations [11]. Ceci sera abordé dans une révision d`UML ou dans l`extension de l`ingénierie des systèmes. 6 Cependant, les liens de l`Association des puissances abstraites peuvent encore être lus. Cela préserve la substituabilité. Par exemple, supposons qu`un programme généré à partir de ce modèle fasse référence à une variable avec le type PowerSource, en comprenant qu`il s`agissait en fait d`une instance de CarEngine ou d`un BoatEngine lors de l`exécution.

Le programme peut lire l`Association de l`émetteur sur la variable, parce que c`est la même chose sur tous les sous-types, mais ne peut pas le modifier, car le sous-type spécifique n`est pas connu au moment de la programmation. Les structures composites UML 2 ajoutent de nouveaux concepts et un nouveau diagramme à la modélisation de classe conventionnelle [1]. Pour justifier cela, il est important de montrer que les techniques existantes ne sont pas adéquates. La section 2 démontre quelques difficultés majeures dans l`utilisation du modèle de composition UML 1. x sur un exemple simple. Il est possible avec un effort significatif pour obtenir le même effet que la composition UML 2 avec UML 1. x construit, mais l`étendue de l`effort justifie les nouvelles fonctionnalités. L`affichage d`un mappage de nouvelles constructions existantes garantit également que les nouveaux sont bien compris. Pour appliquer les règles ci-dessus, le modèle doit fournir un moyen d`identifier les objets contenus par les voitures et les bateaux individuels, de sorte que le moteur dans une voiture peut être distingué du moteur dans un autre, et les roues avant distinguées des roues arrière, et ainsi de suite. Ceci se fait par des extrémités d`association, qui peuvent représenter la navigation (mappages) des voitures individuelles et des bateaux aux objets particuliers qu`ils contiennent. Par exemple, la figure 8 élabore la figure 1 et les parties supérieures de la figure 4 et de la figure 5, pour définir l`Association termine E, P, avant et arrière. La propriété de sous-ensembles sur les extrémités d`association est une autre capacité de spécialisation d`association dans UML 2.

Il indique que l`Association est spécialisée et renommée à cette fin, mais ne restreint pas l`Association héritée à la classe à cette fin (comparer aux redifines).